UNPKG

ag-charts-types

Version:

Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue

81 lines (80 loc) 3.61 kB
import type { AgAxisLabelFormatterParams } from '../../chart/axisOptions'; import type { Formatter } from '../../chart/callbackOptions'; import type { AgSeriesListeners } from '../../chart/eventOptions'; import type { CssColor, Degree, FontFamily, FontSize, FontStyle, FontWeight, InteractionRange, PixelSize } from '../../chart/types'; import type { AgSeriesHighlightStyle } from '../../series/seriesOptions'; export interface GaugeDatum { value: number; segmentStart: number; segmentEnd: number; } export interface AgBaseGaugeThemeableOptions { /** The cursor to use for the gauge. This config is identical to the CSS `cursor` property. */ cursor?: string; /** Configuration for marker and series highlighting when a series or legend item is hovered over. */ highlightStyle?: AgSeriesHighlightStyle; /** Range from a node that a click triggers the listener. */ nodeClickRange?: InteractionRange; /** A map of event names to event listeners. */ listeners?: AgSeriesListeners<GaugeDatum>; } export interface AgGaugeScaleLabel { /** Set to `false` to hide the scale 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 */ fontFamily?: FontFamily; /** Padding in pixels between the scale label and the tick. */ spacing?: PixelSize; /** The colour to use for the labels */ color?: CssColor; /** The rotation of the scale labels in degrees. */ rotation?: Degree; /** Avoid scale label collision by automatically reducing the number of ticks displayed. If set to `false`, scale labels may collide. */ avoidCollisions?: boolean; /** Minimum gap in pixels between the scale labels before being removed to avoid collisions. */ minSpacing?: PixelSize; /** Format string used when rendering labels. */ format?: string; /** Function used to render scale labels. If `value` is a number, `fractionDigits` will also be provided, which indicates the number of fractional digits used in the step between ticks; for example, a tick step of `0.0005` would have `fractionDigits` set to `4` */ formatter?: Formatter<AgAxisLabelFormatterParams>; } export interface AgGaugeSegmentationInterval { /** The segmentation interval. If the configured interval results in too many items given the chart size, it will be ignored. */ step?: number; /** Array of values for specified intervals along the gauge. */ values?: number[]; /** Number of evenly-divided segments in the gauge. */ count?: number; } export interface AgGaugeSegmentation { /** Enable segmentation. */ enabled?: boolean; /** Configuration for the segmentation. */ interval?: AgGaugeSegmentationInterval; /** The spacing between segments. */ spacing?: number; } export type AgGaugeFillMode = 'continuous' | 'discrete'; export type AgGaugeCornerMode = 'container' | 'item'; export interface AgGaugeColorStop { /** Colour of this category. */ color?: string; /** Stop value of this category. Defaults the maximum value if unset. */ stop?: number; } export interface FillsOptions { /** Configuration for two or more colours, and the values they are rendered at. */ fills?: AgGaugeColorStop[]; /** * Configuration the fills should be rendered. * * Default: `continuous` **/ fillMode?: AgGaugeFillMode; }