import type { Options, DrilldownOptions, SeriesLegendItemClickCallbackFunction } from '@sisense/sisense-charts'; import { TFunction } from '@sisense/sdk-common'; import { ChartData } from '../chart-data/types'; import { ChartDesignOptions } from './translations/types'; import { LegendSettings } from './translations/legend-section'; import { DataLabelsSettings } from './translations/value-label-section'; import { MarkerSettings } from './translations/marker-section'; import { AxisSettings } from './translations/axis-section'; import { HighchartsType, HighchartsSeriesValues } from './translations/translations-to-highcharts'; import { TooltipSettings } from './tooltip'; import { PieOptions } from './translations/pie-plot-options'; import { FunnelOptions } from './translations/funnel-plot-options'; import { ChartType, OptionsWithAlerts, CompleteThemeSettings, ChartStyleOptions, HighchartsSelectEvent } from '../types'; import { ChartDataOptionsInternal } from '../chart-data-options/types'; import { ScatterBubbleOptions } from './translations/scatter-plot-options'; /** * Highcharts options * * @internal */ export type HighchartsOptions = Pick; /** * Convert intermediate chart data, data options, and design options * into pure highcharts config data. * * @param chartData - the data for the chart in an intermediate format * @param chartType - * @param chartDesignOptions - * @param dataOptions - * @param translate - translation function * @param themeSettings - * @param dateFormatter */ export declare const highchartsOptionsService: (chartData: ChartData, chartType: ChartType, chartDesignOptions: ChartDesignOptions, dataOptions: ChartDataOptionsInternal, translate: TFunction, themeSettings?: CompleteThemeSettings, dateFormatter?: ((date: Date, format: string) => string) | undefined) => OptionsWithAlerts; export type SeriesType = HighchartsSeriesValues & { index?: number; animation?: boolean; showInNavigator?: boolean; showInLegend?: boolean; stickyTracking?: boolean; boostThreshold?: number; turboThreshold?: number; color?: string; yAxis?: number; marker?: MarkerSettings; type?: string; id?: string; medianWidth?: number; maxPointWidth?: number; minPointWidth?: number; whiskerWidth?: number; whiskerLength?: number | string; fillOpacity?: number; strokeOpacity?: number; enableMouseTracking?: boolean; legendIndex?: number; dashStyle?: string; lineWidth?: number; zIndex?: number; keys?: string[]; nullColor?: string; borderWidth?: number; borderColor?: string; colsize?: number; rowsize?: number; }; type ChartPlotOptions = { dataLabels?: DataLabelsSettings; groupPadding?: number; pointPadding?: number; pointPlacement?: null; animation?: boolean; shadow?: boolean; marker?: MarkerSettings; borderWidth?: number; className?: string; events?: { legendItemClick?: SeriesLegendItemClickCallbackFunction; }; states?: { inactive?: { enabled?: boolean; opacity?: number; }; }; tooltip?: TooltipSettings; }; export type Stacking = 'normal' | 'percent'; export type PlotOptions = { series: { lineWidth?: number; dataLabels?: DataLabelsSettings; marker?: MarkerSettings; stacking?: Stacking; stickyTracking?: boolean; groupPadding?: number; pointPadding?: number; grouping?: boolean; states?: { select?: { color?: string | null; opacity?: number; borderColor?: string; }; }; allowPointSelect?: boolean; boostThreshold?: number; turboThreshold?: number; softThreshold?: boolean; fillOpacity?: number; connectNulls?: boolean; animation?: { duration?: number; }; }; line?: ChartPlotOptions; area?: ChartPlotOptions; bar?: ChartPlotOptions; column?: ChartPlotOptions; pie?: PieOptions; funnel?: FunnelOptions; bubble?: ScatterBubbleOptions; sunburst?: ChartPlotOptions; boxplot?: ChartPlotOptions; scatter?: ChartPlotOptions; arearange?: ChartPlotOptions; heatmap?: ChartPlotOptions; }; /** * Highcharts options internal */ export type HighchartsOptionsInternal = { chart: { type: HighchartsType; renderTo?: string; events?: { load?: () => void; redraw?: () => void; selection?: (nativeEvent: HighchartsSelectEvent) => void; }; spacing?: number[]; marginTop?: number; alignTicks?: boolean; polar: boolean; zoomType?: 'x' | 'y'; scrollablePlotArea?: { minWidth?: number; scrollPositionX?: number; }; animation?: { duration?: number; }; zooming?: { type: string; }; plotBorderWidth?: number; backgroundColor?: string; marginBottom?: number; marginLeft?: number; marginRight?: number; width?: number; height?: number; }; title?: { text: string | null; }; subtitle?: { text: string | null; }; series: SeriesType[]; xAxis?: AxisSettings[]; yAxis?: AxisSettings[]; legend?: LegendSettings; plotOptions?: PlotOptions; navigator?: Navigator | { enabled: boolean; series?: { type: ChartType; }; }; tooltip?: TooltipSettings; boost?: { useGPUTranslations: boolean; usePreAllocated: boolean; }; credits?: { enabled: boolean; }; exporting?: { enabled: boolean; }; drilldown?: DrilldownOptions; accessibility?: { enabled?: boolean; landmarkVerbosity?: 'one' | 'all'; }; colorAxis?: { min?: number; max?: number; stops?: [number, string][]; labels?: { format: string; }; }; }; type Navigator = { series: { type: HighchartsType; dataGrouping: { enabled: boolean; }; color?: string; }; enabled: boolean; margin: number; height: number; xAxis: AxisSettings; handles: { symbols?: string[]; backgroundColor?: string; borderColor?: string; }; maskInside: boolean; maskFill: string; outlineColor: string; outlineWidth: number; threshold?: number; tooltipFormatter?: (min: number, max: number) => { left: string; right: string; }; }; declare const DEFAULT_STYLE_OPTIONS: ChartStyleOptions; /** * Returns default style options, which can be used as base for custom style options. * * @returns Style options object */ export declare const getDefaultStyleOptions: () => typeof DEFAULT_STYLE_OPTIONS; export {}; //# sourceMappingURL=chart-options-service.d.ts.map