package.highcharts.d.ts Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of highcharts Show documentation
Show all versions of highcharts Show documentation
JavaScript charting framework
The newest version!
/*!*
*
* Copyright (c) Highsoft AS. All rights reserved.
*
*!*/
import "./options/abands";
import "./options/ad";
import "./options/ao";
import "./options/apo";
import "./options/arcdiagram";
import "./options/area";
import "./options/arearange";
import "./options/areaspline";
import "./options/areasplinerange";
import "./options/aroon";
import "./options/aroonoscillator";
import "./options/atr";
import "./options/bar";
import "./options/bb";
import "./options/bellcurve";
import "./options/boxplot";
import "./options/bubble";
import "./options/bullet";
import "./options/candlestick";
import "./options/cci";
import "./options/chaikin";
import "./options/cmf";
import "./options/cmo";
import "./options/column";
import "./options/columnpyramid";
import "./options/columnrange";
import "./options/cylinder";
import "./options/dema";
import "./options/dependencywheel";
import "./options/disparityindex";
import "./options/dmi";
import "./options/dpo";
import "./options/dumbbell";
import "./options/ema";
import "./options/errorbar";
import "./options/flags";
import "./options/flowmap";
import "./options/funnel";
import "./options/gantt";
import "./options/gauge";
import "./options/geoheatmap";
import "./options/heatmap";
import "./options/heikinashi";
import "./options/histogram";
import "./options/hlc";
import "./options/hollowcandlestick";
import "./options/ikh";
import "./options/item";
import "./options/keltnerchannels";
import "./options/klinger";
import "./options/line";
import "./options/linearregressionangle";
import "./options/linearregression";
import "./options/linearregressionintercept";
import "./options/linearregressionslope";
import "./options/lollipop";
import "./options/macd";
import "./options/map";
import "./options/mapbubble";
import "./options/mapline";
import "./options/mappoint";
import "./options/mfi";
import "./options/momentum";
import "./options/natr";
import "./options/networkgraph";
import "./options/obv";
import "./options/ohlc";
import "./options/organization";
import "./options/packedbubble";
import "./options/pareto";
import "./options/pc";
import "./options/pictorial";
import "./options/pie";
import "./options/pivotpoints";
import "./options/polygon";
import "./options/ppo";
import "./options/priceenvelopes";
import "./options/psar";
import "./options/pyramid";
import "./options/roc";
import "./options/rsi";
import "./options/sankey";
import "./options/scatter";
import "./options/series";
import "./options/slowstochastic";
import "./options/sma";
import "./options/solidgauge";
import "./options/spline";
import "./options/stochastic";
import "./options/streamgraph";
import "./options/sunburst";
import "./options/supertrend";
import "./options/tema";
import "./options/tiledwebmap";
import "./options/tilemap";
import "./options/timeline";
import "./options/treegraph";
import "./options/treemap";
import "./options/trendline";
import "./options/trix";
import "./options/variablepie";
import "./options/variwide";
import "./options/vbp";
import "./options/vector";
import "./options/venn";
import "./options/vwap";
import "./options/waterfall";
import "./options/williamsr";
import "./options/windbarb";
import "./options/wma";
import "./options/wordcloud";
import "./options/xrange";
import "./options/zigzag";
import * as globals from "./globals";
/**
* Formatter callback for the accessibility announcement.
*
* @param updatedSeries
* Array of all series that received updates. If an announcement is
* already queued, the series that received updates for that announcement
* are also included in this array.
*
* @param addedSeries
* This is provided if Highcharts.Chart#addSeries was called, and there
* is a new series. In that case, this argument is a reference to the new
* series.
*
* @param addedPoint
* This is provided if Highcharts.Series#addPoint was called, and there
* is a new point. In that case, this argument is a reference to the new
* point.
*
* @return The function should return a string with the text to announce to the
* user. Return empty string to not announce anything. Return `false` to
* use the default announcement format.
*/
export type AccessibilityAnnouncementFormatter = (updatedSeries: Array, addedSeries?: Series, addedPoint?: Point) => (false|string);
/**
* The horizontal alignment of an element.
*/
export type AlignValue = ("center"|"left"|"right");
/**
* Creates a frame for the animated SVG element.
*
* @param this
* The SVG element to animate.
*/
export type AnimationStepCallbackFunction = (this: SVGElement) => void;
/**
* Callback to modify annotation's positioner controls.
*/
export type AnnotationControlPointPositionerFunction = (this: AnnotationControlPoint, target: AnnotationControllable) => PositionObject;
/**
* Possible directions for draggable annotations. An empty string (`''`) makes
* the annotation undraggable.
*/
export type AnnotationDraggableValue = (''|'x'|'xy'|'y');
/**
* Callback function that returns the annotation shape point.
*
* @param annotation
* An annotation instance.
*
* @return Annotations shape point.
*/
export type AnnotationMockPointFunction = (annotation: Annotation) => AnnotationMockPointOptionsObject;
/**
* Shape point as string, object or function.
*/
export type AnnotationShapePointOptions = (string|AnnotationMockPointFunction|AnnotationMockPointOptionsObject);
export type AxisEventCallbackFunction = (this: Axis) => void;
export type AxisExtremesTriggerValue = ("navigator"|"pan"|"scrollbar"|"zoom"|"rangeSelectorButton"|"rangeSelectorInput"|"traverseUpButton");
export type AxisLabelsFormatterCallbackFunction = (this: AxisLabelsFormatterContextObject, ctx: AxisLabelsFormatterContextObject) => string;
/**
* Options for axes.
*/
export type AxisOptions = (XAxisOptions|YAxisOptions|ZAxisOptions);
/**
* Options for plot band labels on axes.
*/
export type AxisPlotBandsLabelOptions = (XAxisPlotBandsLabelOptions|YAxisPlotBandsLabelOptions|ZAxisPlotBandsLabelOptions);
/**
* Options for plot bands on axes.
*/
export type AxisPlotBandsOptions = (XAxisPlotBandsOptions|YAxisPlotBandsOptions|ZAxisPlotBandsOptions);
/**
* Options for plot line labels on axes.
*/
export type AxisPlotLinesLabelOptions = (XAxisPlotLinesLabelOptions|YAxisPlotLinesLabelOptions|ZAxisPlotLinesLabelOptions);
/**
* Options for plot lines on axes.
*/
export type AxisPlotLinesOptions = (XAxisPlotLinesOptions|YAxisPlotLinesOptions|ZAxisPlotLinesOptions);
export type AxisPointBreakEventCallbackFunction = (this: Axis, evt: AxisPointBreakEventObject) => void;
export type AxisSetExtremesEventCallbackFunction = (this: Axis, evt: AxisSetExtremesEventObject) => void;
export type AxisTickPositionerCallbackFunction = (this: Axis) => AxisTickPositionsArray;
export type AxisTitleAlignValue = ("high"|"low"|"middle");
export type AxisTitleOptions = (XAxisTitleOptions|YAxisTitleOptions|ZAxisTitleOptions);
export type AxisTypeValue = ("category"|"datetime"|"linear"|"logarithmic"|"treegrid");
/**
* Callback function to react on button clicks.
*
* @param event
* Event.
*
* @param options
* Breadcrumb options.
*
* @param e
* Event arguments.
*/
export type BreadcrumbsClickCallbackFunction = (event: Event, options: BreadcrumbOptions, e: Event) => void;
/**
* Callback function to format the breadcrumb text from scratch.
*
* @param event
* Event.
*
* @param options
* Breadcrumb options.
*
* @return Formatted text or false
*/
export type BreadcrumbsFormatterCallbackFunction = (event: Event, options: BreadcrumbOptions) => string;
export type BubbleSizeByValue = ("area"|"width");
export type ButtonRelativeToValue = ("plotBox"|"spacingBox");
/**
* Gets fired when a series is added to the chart after load time, using the
* `addSeries` method. Returning `false` prevents the series from being added.
*
* @param this
* The chart on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type ChartAddSeriesCallbackFunction = (this: Chart, event: ChartAddSeriesEventObject) => void;
/**
* Callback for chart constructors.
*
* @param chart
* Created chart.
*/
export type ChartCallbackFunction = (chart: Chart) => void;
/**
* Gets fired when clicking on the plot background.
*
* @param this
* The chart on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type ChartClickCallbackFunction = (this: Chart, event: PointerEventObject) => void;
/**
* Gets fired when the chart is finished loading.
*
* @param this
* The chart on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type ChartLoadCallbackFunction = (this: Chart, event: Event) => void;
/**
* Fires when the chart is redrawn, either after a call to `chart.redraw()` or
* after an axis, series or point is modified with the `redraw` option set to
* `true`.
*
* @param this
* The chart on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type ChartRedrawCallbackFunction = (this: Chart, event: Event) => void;
/**
* Gets fired after initial load of the chart (directly after the `load` event),
* and after each redraw (directly after the `redraw` event).
*
* @param this
* The chart on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type ChartRenderCallbackFunction = (this: Chart, event: Event) => void;
/**
* Gets fired when an area of the chart has been selected. The default action
* for the selection event is to zoom the chart to the selected area. It can be
* prevented by calling `event.preventDefault()` or return false.
*
* @param this
* The chart on which the event occurred.
*
* @param event
* Event informations
*
* @return Return false to prevent the default action, usually zoom.
*/
export type ChartSelectionCallbackFunction = (this: Chart, event: SelectEventObject) => (boolean|undefined);
/**
* A clipping rectangle that can be applied to one or more SVGElement instances.
* It is instantiated with the SVGRenderer#clipRect function and applied with
* the SVGElement#clip function.
*/
export type ClipRectElement = SVGElement;
/**
* Color axis types
*/
export type ColorAxisTypeValue = ("linear"|"logarithmic");
/**
* A valid color to be parsed and handled by Highcharts. Highcharts internally
* supports hex colors like `#ffffff`, rgb colors like `rgb(255,255,255)` and
* rgba colors like `rgba(255,255,255,1)`. Other colors may be supported by the
* browsers and displayed correctly, but Highcharts is not able to process them
* and apply concepts like opacity and brightening.
*/
export type ColorString = string;
/**
* A valid color type than can be parsed and handled by Highcharts. It can be a
* color string, a gradient object, or a pattern object.
*/
export type ColorType = (ColorString|GradientColorObject|PatternObject);
/**
* All possible cursor styles.
*/
export type CursorValue = ('alias'|'all-scroll'|'auto'|'cell'|'col-resize'|'context-menu'|'copy'|'crosshair'|'default'|'e-resize'|'ew-resize'|'grab'|'grabbing'|'help'|'move'|'n-resize'|'ne-resize'|
'nesw-resize'|'no-drop'|'none'|'not-allowed'|'ns-resize'|'nw-resize'|'nwse-resize'|'pointer'|'progress'|'row-resize'|'s-resize'|'se-resize'|'sw-resize'|'text'|'vertical-text'|'w-resize'|'wait'|
'zoom-in'|'zoom-out');
/**
* All possible dash styles.
*/
export type DashStyleValue = ('Dash'|'DashDot'|'Dot'|'LongDash'|'LongDashDot'|'LongDashDotDot'|'ShortDash'|'ShortDashDot'|'ShortDashDotDot'|'ShortDot'|'Solid');
/**
* Callback function to modify the CSV before parsing it by the data module.
*
* @param csv
* The CSV to modify.
*
* @return The CSV to parse.
*/
export type DataBeforeParseCallbackFunction = (csv: string) => string;
/**
* Callback function that gets called after parsing data.
*
* @param chartOptions
* The chart options that were used.
*/
export type DataCompleteCallbackFunction = (chartOptions: Options) => void;
/**
* The position of the point inside the group.
*/
export type DataGroupingAnchor = ("end"|"middle"|"start");
/**
* The position of the first or last point in the series inside the group.
*/
export type DataGroupingAnchorExtremes = ("end"|"middle"|"start"|"firstPoint"|"lastPoint");
export type DataGroupingApproximationValue = ("average"|"averages"|"close"|"high"|"low"|"open"|"sum");
/**
* Callback JavaScript function to format the data label as a string. Note that
* if a `format` is defined, the format takes precedence and the formatter is
* ignored.
*
* @param this
* Data label context to format
*
* @param options
* API options of the data label
*
* @return Formatted data label text
*/
export type DataLabelsFormatterCallbackFunction = (this: PointLabelObject, options: DataLabelsOptions) => (number|string|null|undefined);
/**
* Values for handling data labels that flow outside the plot area.
*/
export type DataLabelsOverflowValue = ("allow"|"justify");
/**
* Callback function to parse string representations of dates into JavaScript
* timestamps (milliseconds since 1.1.1970).
*
* @return Timestamp (milliseconds since 1.1.1970) as integer for Date class.
*/
export type DataParseDateCallbackFunction = (dateValue: string) => number;
/**
* Callback function to access the parsed columns, the two-dimensional input
* data array directly, before they are interpreted into series data and
* categories.
*
* @param columns
* The parsed columns by the data module.
*
* @return Return `false` to stop completion, or call `this.complete()` to
* continue async.
*/
export type DataParsedCallbackFunction = (columns: Array>) => (boolean|undefined);
/**
* Possible types for a data item in a column or row.
*/
export type DataValueType = (number|string|null);
/**
* Gets fired when a drilldown point is clicked, before the new series is added.
* Note that when clicking a category label to trigger multiple series
* drilldown, one `drilldown` event is triggered per point in the category.
*
* @param this
* The chart where the event occurs.
*
* @param e
* The drilldown event.
*/
export type DrilldownCallbackFunction = (this: Chart, e: DrilldownEventObject) => void;
/**
* This gets fired after all the series have been drilled up. This is especially
* usefull in a chart with multiple drilldown series.
*
* @param this
* The chart where the event occurs.
*
* @param e
* The final drillup event.
*/
export type DrillupAllCallbackFunction = (this: Chart, e: DrillupAllEventObject) => void;
/**
* Gets fired when drilling up from a drilldown series.
*
* @param this
* The chart where the event occurs.
*
* @param e
* The drillup event.
*/
export type DrillupCallbackFunction = (this: Chart, e: DrillupEventObject) => void;
/**
* The function callback to execute when the event is fired. The `this` context
* contains the instance, that fired the event.
*
* @param eventArguments
* Event arguments.
*/
export type EventCallbackFunction = (this: T, eventArguments?: (Event|Dictionary)) => (boolean|void);
/**
* Function callback to execute while data rows are processed for exporting.
* This allows the modification of data rows before processed into the final
* format.
*
* @param this
* Chart context where the event occurred.
*
* @param event
* Event object with data rows that can be modified.
*/
export type ExportDataCallbackFunction = (this: Chart, event: ExportDataEventObject) => void;
/**
* Gets fired after a chart is printed through the context menu item or the
* Chart.print method.
*
* @param this
* The chart on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type ExportingAfterPrintCallbackFunction = (this: Chart, event: Event) => void;
/**
* Gets fired before a chart is printed through the context menu item or the
* Chart.print method.
*
* @param this
* The chart on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type ExportingBeforePrintCallbackFunction = (this: Chart, event: Event) => void;
/**
* Function to call if the offline-exporting module fails to export a chart on
* the client side.
*
* @param options
* The exporting options.
*
* @param err
* The error from the module.
*/
export type ExportingErrorCallbackFunction = (options: ExportingOptions, err: Error) => void;
/**
* Possible MIME types for exporting.
*/
export type ExportingMimeTypeValue = ("application/pdf"|"image/jpeg"|"image/png"|"image/svg+xml");
export type FlagsShapeValue = ("circlepin"|"flag"|"squarepin");
/**
* Formats data as a string. Usually the data is accessible through the `this`
* keyword.
*
* @param this
* Context to format
*
* @return Formatted text
*/
export type FormatterCallbackFunction = (this: T) => string;
/**
* Gets fired when closing the fullscreen
*
* @param chart
* The chart on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type FullScreenfullscreenCloseCallbackFunction = (chart: Chart, event: Event) => void;
/**
* Gets fired when opening the fullscreen
*
* @param chart
* The chart on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type FullScreenfullscreenOpenCallbackFunction = (chart: Chart, event: Event) => void;
/**
* An object of key-value pairs for HTML attributes.
*/
export type HTMLAttributes = Dictionary<(boolean|number|string|Function)>;
/**
* An HTML DOM element. The type is a reference to the regular HTMLElement in
* the global scope.
*/
export type HTMLDOMElement = HTMLElement;
/**
* Gets fired when the legend item is clicked. The default action is to toggle
* the visibility of the series or point. This can be prevented by returning
* `false` or calling `event.preventDefault()`.
*
* @param this
* The legend on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type LegendItemClickCallbackFunction = (this: Legend, event: LegendItemClickEventObject) => void;
/**
* An array of longitude, latitude.
*/
export type LonLatArray = Array;
export type MapGeometryTypeValue = ("LineString"|"MultiLineString"|"MultiPolygon"|"Polygon");
/**
* Function callback when a cluster is clicked.
*
* @param this
* The point where the event occurred.
*
* @param event
* Event arguments.
*/
export type MarkerClusterDrillCallbackFunction = (this: Point, event: PointClickEventObject) => void;
/**
* Format a number and return a string based on input settings.
*
* @param number
* The input number to format.
*
* @param decimals
* The amount of decimals. A value of -1 preserves the amount in the
* input number.
*
* @param decimalPoint
* The decimal point, defaults to the one given in the lang options, or a
* dot.
*
* @param thousandsSep
* The thousands separator, defaults to the one given in the lang
* options, or a space character.
*
* @return The formatted number.
*/
export type NumberFormatterCallbackFunction = (number: number, decimals: number, decimalPoint?: string, thousandsSep?: string) => string;
/**
* The iterator callback.
*
* @param this
* The context.
*
* @param value
* The property value.
*
* @param key
* The property key.
*
* @param obj
* The object that objectEach is being applied to.
*/
export type ObjectEachCallbackFunction = (this: T, value: any, key: string, obj: any) => void;
export type OptionsAlgorithmValue = ("first"|"firstlast"|"last"|"middle"|"minmax");
export type OptionsApproximationValue = ("barnes-hut"|"none");
export type OptionsBoostBlendingValue = ("add"|"darken"|"multiply");
export type OptionsChartPanningTypeValue = ("x"|"xy"|"y");
export type OptionsChartZoomingTypeValue = ("x"|"xy"|"y");
export type OptionsColumnTypesValue = ("date"|"float"|"number"|"string");
export type OptionsCompareValue = ("percent"|"value");
export type OptionsDataClassColorValue = ("category"|"tween");
export type OptionsDateFormatValue = ("dd/mm/YY"|"dd/mm/YYYY"|"mm/dd/YY"|"mm/dd/YYYY"|"YYYY/mm/dd");
export type OptionsDropdownValue = ("always"|"never"|"responsive");
export type OptionsFindNearestPointByValue = ("x"|"xy");
export type OptionsGapUnitValue = ("relative"|"value");
export type OptionsGridLineInterpolationValue = ("circle"|"polygon");
export type OptionsHeaderShapeValue = ("callout"|"rect");
export type OptionsHLCPointValKeyValue = ("close"|"high"|"low");
export type OptionsIntegrationValue = ("euler"|"verlet");
export type OptionsKeyValue = ("alt"|"ctrl"|"meta"|"shift");
export type OptionsLandmarkVerbosityValue = ("all"|"disabled"|"one");
export type OptionsLayoutAlgorithmValue = ("squarified"|"strip"|"stripes"|"sliceAndDice");
export type OptionsLayoutStartingDirectionValue = ("horizontal"|"vertical");
export type OptionsLayoutValue = ("horizontal"|"proximate"|"vertical");
export type OptionsLegendSymbolValue = ("rectangle"|"areaMarker"|"lineMarker");
export type OptionsLinecapValue = ("round"|"square");
export type OptionsMapFunctionValue = ("linear"|"logarithmic");
export type OptionsMarkerEndValue = ("arrow"|"none");
export type OptionsMinorTickPositionValue = ("inside"|"outside");
export type OptionsModeValue = ("normal"|"serialize");
export type OptionsOnKeyValue = ("close"|"high"|"low"|"open"|"y");
export type OptionsOperatorValue = ("!="|"!=="|"=="|"==="|">"|">="|"<"|"<=");
export type OptionsOrderValue = ("sequential"|"simultaneous");
export type OptionsOverflowValue = ("allow"|"justify");
export type OptionsPanKeyValue = ("alt"|"ctrl"|"meta"|"shift");
export type OptionsPinchTypeValue = ("x"|"xy"|"y");
export type OptionsPlacementStrategyValue = ("center"|"random");
export type OptionsPointIntervalUnitValue = ("day"|"month"|"year");
export type OptionsPointValKeyValue = ("close"|"high"|"low"|"open");
export type OptionsPosition3dValue = ("chart"|"flap"|"offset"|"ortho");
export type OptionsRelativeToValue = ("mapBoundingBox"|"plotBox");
export type OptionsRotationModeValue = ("auto"|"circular"|"parallel"|"perpendicular");
export type OptionsRotationOriginValue = ("center"|"end"|"start");
export type OptionsSpiralValue = ("archimedean"|"rectangular"|"square");
export type OptionsStackingValue = ("normal"|"overlap"|"percent"|"stream");
export type OptionsStepValue = ("center"|"left"|"right");
export type OptionsTextAlignValue = ("center"|"left"|"right");
export type OptionsTickmarkPlacementValue = ("between"|"on");
export type OptionsTickPositionValue = ("inside"|"outside");
export type OptionsTypeValue = ("x"|"xy"|"y");
export type OptionsUnitsValue = ("percent"|"pixels");
export type OptionsUnitValue = ("percentage"|"pixels"|"weight");
export type OptionsValueMapFunctionValue = ("linear"|"logarithmic");
export type OptionsWithinValue = ("chart"|"series"|"xAxis"|"yAxis");
/**
* Indent translation value for the child nodes in an organization chart, when
* parent has `hanging` layout. Option can shrink nodes (for tight charts),
* translate children to the left, or render nodes directly under the parent.
*/
export type OrganizationHangingIndentTranslationValue = ("cumulative"|"inherit"|"shrink");
export type PaneBackgroundShapeValue = ("arc"|"circle"|"solid");
/**
* The default pathfinder algorithm to use for a chart. It is possible to define
* your own algorithms by adding them to the
* `Highcharts.Pathfinder.prototype.algorithms` object before the chart has been
* created.
*
* The default algorithms are as follows:
*
* `straight`: Draws a straight line between the connecting points. Does not
* avoid other points when drawing.
*
* `simpleConnect`: Finds a path between the points using right angles only.
* Takes only starting/ending points into account, and will not avoid other
* points.
*
* `fastAvoid`: Finds a path between the points using right angles only. Will
* attempt to avoid other points, but its focus is performance over accuracy.
* Works well with less dense datasets.
*/
export type PathfinderTypeValue = ("straight"|"fastAvoid"|"simpleConnect"|string);
/**
* Function callback when a series point is clicked. Return false to cancel the
* action.
*
* @param this
* The point where the event occurred.
*
* @param event
* Event arguments.
*/
export type PointClickCallbackFunction = (this: Point, event: PointClickEventObject) => void;
/**
* Function callback to execute while series points are dragged. Return false to
* stop the default drag action.
*
* @param this
* Point where the event occurred.
*
* @param event
* Event arguments.
*/
export type PointDragCallbackFunction = (this: Point, event: PointDragEventObject) => void;
/**
* Function callback to execute when a series point is dragged.
*
* @param this
* Point where the event occurred.
*
* @param event
* Event arguments.
*/
export type PointDragStartCallbackFunction = (this: Point, event: PointDragStartEventObject) => void;
/**
* Function callback to execute when series points are dropped.
*
* @param this
* Point where the event occurred.
*
* @param event
* Event arguments.
*/
export type PointDropCallbackFunction = (this: Point, event: PointDropEventObject) => void;
/**
* Gets fired when the legend item belonging to a point is clicked. The default
* action is to toggle the visibility of the point. This can be prevented by
* returning `false` or calling `event.preventDefault()`.
*
* **Note:** This option is deprecated in favor of
* Highcharts.LegendItemClickCallbackFunction.
*
* @param this
* The point on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type PointLegendItemClickCallbackFunction = (this: Point, event: PointLegendItemClickEventObject) => void;
/**
* Gets fired when the mouse leaves the area close to the point.
*
* @param this
* Point where the event occurred.
*
* @param event
* Event that occurred.
*/
export type PointMouseOutCallbackFunction = (this: Point, event: PointerEvent) => void;
/**
* Gets fired when the mouse enters the area close to the point.
*
* @param this
* Point where the event occurred.
*
* @param event
* Event that occurred.
*/
export type PointMouseOverCallbackFunction = (this: Point, event: Event) => void;
/**
* Possible option types for a data point. Use `null` to indicate a gap.
*/
export type PointOptionsType = (number|string|PointOptionsObject|Array<(number|string|null)>|null);
/**
* Gets fired when the point is removed using the `.remove()` method.
*
* @param this
* Point where the event occurred.
*
* @param event
* Event that occurred.
*/
export type PointRemoveCallbackFunction = (this: Point, event: Event) => void;
/**
* Gets fired when the point is selected either programmatically or following a
* click on the point.
*
* @param this
* Point where the event occurred.
*
* @param event
* Event that occurred.
*/
export type PointSelectCallbackFunction = (this: Point, event: PointInteractionEventObject) => void;
/**
* Possible key values for the point state options.
*/
export type PointStateValue = ("hover"|"inactive"|"normal"|"select");
/**
* Fires when the point is unselected either programmatically or following a
* click on the point.
*
* @param this
* Point where the event occurred.
*
* @param event
* Event that occurred.
*/
export type PointUnselectCallbackFunction = (this: Point, event: PointInteractionEventObject) => void;
/**
* Gets fired when the point is updated programmatically through the `.update()`
* method.
*
* @param this
* Point where the event occurred.
*
* @param event
* Event that occurred.
*/
export type PointUpdateCallbackFunction = (this: Point, event: PointUpdateEventObject) => void;
/**
* Define the time span for the button
*/
export type RangeSelectorButtonTypeValue = ("all"|"day"|"hour"|"millisecond"|"minute"|"month"|"second"|"week"|"year"|"ytd");
/**
* Callback function to react on button clicks.
*
* @param e
* Event arguments.
*
* @param Return
* false to cancel the default button event.
*/
export type RangeSelectorClickCallbackFunction = (e: Event, Return: (boolean|undefined)) => void;
/**
* Callback function to parse values entered in the input boxes and return a
* valid JavaScript time as milliseconds since 1970.
*
* @param value
* Input value to parse.
*
* @return Parsed JavaScript time value.
*/
export type RangeSelectorParseCallbackFunction = (value: string) => number;
/**
* If a number is given, it defines the pixel length. If a percentage string is
* given, like for example `'50%'`, the setting defines a length relative to a
* base size, for example the size of a container.
*/
export type RelativeSize = (number|string);
/**
* A callback function to gain complete control on when the responsive rule
* applies.
*
* @param this
* Chart context.
*
* @return Return `true` if it applies.
*/
export type ResponsiveCallbackFunction = (this: Chart) => boolean;
/**
* @param evt
* Mouse click event
*/
export type ScreenReaderClickCallbackFunction = (evt: MouseEvent) => void;
/**
* Creates a formatted string for the screen reader module.
*
* @param context
* Context to format
*
* @return Formatted string for the screen reader module.
*/
export type ScreenReaderFormatterCallbackFunction = (context: T) => string;
/**
* Function callback when a series has been animated.
*
* @param this
* The series where the event occurred.
*
* @param event
* Event arguments.
*/
export type SeriesAfterAnimateCallbackFunction = (this: Series, event: SeriesAfterAnimateEventObject) => void;
/**
* Function callback when the checkbox next to the series' name in the legend is
* clicked.
*
* @param this
* The series where the event occurred.
*
* @param event
* Event arguments.
*/
export type SeriesCheckboxClickCallbackFunction = (this: Series, event: SeriesCheckboxClickEventObject) => void;
/**
* Function callback when a series is clicked. Return false to cancel toogle
* actions.
*
* @param this
* The series where the event occurred.
*
* @param event
* Event arguments.
*/
export type SeriesClickCallbackFunction = (this: Series, event: SeriesClickEventObject) => void;
/**
* Gets fired when the series is hidden after chart generation time, either by
* clicking the legend item or by calling `.hide()`.
*
* @param this
* The series where the event occurred.
*
* @param event
* The event that occurred.
*/
export type SeriesHideCallbackFunction = (this: Series, event: Event) => void;
/**
* Gets fired when the legend item belonging to the series is clicked. The
* default action is to toggle the visibility of the series. This can be
* prevented by returning `false` or calling `event.preventDefault()`.
*
* **Note:** This option is deprecated in favor of
* Highcharts.LegendItemClickCallbackFunction.
*
* @param this
* The series where the event occurred.
*
* @param event
* The event that occurred.
*/
export type SeriesLegendItemClickCallbackFunction = (this: Series, event: SeriesLegendItemClickEventObject) => void;
/**
* The SVG value used for the `stroke-linecap` and `stroke-linejoin` of a line
* graph.
*/
export type SeriesLinecapValue = ("butt"|"round"|"square"|string);
/**
* Gets fired when the mouse leaves the graph.
*
* @param this
* Series where the event occurred.
*
* @param event
* Event that occurred.
*/
export type SeriesMouseOutCallbackFunction = (this: Series, event: PointerEvent) => void;
/**
* Gets fired when the mouse enters the graph.
*
* @param this
* Series where the event occurred.
*
* @param event
* Event that occurred.
*/
export type SeriesMouseOverCallbackFunction = (this: Series, event: PointerEvent) => void;
/**
* Formatter callback function.
*
* @param this
* Data label context to format
*
* @return Formatted data label text
*/
export type SeriesNetworkgraphDataLabelsFormatterCallbackFunction = (this: (PointLabelObject|SeriesNetworkgraphDataLabelsFormatterContextObject)) => string;
/**
* The possible types of series options.
*/
export type SeriesOptionsType = SeriesOptionsRegistry[keyof SeriesOptionsRegistry];
/**
* Layout value for the child nodes in an organization chart. If `hanging`, this
* node's children will hang below their parent, allowing a tighter packing of
* nodes in the diagram.
*/
export type SeriesOrganizationNodesLayoutValue = ("hanging"|"normal");
/**
* Formatter callback function.
*
* @param this
* Data label context to format
*
* @return Formatted data label text
*/
export type SeriesPackedBubbleDataLabelsFormatterCallbackFunction = (this: SeriesPackedBubbleDataLabelsFormatterContextObject) => string;
/**
* Formatter callback function.
*
* @param this
* Data label context to format
*
* @return Formatted data label text
*/
export type SeriesSankeyDataLabelsFormatterCallbackFunction = (this: (PointLabelObject|SeriesSankeyDataLabelsFormatterContextObject)) => (string|undefined);
/**
* Gets fired when the series is shown after chart generation time, either by
* clicking the legend item or by calling `.show()`.
*
* @param this
* Series where the event occurred.
*
* @param event
* Event that occurred.
*/
export type SeriesShowCallbackFunction = (this: Series, event: Event) => void;
/**
* Possible key values for the series state options.
*/
export type SeriesStateValue = ("hover"|"inactive"|"normal"|"select");
export type SonifcationTypeValue = ("instrument"|"speech");
/**
* An SVG DOM element. The type is a reference to the regular SVGElement in the
* global scope.
*/
export type SVGDOMElement = globals.GlobalSVGElement;
/**
* Array of path commands, that will go into the `d` attribute of an SVG
* element.
*/
export type SVGPathArray = Array<(Array|[SVGPathCommand, number]|[SVGPathCommand, number, number]|[SVGPathCommand, number, number, number, number]|[SVGPathCommand, number, number,
number, number, number, number]|[SVGPathCommand, number, number, number, number, number, number, number])>;
/**
* Possible path commands in an SVG path array. Valid values are `A`, `C`, `H`,
* `L`, `M`, `Q`, `S`, `T`, `V`, `Z`.
*/
export type SVGPathCommand = ("a"|"c"|"h"|"l"|"m"|"q"|"s"|"t"|"v"|"z"|"A"|"C"|"H"|"L"|"M"|"Q"|"S"|"T"|"V"|"Z");
/**
* Can be one of `arc`, `callout`, `circle`, `diamond`, `square`, `triangle`,
* and `triangle-down`. Symbols are used internally for point markers, button
* and label borders and backgrounds, or custom shapes. Extendable by adding to
* SVGRenderer#symbols.
*/
export type SymbolKeyValue = ("arc"|"callout"|"circle"|"diamond"|"square"|"triangle"|"triangle-down");
export type SynthEnvelope = Array;
export type SynthEnvelopePoint = Record<("t"|"vol"), number>;
export type SynthPatchOscillatorType = ("pulse"|"sawtooth"|"sine"|"square"|"triangle"|"whitenoise");
export type TilemapShapeValue = ("circle"|"diamond"|"hexagon"|"square");
/**
* Function of an additional date format specifier.
*
* @param timestamp
* The time to format.
*
* @return The formatted portion of the date.
*/
export type TimeFormatCallbackFunction = (timestamp: number) => string;
/**
* Callback JavaScript function to format the data label as a string. Note that
* if a `format` is defined, the format takes precedence and the formatter is
* ignored.
*
* @param this
* Data label context to format
*
* @return Formatted data label text
*/
export type TimelineDataLabelsFormatterCallbackFunction = (this: (PointLabelObject|TimelineDataLabelsFormatterContextObject)) => (number|string|null|undefined);
/**
* Time units used in `Time.get` and `Time.set`
*/
export type TimeUnitValue = ("Date"|"Day"|"FullYear"|"Hours"|"Milliseconds"|"Minutes"|"Month"|"Seconds");
/**
* A callback to return the time zone offset for a given datetime. It takes the
* timestamp in terms of milliseconds since January 1 1970, and returns the
* timezone offset in minutes. This provides a hook for drawing time based
* charts in specific time zones using their local DST crossover dates, with the
* help of external libraries.
*
* @param timestamp
* Timestamp in terms of milliseconds since January 1 1970.
*
* @return Timezone offset in minutes.
*/
export type TimezoneOffsetCallbackFunction = (timestamp: number) => number;
/**
* Callback function to format the text of the tooltip from scratch.
*
* In case of single or shared tooltips, a string should be returned. In case of
* splitted tooltips, it should return an array where the first item is the
* header, and subsequent items are mapped to the points. Return `false` to
* disable tooltip for a specific point on series.
*
* @param this
* Context to format
*
* @param tooltip
* The tooltip instance
*
* @return Formatted text or false
*/
export type TooltipFormatterCallbackFunction = (this: TooltipFormatterContextObject, tooltip: Tooltip) => (false|string|Array<(string|null|undefined)>|null|undefined);
/**
* A callback function to place the tooltip in a specific position.
*
* @param this
* Tooltip context of the callback.
*
* @param labelWidth
* Width of the tooltip.
*
* @param labelHeight
* Height of the tooltip.
*
* @param point
* Point information for positioning a tooltip.
*
* @return New position for the tooltip.
*/
export type TooltipPositionerCallbackFunction = (this: Tooltip, labelWidth: number, labelHeight: number, point: TooltipPositionerPointObject) => PositionObject;
export type TooltipShapeValue = ("callout"|"circle"|"rect");
/**
* A TopoJSON object, see description on the project's GitHub page.
*/
export type TopoJSON = object;
export type VariablePieSizeByValue = ("area"|"radius");
/**
* The vertical alignment of an element.
*/
export type VerticalAlignValue = ("bottom"|"middle"|"top");
/**
* Proceed function to call original (wrapped) function.
*
* @param arg1
* Optional argument. Without any arguments defaults to first argument of
* the wrapping function.
*
* @param arg2
* Optional argument. Without any arguments defaults to second argument
* of the wrapping function.
*
* @param arg3
* Optional argument. Without any arguments defaults to third argument of
* the wrapping function.
*
* @return Return value of the original function.
*/
export type WrapProceedFunction = (arg1?: any, arg2?: any, arg3?: any) => any;
/**
* Formatter function for the text of a crosshair label.
*
* @param this
* Axis context
*
* @param value
* Y value of the data point
*/
export type XAxisCrosshairLabelFormatterCallbackFunction = (this: Axis, value: number) => string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for announcing new data to
* screen reader users. Useful for dynamic data applications and drilldown.
*
* Keep in mind that frequent announcements will not be useful to users, as they
* won't have time to explore the new data. For these applications, consider
* making snapshots of the data accessible, and do the announcements in batches.
*/
export interface AccessibilityAnnounceNewDataOptionsObject {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Optional formatter callback for
* the announcement. Receives up to three arguments. The first argument is
* always an array of all series that received updates. If an announcement
* is already queued, the series that received updates for that announcement
* are also included in this array. The second argument is provided if
* `chart.addSeries` was called, and there is a new series. In that case,
* this argument is a reference to the new series. The third argument,
* similarly, is provided if `series.addPoint` was called, and there is a
* new point. In that case, this argument is a reference to the new point.
*
* The function should return a string with the text to announce to the
* user. Return empty string to not announce anything. Return `false` to use
* the default announcement format.
*/
announcementFormatter?: AccessibilityAnnouncementFormatter;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable announcing new data to
* screen reader users
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Choose whether or not the
* announcements should interrupt the screen reader. If not enabled, the
* user will be notified once idle. It is recommended not to enable this
* setting unless there is a specific reason to do so.
*/
interruptUser?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Minimum interval between
* announcements in milliseconds. If new data arrives before this amount of
* time has passed, it is queued for announcement. If another new data event
* happens while an announcement is queued, the queued announcement is
* dropped, and the latest announcement is queued instead. Set to 0 to allow
* all announcements, but be warned that frequent announcements are
* disturbing to users.
*/
minAnnounceInterval?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for configuring
* accessibility for the chart. Requires the accessibility module to be loaded.
* For a description of the module and information on its features, see
* Highcharts Accessibility.
*/
export interface AccessibilityOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for announcing new data
* to screen reader users. Useful for dynamic data applications and
* drilldown.
*
* Keep in mind that frequent announcements will not be useful to users, as
* they won't have time to explore the new data. For these applications,
* consider making snapshots of the data accessible, and do the
* announcements in batches.
*/
announceNewData?: AccessibilityAnnounceNewDataOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A hook for adding custom
* components to the accessibility module. Should be an object mapping
* component names to instances of classes inheriting from the
* Highcharts.AccessibilityComponent base class. Remember to add the
* component to the keyboardNavigation.order for the keyboard navigation to
* be usable.
*/
customComponents?: any;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A text description of the chart.
*
* **Note: Prefer using linkedDescription or caption instead.**
*
* If the Accessibility module is loaded, this option is included by default
* as a long description of the chart in the hidden screen reader
* information region.
*
* Note: Since Highcharts now supports captions and linked descriptions, it
* is preferred to define the description using those methods, as a visible
* caption/description benefits all users. If the
* `accessibility.description` option is defined, the linked description is
* ignored, and the caption is hidden from screen reader users.
*/
description?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable accessibility
* functionality for the chart. For more information on how to include these
* features, and why this is recommended, see Highcharts Accessibility.
*
* Highcharts will by default emit a warning to the console if the
* accessibility module is not loaded. Setting this option to `false` will
* override and silence the warning.
*
* Once the module is loaded, setting this option to `false` will disable
* the module for this chart.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Controls how highContrastTheme
* is applied.
*
* The default option is `auto`, which applies the high contrast theme the
* user's system has a high contrast theme active.
*/
highContrastMode?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Theme to apply to the chart when
* Windows High Contrast Mode is detected. By default, a high contrast theme
* matching the high contrast system colors is used.
*/
highContrastTheme?: any;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation.
*/
keyboardNavigation?: KeyboardNavigationOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Amount of landmarks/regions to
* create for screen reader users. More landmarks can make navigation with
* screen readers easier, but can be distracting if there are lots of charts
* on the page. Three modes are available:
*
* - `all`: Adds regions for all series, legend, information region.
*
* - `one`: Adds a single landmark per chart.
*
* - `disabled`: No landmarks are added.
*/
landmarkVerbosity?: OptionsLandmarkVerbosityValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Link the chart to an HTML
* element describing the contents of the chart.
*
* It is always recommended to describe charts using visible text, to
* improve SEO as well as accessibility for users with disabilities. This
* option lets an HTML element with a description be linked to the chart, so
* that screen reader users can connect the two.
*
* By setting this option to a string, Highcharts runs the string as an HTML
* selector query on the entire document. If there is only a single match,
* this element is linked to the chart. The content of the linked element
* will be included in the chart description for screen reader users.
*
* By default, the chart looks for an adjacent sibling element with the
* `highcharts-description` class.
*
* The feature can be disabled by setting the option to an empty string, or
* overridden by providing the accessibility.description option.
* Alternatively, the HTML element to link can be passed in directly as an
* HTML node.
*
* If you need the description to be part of the exported image, consider
* using the caption feature.
*
* If you need the description to be hidden visually, use the
* accessibility.description option.
*/
linkedDescription?: (string|HTMLDOMElement);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for descriptions of
* individual data points.
*/
point?: AccessibilityPointOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
* screen reader information sections added before and after the chart.
*/
screenReaderSection?: AccessibilityScreenReaderSectionOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility options global to
* all data series. Individual series can also have specific accessibility
* options set.
*/
series?: AccessibilitySeriesOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A text description of the chart
* type.
*
* If the Accessibility module is loaded, this will be included in the
* description of the chart in the screen reader information region.
*
* Highcharts will by default attempt to guess the chart type, but for more
* complex charts it is recommended to specify this property for clarity.
*/
typeDescription?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for descriptions of
* individual data points.
*/
export interface AccessibilityPointOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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, Highstock, Highmaps, Gantt) 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?: ScreenReaderFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether or not to describe
* points with the value `null` to assistive technology, such as screen
* readers.
*/
describeNull?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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, Highstock, Highmaps, Gantt) Formatter function to use
* instead of the default for point descriptions.
*
* Receives one argument, `point`, referring to the point to describe.
* Should return a string with the description of the point for a screen
* reader user. If `false` is returned, the default formatter will be used
* for that point.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Decimals to use for the values
* in the point descriptions. Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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, Highstock, Highmaps, Gantt) Prefix to add to the values in
* the point descriptions. Uses tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Suffix to add to the values in
* the point descriptions. Uses tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the screen
* reader information sections added before and after the chart.
*/
export interface AccessibilityScreenReaderSectionOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for the screen reader
* information region after the chart. Analogous to beforeChartFormat.
*/
afterChartFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A formatter function to create
* the HTML contents of the hidden screen reader information region after
* the chart. Analogous to beforeChartFormatter.
*/
afterChartFormatter?: ScreenReaderFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Date format to use to describe
* range of datetime axes.
*
* For an overview of the replacement codes, see dateFormat.
*/
axisRangeDateFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for the screen reader
* information region before the chart. Supported HTML tags are ``,
* ``, `