import type ColorType from '../Color/ColorType'; import type DashStyleValue from '../Renderer/DashStyleValue'; import type { DeepPartial } from '../../Shared/Types'; import type { PointMarkerOptions } from './PointOptions'; import type { SeriesOptions, SeriesStateHoverHaloOptions } from './SeriesOptions'; import type { AnimationOptions } from '../Animation/AnimationOptions'; export interface StateClassWithOptions { } export type StateGenericOptions = (DeepPartial>); export interface StateOptionsBase { animation?: (boolean | DeepPartial); borderColor?: ColorType; color?: ColorType; dashStyle?: DashStyleValue; enabled?: boolean; fillColor?: ColorType; halo?: (boolean | SeriesStateHoverHaloOptions); lineColor?: ColorType; lineWidthPlus?: number; } export interface StateHoverOptions extends StateOptionsBase { } export interface StateInactiveOptions extends StateOptionsBase { } export interface StateNormalOptions extends StateOptionsBase { /** * General point marker's state options can also be disabled through * series.options.marker.enabled. */ enabled?: StateOptionsBase['enabled']; } export interface StateSelectOptions extends StateHoverOptions { } export interface StatesOptions { hover?: StateHoverOptions; inactive?: StateInactiveOptions; normal?: StateNormalOptions; select?: StateSelectOptions; } /** * Possible key values for the series state options. */ export type StatesOptionsKey = ('' | keyof StatesOptions); /** * Possible key values for the point state options. * * @typedef {"hover"|"inactive"|"normal"|"select"} Highcharts.PointStateValue */ export type PointStateValue = StatesOptionsKey; export default StatesOptions;