/*!* * * 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; /** * 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()`. * * @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 a 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()`. * * @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 ``, * `

`, `

`, ``, `