highcharts
Version:
JavaScript charting framework
342 lines (341 loc) • 12.4 kB
TypeScript
/*!*
*
* Copyright (c) Highsoft AS. All rights reserved.
*
*!*/
import * as Highcharts from "../highcharts.src";
declare module "../highcharts.src" {
/**
* (Highcharts) Point accessibility options for a series.
*/
interface PlotSankeyAccessibilityPointOptions {
/**
* (Highcharts) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts) Formatter function to determine the date/time format
* used with points on datetime axes when describing them to screen
* reader users. Receives one argument, `point`, referring to the point
* to describe. Should return a date format string compatible with
* dateFormat.
*/
dateFormatter?: Highcharts.ScreenReaderFormatterCallbackFunction<Highcharts.Point>;
/**
* (Highcharts) Whether or not to describe points with the value `null`
* to assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts) Formatter function to use instead of the default for
* point descriptions. Same as
* `accessibility.point.descriptionFormatter`, but applies to a series
* instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead
* if possible, as default functionality such as describing annotations
* will be preserved.
*/
descriptionFormatter?: Highcharts.ScreenReaderFormatterCallbackFunction<Highcharts.Point>;
/**
* (Highcharts) Decimals to use for the values in the point
* descriptions. Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts) Format to use for describing the values of data points
* to assistive technology - including screen readers. The point context
* is available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added
* in `point.accessibility.description` is added by default if relevant.
* To override this, use the accessibility.point.descriptionFormatter
* option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts) Prefix to add to the values in the point descriptions.
* Uses tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts) Suffix to add to the values in the point descriptions.
* Uses tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Gantt) Styles for the series label. The color
* defaults to the series color, or a contrast color if `onArea`.
*/
interface PlotSankeyLabelStyleOptions {
fontSize?: (number|string);
}
/**
* (Highcharts) Set options on specific levels. Takes precedence over series
* options, but not node and link options.
*/
interface PlotSankeyLevelsOptions {
/**
* (Highcharts) Can set `borderColor` on all nodes which lay on the same
* level.
*/
borderColor?: Highcharts.ColorString;
/**
* (Highcharts) Can set `borderWidth` on all nodes which lay on the same
* level.
*/
borderWidth?: number;
/**
* (Highcharts) Can set `color` on all nodes which lay on the same
* level.
*/
color?: (Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject);
/**
* (Highcharts) Can set `colorByPoint` on all nodes which lay on the
* same level.
*/
colorByPoint?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
* points which lay on the same level.
*/
dataLabels?: (Highcharts.SeriesSankeyDataLabelsOptionsObject|Array<Highcharts.SeriesSankeyDataLabelsOptionsObject>);
/**
* (Highcharts) Decides which level takes effect from the options set in
* the levels object.
*/
level?: number;
/**
* (Highcharts) Can set `linkOpacity` on all points which lay on the
* same level.
*/
linkOpacity?: number;
/**
* (Highcharts) Can set `states` on all nodes and points which lay on
* the same level.
*/
states?: Highcharts.SeriesStatesOptionsObject;
}
/**
* (Highcharts) Animation when not hovering over the marker.
*/
interface PlotSankeyLevelsStatesInactiveAnimationOptions {
duration?: number;
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
interface PlotSankeyOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
interface PlotSankeyOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position
* with new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series
* is displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series
* is displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts, Highstock) Animation setting for hovering the graph in
* line-type series.
*/
interface PlotSankeyStatesHoverAnimationOptions {
/**
* (Highcharts, Highstock) The duration of the hover animation in
* milliseconds. By default the hover state animates quickly in, and
* slowly back to normal.
*/
duration?: number;
}
/**
* (Highcharts, Highstock) Animation setting for hovering the graph in
* line-type series.
*/
interface PlotSankeyStatesSelectAnimationOptions {
/**
* (Highcharts, Highstock) The duration of the hover animation in
* milliseconds. By default the hover state animates quickly in, and
* slowly back to normal.
*/
duration?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
interface SeriesSankeyNodesDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts) A `sankey` series. If the type option is not specified, it
* is inherited from chart.type.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `sankey` series are defined in plotOptions.sankey.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*
* **TypeScript:**
*
* - type option should always be set, otherwise a broad set of unsupported
* options is allowed.
*
* - when accessing an array of series, the combined set of all series types
* is represented by Highcharts.SeriesOptionsType . Narrowing down to the
* specific type can be done by checking the `type` property. (see online
* documentation for example)
*
* You have to extend the `SeriesSankeyOptions` via an interface to allow
* custom properties: ``` declare interface SeriesSankeyOptions {
* customProperty: string; }
*
*/
interface SeriesSankeyOptions extends Highcharts.PlotSankeyOptions, Highcharts.SeriesOptions {
/**
* Not available
*/
borderRadius?: undefined;
/**
* (Highcharts) An array of data points for the series. For the `sankey`
* series type, points can be given in the following way:
*
* An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option
* is not available. (see online documentation for example)
*
* When you provide the data as tuples, the keys option has to be set
* as well. (see online documentation for example)
*/
data?: (Array<Array<(string|number)>>|Array<Highcharts.SeriesSankeyPointOptionsObject>);
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* Not available
*/
depth?: undefined;
/**
* Not available
*/
edgeColor?: undefined;
/**
* Not available
*/
edgeWidth?: undefined;
/**
* Not available
*/
grouping?: undefined;
/**
* Not available
*/
groupPadding?: undefined;
/**
* Not available
*/
groupZPadding?: undefined;
/**
* Not available
*/
maxPointWidth?: undefined;
/**
* (Highcharts) A collection of options for the individual nodes. The
* nodes in a sankey diagram are auto-generated instances of
* `Highcharts.Point`, but options can be applied here and linked by the
* `id`.
*/
nodes?: Array<Highcharts.SeriesSankeyNodesOptionsObject>;
/**
* Not available
*/
pointPadding?: undefined;
/**
* Not available
*/
pointWidth?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects
* from unknown sources.
*/
type: "sankey";
}
}