highcharts
Version:
JavaScript charting framework
1,349 lines • 4.13 MB
TypeScript
/*!*
*
* Copyright (c) Highsoft AS. All rights reserved.
*
*!*/
import "./options/abands.src";
import "./options/ad.src";
import "./options/ao.src";
import "./options/apo.src";
import "./options/arcdiagram.src";
import "./options/area.src";
import "./options/arearange.src";
import "./options/areaspline.src";
import "./options/areasplinerange.src";
import "./options/aroon.src";
import "./options/aroonoscillator.src";
import "./options/atr.src";
import "./options/bar.src";
import "./options/bb.src";
import "./options/bellcurve.src";
import "./options/boxplot.src";
import "./options/bubble.src";
import "./options/bullet.src";
import "./options/candlestick.src";
import "./options/cci.src";
import "./options/chaikin.src";
import "./options/cmf.src";
import "./options/cmo.src";
import "./options/column.src";
import "./options/columnpyramid.src";
import "./options/columnrange.src";
import "./options/cylinder.src";
import "./options/dema.src";
import "./options/dependencywheel.src";
import "./options/disparityindex.src";
import "./options/dmi.src";
import "./options/dpo.src";
import "./options/dumbbell.src";
import "./options/ema.src";
import "./options/errorbar.src";
import "./options/flags.src";
import "./options/flowmap.src";
import "./options/funnel.src";
import "./options/gantt.src";
import "./options/gauge.src";
import "./options/geoheatmap.src";
import "./options/heatmap.src";
import "./options/heikinashi.src";
import "./options/histogram.src";
import "./options/hlc.src";
import "./options/hollowcandlestick.src";
import "./options/ikh.src";
import "./options/item.src";
import "./options/keltnerchannels.src";
import "./options/klinger.src";
import "./options/line.src";
import "./options/linearregressionangle.src";
import "./options/linearregression.src";
import "./options/linearregressionintercept.src";
import "./options/linearregressionslope.src";
import "./options/lollipop.src";
import "./options/macd.src";
import "./options/map.src";
import "./options/mapbubble.src";
import "./options/mapline.src";
import "./options/mappoint.src";
import "./options/mfi.src";
import "./options/momentum.src";
import "./options/natr.src";
import "./options/networkgraph.src";
import "./options/obv.src";
import "./options/ohlc.src";
import "./options/organization.src";
import "./options/packedbubble.src";
import "./options/pareto.src";
import "./options/pc.src";
import "./options/pictorial.src";
import "./options/pie.src";
import "./options/pivotpoints.src";
import "./options/pointandfigure.src";
import "./options/polygon.src";
import "./options/ppo.src";
import "./options/priceenvelopes.src";
import "./options/psar.src";
import "./options/pyramid.src";
import "./options/renko.src";
import "./options/roc.src";
import "./options/rsi.src";
import "./options/sankey.src";
import "./options/scatter.src";
import "./options/series.src";
import "./options/slowstochastic.src";
import "./options/sma.src";
import "./options/solidgauge.src";
import "./options/spline.src";
import "./options/stochastic.src";
import "./options/streamgraph.src";
import "./options/sunburst.src";
import "./options/supertrend.src";
import "./options/tema.src";
import "./options/tiledwebmap.src";
import "./options/tilemap.src";
import "./options/timeline.src";
import "./options/treegraph.src";
import "./options/treemap.src";
import "./options/trendline.src";
import "./options/trix.src";
import "./options/variablepie.src";
import "./options/variwide.src";
import "./options/vbp.src";
import "./options/vector.src";
import "./options/venn.src";
import "./options/vwap.src";
import "./options/waterfall.src";
import "./options/williamsr.src";
import "./options/windbarb.src";
import "./options/wma.src";
import "./options/wordcloud.src";
import "./options/xrange.src";
import "./options/zigzag.src";
import * as globals from "./globals.src";
/**
* 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<Series>, 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 options
* Breadcrumb options.
*
* @return Formatted text or false
*/
export type BreadcrumbsFormatterCallbackFunction = (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: Point, 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<Array<any>>) => (boolean|undefined);
/**
* A typed array.
*/
export type DataTableColumn = (Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray);
/**
* A collection of data table columns defined by a object where the key is the
* column name and the value is an array of the column values.
*/
export type DataTableColumnCollection = Record<string, DataTableColumn>;
/**
* 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<T> = (this: T, eventArguments?: (Event|Dictionary<any>)) => (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<T> = (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<number>;
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<T> = (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 OptionsNodeSizeByValue = ("group"|"leaf");
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 = ("chart"|"pane"|"mapBoundingBox"|"plotBox"|"spacingBox");
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<T> = (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;
/**
* 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 SeriesSankeyDataLabelsFormatterCallbackFunction = (this: Point) => (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>|[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<SynthEnvelopePoint>;
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;
/**
* 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
* split 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
* The formatter's context is the hovered `Point` instance. In case of
* shared or split tooltips, all points are available in `this.points`.
*
* @param tooltip
* The tooltip instance
*
* @return Formatted text or false
*/
export type TooltipFormatterCallbackFunction = (this: Point, 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<Point>;
/**
* (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 ins