import type { AgAreaSeriesOptions, AgAreaSeriesThemeableOptions } from '../series/cartesian/areaOptions'; import type { AgBarSeriesOptions, AgBarSeriesThemeableOptions } from '../series/cartesian/barOptions'; import type { AgBoxPlotSeriesOptions, AgBoxPlotSeriesThemeableOptions } from '../series/cartesian/boxPlotOptions'; import type { AgBubbleSeriesOptions, AgBubbleSeriesThemeableOptions } from '../series/cartesian/bubbleOptions'; import type { AgCandlestickSeriesOptions, AgCandlestickSeriesThemeableOptions } from '../series/cartesian/candlestickOptions'; import type { Padding } from '../series/cartesian/commonOptions'; import type { AgHeatmapSeriesOptions, AgHeatmapSeriesThemeableOptions } from '../series/cartesian/heatmapOptions'; import type { AgHistogramSeriesOptions, AgHistogramSeriesThemeableOptions } from '../series/cartesian/histogramOptions'; import type { AgLineSeriesOptions, AgLineSeriesThemeableOptions } from '../series/cartesian/lineOptions'; import type { AgOhlcSeriesOptions, AgOhlcSeriesThemeableOptions } from '../series/cartesian/ohlcOptions'; import type { AgRangeAreaSeriesOptions, AgRangeAreaSeriesThemeableOptions } from '../series/cartesian/rangeAreaOptions'; import type { AgRangeBarSeriesOptions, AgRangeBarSeriesThemeableOptions } from '../series/cartesian/rangeBarOptions'; import type { AgScatterSeriesOptions, AgScatterSeriesThemeableOptions } from '../series/cartesian/scatterOptions'; import type { AgWaterfallSeriesOptions, AgWaterfallSeriesThemeableOptions } from '../series/cartesian/waterfallOptions'; import type { AgAxisLabelFormatterParams } from './axisOptions'; import type { RichFormatter } from './callbackOptions'; import type { AgCssColorOrRef } from './themeParamsOptions'; import type { ContextDefault, CssColor, DatumDefault, FontFamilyFull, FontSize, FontStyle, FontWeight, Opacity, PixelSize } from './types'; type SharedProperties = { [K in keyof A & keyof B as A[K] extends B[K] ? (B[K] extends A[K] ? K : never) : never]: A[K]; }; export interface AgNavigatorMiniChartIntervalOptions { /** Maximum gap in pixels between labels. */ minSpacing?: PixelSize; /** Maximum gap in pixels between labels. */ maxSpacing?: PixelSize; /** Array of values in axis units to display as labels along the axis. The values in this array must be compatible with the axis type. */ values?: any[]; /** The step value between labels, specified as a number or time interval. If the configured interval results in too many labels given the chart size, it will be ignored. */ step?: number; } export interface AgNavigatorMiniChartLabelOptions { /** Configuration for interval between the Mini Chart's axis labels. */ interval?: AgNavigatorMiniChartIntervalOptions; /** Set to `false` to hide the axis labels. */ enabled?: boolean; /** The font style to use for the labels. */ fontStyle?: FontStyle; /** The font weight to use for the labels. */ fontWeight?: FontWeight; /** The font size in pixels to use for the labels. */ fontSize?: FontSize; /** The font family to use for the labels. A single family name, or an array of names used as fallbacks. */ fontFamily?: FontFamilyFull; /** Spacing in pixels between the axis labels and the Mini Chart. */ spacing?: PixelSize; /** The colour to use for the labels. A colour string, or a theme-colour reference object. */ color?: AgCssColorOrRef; /** Avoid axis label collision by automatically reducing the number of labels displayed. If set to `false`, axis labels may collide. */ avoidCollisions?: boolean; /** Format string used when rendering labels. */ format?: string; /** Function used to render axis labels. If `value` is a number, `fractionDigits` will also be provided, which indicates the number of fractional digits used in the step between intervals; for example, a tick step of `0.0005` would have `fractionDigits` set to `4`. */ formatter?: RichFormatter>; } export type CommonIgnoredProperties = 'context' | 'cursor' | 'highlight' | 'highlightStyle' | 'listeners' | 'nodeClickRange' | 'showInLegend' | 'showInMiniChart' | 'tooltip' | 'visible' | 'xName' | 'yName'; export type BarIgnoredProperties = CommonIgnoredProperties | 'errorBar' | 'label' | 'legendItemName' | 'direction'; export type BoxPlotIgnoredProperties = CommonIgnoredProperties | 'direction' | 'legendItemName' | 'minName' | 'q1Name' | 'medianName' | 'q3Name' | 'maxName'; export type BubbleIgnoredProperties = CommonIgnoredProperties | 'title' | 'label' | 'labelKey' | 'labelName' | 'sizeName'; export type HeatmapIgnoredProperties = CommonIgnoredProperties | 'title' | 'label' | 'colorName' | 'textAlign' | 'verticalAlign' | 'itemPadding'; export type HistogramIgnoredProperties = CommonIgnoredProperties | 'label'; export type LineIgnoredProperties = CommonIgnoredProperties | 'errorBar' | 'title' | 'label'; export type RangeAreaIgnoredProperties = CommonIgnoredProperties | 'label' | 'yLowName' | 'yHighName'; export type RangeBarIgnoredProperties = CommonIgnoredProperties | 'label' | 'direction' | 'yLowName' | 'yHighName'; export type ScatterIgnoredProperties = CommonIgnoredProperties | 'errorBar' | 'title' | 'label' | 'labelKey' | 'labelName'; export type WaterfallIgnoredProperties = CommonIgnoredProperties | 'direction'; export interface AgLineMiniChartSeriesOptions extends Partial, LineIgnoredProperties>> { } export interface AgScatterMiniChartSeriesOptions extends Partial, ScatterIgnoredProperties>> { } export interface AgBubbleMiniChartSeriesOptions extends Partial, BubbleIgnoredProperties>> { } export interface AgAreaMiniChartSeriesOptions extends Partial, CommonIgnoredProperties>> { } export interface AgBarMiniChartSeriesOptions extends Partial, BarIgnoredProperties>> { } export interface AgBoxPlotMiniChartSeriesOptions extends Partial, BoxPlotIgnoredProperties>> { } export interface AgHistogramMiniChartSeriesOptions extends Partial, HistogramIgnoredProperties>> { } export interface AgHeatmapMiniChartSeriesOptions extends Partial, HeatmapIgnoredProperties>> { } export interface AgWaterfallMiniChartSeriesOptions extends Partial, WaterfallIgnoredProperties>> { } export interface AgRangeBarMiniChartSeriesOptions extends Partial, RangeBarIgnoredProperties>> { } export interface AgRangeAreaMiniChartSeriesOptions extends Partial, RangeAreaIgnoredProperties>> { } export interface AgCandlestickMiniChartSeriesOptions extends Partial, CommonIgnoredProperties>> { } export interface AgOhlcMiniChartSeriesOptions extends Partial, CommonIgnoredProperties>> { } export type AgMiniChartSeriesOptions = AgLineMiniChartSeriesOptions | AgScatterMiniChartSeriesOptions | AgBubbleMiniChartSeriesOptions | AgAreaMiniChartSeriesOptions | AgBarMiniChartSeriesOptions | AgBoxPlotMiniChartSeriesOptions | AgHistogramMiniChartSeriesOptions | AgHeatmapMiniChartSeriesOptions | AgWaterfallMiniChartSeriesOptions | AgRangeBarMiniChartSeriesOptions | AgRangeAreaMiniChartSeriesOptions | AgCandlestickMiniChartSeriesOptions | AgOhlcMiniChartSeriesOptions; export type AgMiniChartSeriesThemeableOptions = SharedProperties, AgLineSeriesThemeableOptions> | SharedProperties, AgScatterSeriesThemeableOptions> | SharedProperties, AgBubbleSeriesThemeableOptions> | SharedProperties, AgAreaSeriesThemeableOptions> | SharedProperties, AgBarSeriesThemeableOptions> | SharedProperties, AgBoxPlotSeriesThemeableOptions> | SharedProperties, AgHistogramSeriesThemeableOptions> | SharedProperties, AgHeatmapSeriesThemeableOptions> | SharedProperties, AgWaterfallSeriesThemeableOptions> | SharedProperties, AgRangeBarSeriesThemeableOptions> | SharedProperties, AgRangeAreaSeriesThemeableOptions> | SharedProperties, AgCandlestickSeriesThemeableOptions> | SharedProperties, AgOhlcSeriesThemeableOptions>; export interface AgNavigatorMiniChartOptions { /** Whether to show a Mini Chart in the Navigator. */ enabled?: boolean; /** Override series used in Mini Chart. */ series?: AgMiniChartSeriesOptions[]; /** Configuration for the Mini Chart's axis labels. */ label?: AgNavigatorMiniChartLabelOptions; /** Configuration for the padding inside the Mini Chart. A number applies uniform padding; an object sets each side. */ padding?: Padding; } export interface AgNavigatorMiniChartThemeableOptions { /** Whether to show a Mini Chart in the Navigator. */ enabled?: boolean; /** Override series used in Mini Chart. */ series?: AgMiniChartSeriesThemeableOptions; /** Configuration for the Mini Chart's axis labels. */ label?: AgNavigatorMiniChartLabelOptions; /** Configuration for the padding inside the Mini Chart. A number applies uniform padding; an object sets each side. */ padding?: Padding; } export interface AgNavigatorMaskOptions { /** The fill colour used by the mask. */ fill?: CssColor; /** The opacity of the mask's fill in the `[0, 1]` interval, where `0` is effectively no masking. */ fillOpacity?: Opacity; /** The stroke colour used by the mask. */ stroke?: CssColor; /** The stroke width used by the mask. */ strokeWidth?: PixelSize; } export interface AgNavigatorHandleOptions { /** The fill colour used by the handle. */ fill?: CssColor; /** The stroke colour used by the handle. */ stroke?: CssColor; /** The stroke width used by the handle. */ strokeWidth?: PixelSize; /** The width of the handle. */ width?: PixelSize; /** The height of the handle. */ height?: PixelSize; /** The corner radius of the handle. */ cornerRadius?: PixelSize; /** Whether to enable the grip dots. */ grip?: boolean; } export interface AgNavigatorOptions { /** Whether to show the Navigator. */ enabled?: boolean; /** The height of the Navigator. */ height?: PixelSize; /** The corner radius used by the Navigator. */ cornerRadius?: number; /** The distance between the Navigator and the bottom axis of the chart. */ spacing?: PixelSize; /** Configuration for the Navigator's visible range mask. */ mask?: AgNavigatorMaskOptions; /** Configuration for the Navigator's left handle. */ minHandle?: AgNavigatorHandleOptions; /** Configuration for the Navigator's right handle. */ maxHandle?: AgNavigatorHandleOptions; /** Mini Chart options. */ miniChart?: AgNavigatorMiniChartOptions; } export interface AgNavigatorThemeableOptions extends Omit, 'miniChart'> { /** Mini Chart options. */ miniChart?: AgNavigatorMiniChartThemeableOptions; } export {};