# Namespace: Highcharts

## Highcharts

The Highcharts object is the placeholder for all other members, and various utility functions. The most important member of the namespace would be the chart constructor.

### Example

    let chart = Highcharts.chart('container', { ... });

### Classes

AST
AccessibilityComponent
Annotation
AnnotationControlPoint
Axis
Chart
Color
ColorAxis
Data
DataTable
EqualEarth
Exporting
Fullscreen
GanttChart
HttpUtilities
KeyboardNavigationHandler
LambertConformalConic
Legend
Loader
MapChart
MapView
Miller
Orthographic
Palette
Point
Pointer
SVGElement
SVGRenderer
Series
Sonification
SonificationInstrument
SonificationSpeaker
StockChart
SynthPatch
Tick
Tooltip
WebMercator

### Members

#### <static> charts :Array.<(Highcharts.Chart|undefined)>

  An array containing the current chart objects in the page. A chart's position in the array is preserved throughout the page's lifetime. When a chart is destroyed, the array item becomes `undefined`.

  ##### Type:

  - Array.<(Highcharts.Chart|undefined)>

#### <static> dateFormats :Record.<string, Highcharts.TimeFormatCallbackFunction>

  A hook for defining additional date format specifiers. New specifiers are defined as key-value pairs by using the specifier as key, and a function which takes the timestamp as value. This function returns the formatted portion of the date.

  Using `dateFormats` is also a convenient way to define new keys for complex locale-aware date formats compatible with the Intl.DateTimeFormat browser API, whenever the built-in formats are not sufficient.

  ##### Type:

  - Record.<string, Highcharts.TimeFormatCallbackFunction>

  ##### Try it

  - Adding support for week number.
  - A locale-aware date format using `Intl.DateTimeFormat`.

#### <static> defaultOptions :Highcharts.Options

  Global default settings.

  ##### Type:

  - Highcharts.Options

#### <static> maps :Record.<string, *>

  Contains all loaded map data for Highmaps.

  ##### Type:

  - Record.<string, *>

#### <static> sonification :Highcharts.SonificationGlobalObject

  Global Sonification classes and objects.

  ##### Type:

  - Highcharts.SonificationGlobalObject

#### <static> theme :Highcharts.Options

  Theme options that should get applied to the chart. In module mode it might not be possible to change this property because of read-only restrictions, instead use Highcharts.setOptions.

  ##### Type:

  - Highcharts.Options
  Deprecated:
    - 9.1.2

### Methods

#### <static> addEvent(el, type, fn [, options])

  Add an event listener.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `el` | Highcharts.Class.<T> | T |  | The element or object to add a listener to. It can be a HTMLDOMElement, an Highcharts.SVGElement or any other object.
  `type` | string |  | The event type.
  `fn` | Highcharts.EventCallbackFunction.<T> | function |  | The function callback to execute when the event is fired.
  `options` | Highcharts.EventOptionsObject | <optional> | Options for adding the event.

  ##### Returns:

  function .

  A callback function to remove the added event.

  ##### Try it

  - Use a general `render` event to draw shapes on a chart.

#### <static> ajax(settings)

  Perform an Ajax call.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `settings` | Highcharts.AjaxSettingsObject | The Ajax settings to use.

  ##### Returns:

  false | undefined .

  Returns false, if error occurred.

#### <static> animObject( [animation])

  Get the animation in object form, where a disabled animation is always returned as `{ duration: 0 }`.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `animation` | boolean | Highcharts.AnimationOptionsObject | <optional> | 0 | An animation setting. Can be an object with duration, complete and easing properties, or a boolean to enable or disable.

  ##### Returns:

  Highcharts.AnimationOptionsObject .

  An object with at least a duration property.

#### <static> animate(el, params [, opt])

  The global animate method, which uses Fx to create individual animators.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `el` | Highcharts.HTMLDOMElement | Highcharts.SVGElement |  | The element to animate.
  `params` | Highcharts.CSSObject | Highcharts.SVGAttributes |  | An object containing key-value pairs of the properties to animate. Supports numeric as pixel-based CSS properties for HTML objects and attributes for SVGElements.
  `opt` | Partial.<Highcharts.AnimationOptionsObject> | <optional> | Animation options.

  ##### Returns:

#### <static> arrayMax(data)

  Non-recursive method to find the lowest member of an array. `Math.max` raises a maximum call stack size exceeded error in Chrome when trying to apply more than 150.000 points. This method is slightly slower, but safe.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `data` | Array.<*> | An array of numbers.

  ##### Returns:

  number .

  The highest number.

#### <static> arrayMin(data)

  Non-recursive method to find the lowest member of an array. `Math.min` raises a maximum call stack size exceeded error in Chrome when trying to apply more than 150.000 points. This method is slightly slower, but safe.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `data` | Array.<*> | An array of numbers.

  ##### Returns:

  number .

  The lowest number.

#### <static> attr(elem [, keyOrAttribs] [, value])

  Set or get an attribute or an object of attributes.

  To use as a setter, pass a key and a value, or let the second argument be a collection of keys and values. When using a collection, passing a value of `null` or `undefined` will remove the attribute.

  To use as a getter, pass only a string as the second argument.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `elem` | Highcharts.HTMLDOMElement | Highcharts.SVGDOMElement |  | The DOM element to receive the attribute(s).
  `keyOrAttribs` | string | Highcharts.HTMLAttributes | Highcharts.SVGAttributes | <optional> | The property or an object of key-value pairs.
  `value` | number | string | <optional> | The value if a single property is set.

  ##### Returns:

  string | null | undefined .

  When used as a getter, return the value.

#### <static> chart( [renderTo], options [, callback])

  Factory function for basic charts.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `renderTo` | string | Highcharts.HTMLDOMElement | <optional> | The DOM element to render to, or its id.
  `options` | Highcharts.Options |  | The chart options structure.
  `callback` | Highcharts.ChartCallbackFunction | true | <optional> | Function to run when the chart has loaded and all external images are loaded. Defining a chart.events.load handler is equivalent. Set to `true` to return a promise that resolves when the chart is ready.

  ##### Returns:

  Highcharts.Chart .

  Returns the Chart object.

  ##### Example

      // Render a chart into div#container
      const chart = Highcharts.chart('container', {
          title: {
              text: 'My chart'
          },
          series: [{
              data: [1, 3, 2, 4]
          }]
      });

#### <static> color(input)

  Creates a color instance out of a color string.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `input` | Highcharts.ColorType | The input color.

  ##### Returns:

  Highcharts.Color .

  Color instance

#### <static> correctFloat(num [, prec])

  Fix JS round off float errors.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `num` | number |  |  | A float number to fix.
  `prec` | number | <optional> | 14 | The precision.

  ##### Returns:

  number .

  The corrected float number.

#### <static> createElement(tag [, attribs] [, styles] [, parent] [, nopad])

  Utility function to create an HTML element with attributes and styles.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `tag` | string |  |  | The HTML tag.
  `attribs` | Highcharts.HTMLAttributes | <optional> |  | Attributes as an object of key-value pairs.
  `styles` | Highcharts.CSSObject | <optional> |  | Styles as an object of key-value pairs.
  `parent` | Highcharts.HTMLDOMElement | <optional> |  | The parent HTML object.
  `nopad` | boolean | <optional> | false | If true, remove all padding, border and margin.

  ##### Returns:

  Highcharts.HTMLDOMElement .

  The created DOM element.

#### <static> css(el, styles)

  Set CSS on a given element.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `el` | Highcharts.HTMLDOMElement | Highcharts.SVGDOMElement | An HTML DOM element.
  `styles` | Highcharts.CSSObject | Style object with camel case property names.

  ##### Returns:

#### <static> data()

  Creates a data object to parse data for a chart.

#### <static> defined(obj)

  Check if an object is null or undefined.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `obj` | * | The object to check.

  ##### Returns:

  boolean .

  False if the object is null or undefined, otherwise true.

#### <static> destroyObjectProperties(obj [, except])

  Utility method that destroys any SVGElement instances that are properties on the given object. It loops all properties and invokes destroy if there is a destroy method. The property is then delete.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `obj` | * |  | The object to destroy properties on.
  `except` | * | <optional> | Exception, do not destroy this property, only delete it.

#### <static> discardElement(element)

  Discard a HTML element

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `element` | Highcharts.HTMLDOMElement | The HTML node to discard.

#### <static> downloadSVGLocal(svg, options)

  Deprecated. Use Exporting.downloadSVG instead.

  Get data URL to an image of an SVG and call download on it options object:

  - filename: Name of resulting downloaded file without extension. Default is `chart`.

  - type: File type of resulting download. Default is `image/png`.

  - scale: Scaling factor of downloaded image compared to source. Default is `1`.

  - libURL: URL pointing to location of dependency scripts to download on demand.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `svg` | string | The generated SVG
  `options` | Highcharts.ExportingOptions | The exporting options

  Deprecated:
    - 11.4.4

#### <static> erase(arr, item)

  Remove the last occurrence of an item from an array.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `arr` | Array.<*> | The array.
  `item` | * | The item to remove.

  ##### Returns:

#### <static> error(code [, stop] [, chart] [, params])

  Provide error messages for debugging, with links to online explanation. This function can be overridden to provide custom error handling.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `code` | number | string |  |  | The error code. See errors.xml for available codes. If it is a string, the error message is printed directly in the console.
  `stop` | boolean | <optional> | false | Whether to throw an error or just log a warning in the console.
  `chart` | Highcharts.Chart | <optional> |  | Reference to the chart that causes the error. Used in 'debugger' module to display errors directly on the chart. Important note: This argument is undefined for errors that lack access to the Chart instance. In such case, the error will be displayed on the last created chart.
  `params` | Highcharts.Dictionary.<string> | <optional> |  | Additional parameters for the generated message.

  ##### Returns:

  ##### Try it

  - Custom error handler.

#### <static> extend(a, b)

  Utility function to extend an object with the members of another.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `a` | T | undefined | The object to be extended.
  `b` | Partial.<T> | The object to add to the first one.

  ##### Returns:

  T .

  Object a, the original object.

#### <static> extendClass(parent, members)

  Extend a prototyped class by new members.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `parent` | Highcharts.Class.<T> | The parent prototype to inherit.
  `members` | Highcharts.Dictionary.<*> | A collection of prototype members to add or override compared to the parent prototype.

  Deprecated:
    - 11.0.0

  ##### Returns:

  Highcharts.Class.<T> .

  A new prototype.

#### <static> find(arr, callback)

  Return the value of the first element in the array that satisfies the provided testing function.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `arr` | Array.<T> | The array to test.
  `callback` | function | The callback function. The function receives the item as the first argument. Return `true` if this item satisfies the condition.

  ##### Returns:

  T | undefined .

  The value of the element.

#### <static> fireEvent(el, type [, eventArguments] [, defaultFunction])

  Fire an event that was registered with Highcharts#addEvent.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `el` | T |  | The object to fire the event on. It can be a HTMLDOMElement, an Highcharts.SVGElement or any other object.
  `type` | string |  | The type of event.
  `eventArguments` | Highcharts.Dictionary.<*> | Event | <optional> | Custom event arguments that are passed on as an argument to the event handler.
  `defaultFunction` | Highcharts.EventCallbackFunction.<T> | function | <optional> | The default function to execute if the other listeners haven't returned false.

  ##### Returns:

#### <static> ganttChart(renderTo, options [, callback])

  The factory function for creating new gantt charts. Creates a new GanttChart object with different default options than the basic Chart.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `renderTo` | string | Highcharts.HTMLDOMElement |  | The DOM element to render to, or its id.
  `options` | Highcharts.Options |  | The chart options structure.
  `callback` | Highcharts.ChartCallbackFunction | true | <optional> | Function to run when the chart has loaded and all external images are loaded. Defining a chart.events.load handler is equivalent. Set to `true` to return a promise that resolves when the chart is ready.

  ##### Returns:

  Highcharts.GanttChart .

  Returns the Chart object.

  ##### Example

      // Render a chart in to div#container
      let chart = Highcharts.ganttChart('container', {
          title: {
              text: 'My chart'
          },
          series: [{
              data: ...
          }]
      });

#### <static> geojson(json [, hType])

  Highcharts Maps only. Restructure a GeoJSON or TopoJSON object in preparation to be read directly by the series.mapData option. The object will be broken down to fit a specific Highcharts type, either `map`, `mapline` or `mappoint`. Meta data in GeoJSON's properties object will be copied directly over to Highcharts.Point.properties in Highcharts Maps.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `json` | Highcharts.GeoJSON | Highcharts.TopoJSON |  |  | The GeoJSON or TopoJSON structure to parse, represented as a JavaScript object.
  `hType` | string | <optional> | map | The Highcharts Maps series type to prepare for. Setting "map" will return GeoJSON polygons and multipolygons. Setting "mapline" will return GeoJSON linestrings and multilinestrings. Setting "mappoint" will return GeoJSON points and multipoints.

  ##### Requires:

  - module:modules/map

  ##### Returns:

  Array.<*> .

  An object ready for the `mapData` option.

  ##### Try it

  - Simple areas.
  - Multiple types.
  - Multiple map sources.

#### <static> getDeferredAnimation(chart, animation [, series])

  Get the defer as a number value from series animation options.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `chart` | Highcharts.Chart |  | The chart instance.
  `animation` | boolean | Highcharts.AnimationOptionsObject |  | An animation setting. Can be an object with duration, complete and easing properties, or a boolean to enable or disable.
  `series` | Highcharts.Series | <optional> | Series to defer animation.

  ##### Returns:

  number .

  The numeric value.

#### <static> getJSON(url, success)

  Get a JSON resource over XHR, also supporting CORS without preflight.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `url` | string | The URL to load.
  `success` | function | The success callback. For error handling, use the `Highcharts.ajax` function instead.

#### <static> getMagnitude(num)

  Get the magnitude of a number.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `num` | number | The number.

  ##### Returns:

  number .

  The magnitude, where 1-9 are magnitude 1, 10-99 magnitude 2 etc.

#### <static> getOptions()

  Get the updated default options. Until 3.0.7, merely exposing defaultOptions for outside modules wasn't enough because the setOptions method created a new object.

  ##### Returns:

  Highcharts.Options .

  Default options.

#### <static> getStyle(el, prop [, toInt])

  Get the computed CSS value for given element and property, only for numerical properties. For width and height, the dimension of the inner box (excluding padding) is returned. Used for fitting the chart within the container.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `el` | Highcharts.HTMLDOMElement |  |  | An HTML element.
  `prop` | string |  |  | The property name.
  `toInt` | boolean | <optional> | true | Parse to integer.

  ##### Returns:

  number | string | undefined .

  The style value.

#### <static> hasWebGLSupport()

  Returns true if the current browser supports WebGL.

  ##### Requires:

  - module:modules/boost

  ##### Returns:

  boolean .

  `true` if the browser supports WebGL.

#### <static> i18nFormat(formatString, context, chart)

  i18n formatting function. Extends Highcharts.format() functionality by also handling arrays and plural conditionals. Arrays can be indexed as follows:

  - Format: 'This is the first index: {myArray[0]}. The last: {myArray[-1]}.'

  - Context: { myArray: [0, 1, 2, 3, 4, 5] }

  - Result: 'This is the first index: 0. The last: 5.'

  They can also be iterated using the #each() function. This will repeat the contents of the bracket expression for each element. Example:

  - Format: 'List contains: {#each(myArray)cm }'

  - Context: { myArray: [0, 1, 2] }

  - Result: 'List contains: 0cm 1cm 2cm '

  The #each() function optionally takes a length parameter. If positive, this parameter specifies the max number of elements to iterate through. If negative, the function will subtract the number from the length of the array. Use this to stop iterating before the array ends. Example:

  - Format: 'List contains: {#each(myArray, -1), }and {myArray[-1]}.'

  - Context: { myArray: [0, 1, 2, 3] }

  - Result: 'List contains: 0, 1, 2, and 3.'

  Use the #plural() function to pick a string depending on whether or not a context object is 1. Arguments are #plural(obj, plural, singular). Example:

  - Format: 'Has {numPoints} {#plural(numPoints, points, point}.'

  - Context: { numPoints: 5 }

  - Result: 'Has 5 points.'

  Optionally there are additional parameters for dual and none: #plural(obj, plural, singular, dual, none). Example:

  - Format: 'Has {#plural(numPoints, many points, one point, two points, none}.'

  - Context: { numPoints: 2 }

  - Result: 'Has two points.'

  The dual or none parameters will take precedence if they are supplied.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `formatString` | string | The string to format.
  `context` | Highcharts.Dictionary.<*> | Context to apply to the format string.
  `chart` | Highcharts.Chart | A `Chart` instance with a time object and numberFormatter, passed on to format().

  Deprecated:
    - 11.1.0

  ##### Requires:

  - module:modules/accessibility

  ##### Returns:

  string .

  The formatted string.

#### <static> isArray(obj)

  Utility function to check if an item is an array.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `obj` | * | The item to check.

  ##### Returns:

  boolean .

  True if the argument is an array.

#### <static> isClass(obj)

  Utility function to check if an Object is a class.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `obj` | object | undefined | The item to check.

  ##### Returns:

  boolean .

  True if the argument is a class.

#### <static> isDOMElement(obj)

  Utility function to check if an Object is a HTML Element.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `obj` | * | The item to check.

  ##### Returns:

  boolean .

  True if the argument is a HTML Element.

#### <static> isFunction(obj)

  Utility function to check if object is a function.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `obj` | * | The item to check.

  ##### Returns:

  boolean .

  True if the argument is a function.

#### <static> isNumber(n)

  Utility function to check if an item is a number and it is finite (not NaN, Infinity or -Infinity).

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `n` | * | The item to check.

  ##### Returns:

  boolean .

  True if the item is a finite number

#### <static> isObject(obj [, strict])

  Utility function to check if an item is of type object.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `obj` | * |  |  | The item to check.
  `strict` | boolean | <optional> | false | Also checks that the object is not an array.

  ##### Returns:

  boolean .

  True if the argument is an object.

#### <static> isString(s)

  Utility function to check for string type.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `s` | * | The item to check.

  ##### Returns:

  boolean .

  True if the argument is a string.

#### <static> mapChart( [renderTo], options [, callback])

  The factory function for creating new map charts. Creates a new MapChart object with different default options than the basic Chart.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `renderTo` | string | Highcharts.HTMLDOMElement | <optional> | The DOM element to render to, or its id.
  `options` | Highcharts.Options |  | The chart options structure as described in the options reference.
  `callback` | Highcharts.ChartCallbackFunction | <optional> | A function to execute when the chart object is finished rendering and all external image files (`chart.backgroundImage`, `chart.plotBackgroundImage` etc) are loaded. Defining a chart.events.load handler is equivalent.

  ##### Requires:

  - module:modules/map

  ##### Returns:

  Highcharts.MapChart .

  The chart object.

#### <static> merge(extendOrSource [, sources])

  Utility function to deep merge two or more objects and return a third object. If the first argument is true, the contents of the second object is copied into the first object. The merge function can also be used with a single object argument to create a deep copy of an object.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `extendOrSource` | true | T |  | Whether to extend the left-side object, or the first object to merge as a deep copy.
  `sources` | Array.<(object|undefined)> | <optional> <repeatable> | Object(s) to merge into the previous one.

  ##### Returns:

  T .

  The merged object. If the first argument is true, the return is the same as the second argument.

#### <static> navigator( [renderTo], options)

  Factory function for standalone navigator.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `renderTo` | string | Highcharts.HTMLDOMElement | <optional> | The DOM element to render to, or its id.
  `options` | StandaloneNavigatorOptions |  | The standalone navigator options with chart-like structure. Returns the navigator object.

#### <static> normalizeTickInterval(interval [, multiples] [, magnitude] [, allowDecimals] [, hasTickAmount])

  Take an interval and normalize it to multiples of round numbers.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `interval` | number |  | The raw, un-rounded interval.
  `multiples` | Array.<*> | <optional> | Allowed multiples.
  `magnitude` | number | <optional> | The magnitude of the number.
  `allowDecimals` | boolean | <optional> | Whether to allow decimals.
  `hasTickAmount` | boolean | <optional> | If it has tickAmount, avoid landing on tick intervals lower than original.

  Deprecated:
    - 5.0.3
  To Do:
    - Move this function to the Axis prototype. It is here only for historical reasons.

  ##### Returns:

  number .

  The normalized interval.

#### <static> objectEach(obj, fn [, ctx])

  Iterate over object key pairs in an object.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `obj` | * |  | The object to iterate over.
  `fn` | Highcharts.ObjectEachCallbackFunction.<T> |  | The iterator callback. It passes three arguments: * value - The property value. * key - The property key. * obj - The object that objectEach is being applied to.
  `ctx` | T | <optional> | The context.

#### <static> offset(el)

  Get the element's offset position, corrected for `overflow: auto`.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `el` | global.Element | The DOM element.

  ##### Returns:

  Highcharts.OffsetObject .

  An object containing `left` and `top` properties for the position in the page.

#### <static> pad(number [, length] [, padder])

  Left-pad a string to a given length by adding a character repetitively.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `number` | number |  |  | The input string or number.
  `length` | number | <optional> |  | The desired string length.
  `padder` | string | <optional> | 0 | The character to pad with.

  ##### Returns:

  string .

  The padded string.

#### <static> pick(items)

  Return the first value that is not null or undefined.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `items` | Array.<(T|null|undefined)> | <repeatable> | Variable number of arguments to inspect.

  ##### Returns:

  T .

  The value of the first argument that is not null or undefined.

#### <static> relativeLength(value, base [, offset])

  Return a length based on either the integer value, or a percentage of a base.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `value` | Highcharts.RelativeSize |  |  | A percentage string or a number.
  `base` | number |  |  | The full length that represents 100%.
  `offset` | number | <optional> | 0 | A pixel offset to apply for percentage values. Used internally in axis positioning.

  ##### Returns:

  number .

  The computed length.

#### <static> removeEvent(el [, type] [, fn])

  Remove an event that was added with Highcharts#addEvent.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `el` | Highcharts.Class.<T> | T |  | The element to remove events on.
  `type` | string | <optional> | The type of events to remove. If undefined, all events are removed from the element.
  `fn` | Highcharts.EventCallbackFunction.<T> | <optional> | The specific callback to remove. If undefined, all events that match the element and optionally the type are removed.

  ##### Returns:

#### <static> setAnimation(animation, chart)

  Set the global animation to either a given value, or fall back to the given chart's animation option.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `animation` | boolean | Partial.<Highcharts.AnimationOptionsObject> | undefined | The animation object.
  `chart` | Highcharts.Chart | The chart instance.

  To Do:
    - This function always relates to a chart, and sets a property on the renderer, so it should be moved to the SVGRenderer.

#### <static> setOptions(options)

  Merge the default options with custom options and return the new options structure. Commonly used for defining reusable templates.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `options` | Highcharts.Options | The new custom chart options.

  ##### Returns:

  Highcharts.Options .

  Updated options.

  ##### Try it

  - Applying a global theme.

#### <static> splat(obj)

  Check if an element is an array, and if not, make it into an array.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `obj` | * | The object to splat.

  ##### Returns:

  Array .

  The produced or original array.

#### <static> splitPath(path)

  Utility for reading SVG paths directly.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `path` | string | Array.<(string|number)> | Path to split.

  ##### Requires:

  - module:modules/map

  ##### Returns:

  Highcharts.SVGPathArray .

  Splitted SVG path

#### <static> stableSort(arr, sortFunction)

  Sort an object array and keep the order of equal items. The ECMAScript standard does not specify the behavior when items are equal.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `arr` | Array.<*> | The array to sort.
  `sortFunction` | function | The function to sort it with, like with regular Array.prototype.sort.

#### <static> stockChart( [renderTo], options [, callback])

  Factory function for creating new stock charts. Creates a new StockChart object with different default options than the basic Chart.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `renderTo` | string | Highcharts.HTMLDOMElement | <optional> | The DOM element to render to, or its id.
  `options` | Highcharts.Options |  | The chart options structure as described in the options reference.
  `callback` | Highcharts.ChartCallbackFunction | <optional> | A function to execute when the chart object is finished rendering and all external image files (`chart.backgroundImage`, `chart.plotBackgroundImage` etc) are loaded. Defining a chart.events.load handler is equivalent.

  ##### Returns:

  Highcharts.StockChart .

  The chart object.

  ##### Example

      let chart = Highcharts.stockChart('container', {
          series: [{
              data: [1, 2, 3, 4, 5, 6, 7, 8, 9],
              pointInterval: 24 * 60 * 60 * 1000
          }]
      });

#### <static> stop(el [, prop])

  Stop running animation.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `el` | Highcharts.SVGElement |  | The SVGElement to stop animation on.
  `prop` | string | <optional> | The property to stop animating. If given, the stop method will stop a single property from animating, while others continue.

  To Do:
    - A possible extension to this would be to stop a single property, when we want to continue animating others. Then assign the prop to the timer in the Fx.run method, and check for the prop here. This would be an improvement in all cases where we stop the animation from .attr. Instead of stopping everything, we can just stop the actual attributes we're setting.

  ##### Returns:

#### <static> syncTimeout(fn, delay [, context])

  Set a timeout if the delay is given, otherwise perform the function synchronously.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `fn` | function |  | The function callback.
  `delay` | number |  | Delay in milliseconds.
  `context` | * | <optional> | An optional context to send to the function callback.

  ##### Returns:

  number .

  An identifier for the timeout that can later be cleared with Highcharts.clearTimeout. Returns -1 if there is no timeout.

#### <static> uniqueKey()

  Get a unique key for using in internal element id's and pointers. The key is composed of a random hash specific to this Highcharts instance, and a counter.

  ##### Returns:

  string .

  A unique key.

  ##### Example

      let id = uniqueKey(); // => 'highcharts-x45f6hp-0'

#### <static> useSerialIds( [mode])

  Activates a serial mode for element IDs provided by Highcharts.uniqueKey. This mode can be used in automated tests, where a simple comparison of two rendered SVG graphics is needed.

  Note: This is only for testing purposes and will break functionality in webpages with multiple charts.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `mode` | boolean | <optional> | Changes the state of serial mode.

  ##### Returns:

  boolean | undefined .

  State of the serial mode.

  ##### Example

      if (
        process &&
        process.env.NODE_ENV === 'development'
      ) {
        Highcharts.useSerialIds(true);
      }

#### <static> wrap(obj, method, func)

  Wrap a method with extended functionality, preserving the original function.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `obj` | * | The context object that the method belongs to. In real cases, this is often a prototype.
  `method` | string | The name of the method to extend.
  `func` | Highcharts.WrapProceedFunction | A wrapper function callback. This function is called with the same arguments as the original function, except that the original function is unshifted and passed as the first argument.

### Type Definitions

#### AlignValue

  The horizontal alignment of an element.

  ##### Type:

  - "center" | "left" | "right"

#### AnimationStepCallbackFunction(this)

  Creates a frame for the animated SVG element.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.SVGElement | The SVG element to animate.

  ##### Returns:

#### AnnotationControlPointPositionerFunction(this, target)

  Callback to modify annotation's positioner controls.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.AnnotationControlPoint |
  `target` | Highcharts.AnnotationControllable |

  ##### Returns:

#### AnnotationDraggableValue

  Possible directions for draggable annotations. An empty string (`''`) makes the annotation undraggable.

  ##### Type:

  - '' | 'x' | 'xy' | 'y'

#### AnnotationMockPointOptions

  Annotation point, which can be:

  - a string: the ID of an existing series point,
  - an object: mock point options,
  - a function: returning either mock point options object or a point.

  ##### Type:

  - string | Highcharts.AnnotationMockPointOptionsObject | Highcharts.AnnotationMockPointFunction

#### AxisCrosshairOptions

  Options for crosshairs on axes.

  ##### Type:

  - Highcharts.XAxisCrosshairOptions | Highcharts.YAxisCrosshairOptions

#### AxisEventCallbackFunction(this)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Axis |

#### AxisExtremesTriggerValue

  ##### Type:

  - "navigator" | "pan" | "rangeSelectorButton" | "rangeSelectorInput" | "scrollbar" | "traverseUpButton" | "zoom"

#### AxisLabelsFormatterCallbackFunction(this, ctx)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.AxisLabelsFormatterContextObject |
  `ctx` | Highcharts.AxisLabelsFormatterContextObject | Since v12.6.0, the formatter context passed as an extra argument for arrow functions.

  ##### Returns:

#### AxisOptions

  Options for axes.

  ##### Type:

  - Highcharts.XAxisOptions | Highcharts.YAxisOptions | Highcharts.ZAxisOptions

#### AxisPointBreakEventCallbackFunction(this, evt)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Axis |
  `evt` | Highcharts.AxisPointBreakEventObject |

#### AxisSetExtremesEventCallbackFunction(this, evt)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Axis |
  `evt` | Highcharts.AxisSetExtremesEventObject |

#### AxisTickPositionerCallbackFunction(this, min, max [, ctx])

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Axis |  |
  `min` | number |  | Current minimum value.
  `max` | number |  | Current maximum value.
  `ctx` | Highcharts.Axis | <optional> | Since v12.6.0, the axis context passed as an extra argument for arrow functions.

  ##### Returns:

#### AxisTitleAlignValue

  ##### Type:

  - "high" | "low" | "middle"

#### AxisTitleOptions

  ##### Type:

  - Highcharts.XAxisTitleOptions | Highcharts.YAxisTitleOptions | Highcharts.ZAxisTitleOptions

#### AxisTypeValue

  ##### Type:

  - "linear" | "logarithmic" | "datetime" | "category" | "treegrid"

#### BreadcrumbsClickCallbackFunction(event, breadcrumb)

  Callback function to react on button clicks.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `event` | Highcharts.Event | Event.
  `breadcrumb` | Highcharts.BreadcrumbOptions | Breadcrumb options.

#### BreadcrumbsFormatterCallbackFunction(options)

  Callback function to format the breadcrumb text from scratch.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `options` | Highcharts.BreadcrumbOptions | Breadcrumb options.

  ##### Returns:

  string .

  Formatted text or false

#### ButtonRelativeToValue

  ##### Type:

  - "plotBox" | "spacingBox"

#### ChartAddSeriesCallbackFunction(this, event)

  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.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Chart | The chart on which the event occurred.
  `event` | Highcharts.ChartAddSeriesEventObject | The event that occurred.

#### ChartCallbackFunction(chart)

  Callback for chart constructors.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `chart` | Highcharts.Chart | Created chart.

#### ChartClickCallbackFunction(this, event)

  Gets fired when clicking on the plot background.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Chart | The chart on which the event occurred.
  `event` | Highcharts.PointerEventObject | The event that occurred.

#### ChartLoadCallbackFunction(this, event)

  Gets fired when the chart is finished loading.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Chart | The chart on which the event occurred.
  `event` | global.Event | The event that occurred.

#### ChartRedrawCallbackFunction(this, event)

  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`.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Chart | The chart on which the event occurred.
  `event` | global.Event | The event that occurred.

#### ChartRenderCallbackFunction(this, event)

  Gets fired after initial load of the chart (directly after the `load` event), and after each redraw (directly after the `redraw` event).

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Chart | The chart on which the event occurred.
  `event` | global.Event | The event that occurred.

#### ChartSelectionCallbackFunction(this, event)

  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.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Chart | The chart on which the event occurred.
  `event` | Highcharts.SelectEventObject | Event information

  ##### Returns:

  boolean | undefined .

  Return false to prevent the default action, usually zoom.

#### ClipRectElement

  A clipping rectangle that can be applied to one or more Highcharts.SVGElement instances. It is instantiated with the Highcharts.SVGRenderer#clipRect function and applied with the Highcharts.SVGElement#clip function.

  ##### Type:

  - Highcharts.SVGElement

  ##### Example

      let circle = renderer.circle(100, 100, 100)
          .attr({ fill: 'red' })
          .add();
      let clipRect = renderer.clipRect(100, 100, 100, 100);

      // Leave only the lower right quarter visible
      circle.clip(clipRect);

#### ColorAxisTypeValue

  Color axis types

  ##### Type:

  - "linear" | "logarithmic"

#### ColorString

  A valid color to be parsed and handled by Highcharts.

  ##### Type:

  - string

#### ColorType

  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.

  ##### Type:

  - Highcharts.ColorString | Highcharts.GradientColorObject | Highcharts.PatternObject

#### CursorValue

  All possible cursor styles.

  ##### Type:

  - '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'

#### DOMElementType

  ##### Type:

  - Highcharts.HTMLDOMElement | Highcharts.SVGDOMElement

#### DashStyleValue

  All possible dash styles.

  ##### Type:

  - 'Dash' | 'DashDot' | 'Dot' | 'LongDash' | 'LongDashDot' | 'LongDashDotDot' | 'ShortDash' | 'ShortDashDot' | 'ShortDashDotDot' | 'ShortDot' | 'Solid'

#### DataBeforeParseCallbackFunction(csv, ctx)

  Callback function to modify the CSV before parsing it by the data module.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `csv` | string | The CSV to modify.
  `ctx` | Highcharts.Data | The Data instance.

  ##### Returns:

  string .

  The CSV to parse.

#### DataCompleteCallbackFunction(chartOptions)

  Callback function that gets called after parsing data.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `chartOptions` | Highcharts.Options | The chart options that were used.

#### DataDateFormatCallbackFunction(match)

  Callback function that returns the corresponding Date object to a match.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `match` | Array.<number> |

  ##### Returns:

#### DataGroupingAnchor

  The position of the point inside the group.

  ##### Type:

  - "start" | "middle" | "end"

#### DataGroupingAnchorExtremes

  The position of the first or last point in the series inside the group.

  ##### Type:

  - "start" | "middle" | "end" | "firstPoint" | "lastPoint"

#### DataGroupingApproximationValue

  ##### Type:

  - "average" | "averages" | "close" | "high" | "hlc" | "low" | "ohlc" | "open" | "range" | "sum"

#### DataLabelsFormatterCallbackFunction(this, options)

  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.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Point | Data label context to format
  `options` | Highcharts.DataLabelsOptions | API options of the data label

  ##### Returns:

  number | string | null | undefined .

  Formatted data label text

#### DataLabelsOverflowValue

  Values for handling data labels that flow outside the plot area.

  ##### Type:

  - "allow" | "justify"

#### DataParseDateCallbackFunction(dateValue)

  Callback function to parse string representations of dates into JavaScript timestamps (milliseconds since 1.1.1970).

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `dateValue` | string |

  ##### Returns:

  number .

  Timestamp (milliseconds since 1.1.1970) as integer for Date class.

#### DataParsedCallbackFunction(columns, ctx)

  Callback function to access the parsed columns, the two-dimensional input data array directly, before they are interpreted into series data and categories.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `columns` | Array.<Array.<Highcharts.DataValueType>> | The parsed columns by the data module.
  `ctx` | Highcharts.Data | The Data object instance.

  ##### Returns:

  boolean | undefined .

  Return `false` to stop completion, or call `this.complete()` to continue async.

#### DataTableColumn

  A column of values in a data table.

  ##### Type:

  - Array.<(boolean|null|number|string|undefined)> | Highcharts.TypedArray

#### DataTableColumnCollection

  A collection of data table columns defined by a object where the key is the column ID and the value is an array of the column values. Typed arrays are supported.

  ##### Type:

  - Record.<string, Highcharts.DataTableColumn>

#### DataValueType

  Possible types for a data item in a column or row.

  ##### Type:

  - number | string | null

#### DrilldownCallbackFunction(this, e)

  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.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Chart | The chart where the event occurs.
  `e` | Highcharts.DrilldownEventObject | The drilldown event.

#### DrillupAllCallbackFunction(this, e)

  This gets fired after all the series have been drilled up. This is especially useful in a chart with multiple drilldown series.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Chart | The chart where the event occurs.
  `e` | Highcharts.DrillupAllEventObject | The final drillup event.

#### DrillupCallbackFunction(this, e)

  Gets fired when drilling up from a drilldown series.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Chart | The chart where the event occurs.
  `e` | Highcharts.DrillupEventObject | The drillup event.

#### EventCallbackFunction(this [, eventArguments] [, ctx])

  The function callback to execute when the event is fired. The `this` context contains the instance, that fired the event.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | T |  |
  `eventArguments` | Highcharts.Dictionary.<*> | Event | <optional> | Event arguments.
  `ctx` | T | <optional> | Since v12.6.0, the callback context is passed as the last argument, so arrow functions can access the same context as regular functions using `this`.

  ##### Returns:

#### ExportDataCallbackFunction(this, event)

  Function callback to execute while data rows are processed for exporting. This allows the modification of data rows before processed into the final format.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Chart | Chart context where the event occurred.
  `event` | Highcharts.ExportDataEventObject | Event object with data rows that can be modified.

#### ExportingAfterPrintCallbackFunction(this, event)

  Gets fired after a chart is printed through the context menu item or the Chart.print method.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Chart | The chart on which the event occurred.
  `event` | global.Event | The event that occurred.

#### ExportingBeforePrintCallbackFunction(this, event)

  Gets fired before a chart is printed through the context menu item or the Chart.print method.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Chart | The chart on which the event occurred.
  `event` | global.Event | The event that occurred.

#### ExportingErrorCallbackFunction(options, err)

  Function to call if the offline-exporting module fails to export a chart on the client side.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `options` | Highcharts.ExportingOptions | The exporting options.
  `err` | global.Error | The error from the module.

#### ExportingMimeTypeValue

  Possible MIME types for exporting.

  ##### Type:

  - "image/png" | "image/jpeg" | "application/pdf" | "image/svg+xml"

#### FormatterCallbackFunction(this [, ctx])

  Formats data as a string. Usually the data is accessible through the `this` keyword.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | T |  | Context to format
  `ctx` | T | <optional> | Since v12.6.0, the callback context is passed as an extra argument, so arrow functions can access the same context as regular functions using `this`.

  ##### Returns:

  string .

  Formatted text

#### FullScreenfullscreenCloseCallbackFunction(chart, event)

  Gets fired when closing the fullscreen.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `chart` | Highcharts.Chart | The chart on which the event occurred.
  `event` | global.Event | The event that occurred.

#### FullScreenfullscreenOpenCallbackFunction(chart, event)

  Gets fired when opening the fullscreen.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `chart` | Highcharts.Chart | The chart on which the event occurred.
  `event` | global.Event | The event that occurred.

#### HTMLAttributes

  An object of key-value pairs for HTML attributes.

  ##### Type:

  - Highcharts.Dictionary.<(boolean|number|string|function())>

#### HTMLDOMElement

  An HTML DOM element. The type is a reference to the regular HTMLElement in the global scope.

  ##### Type:

  - global.HTMLElement
  See also:
    - https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement

#### LegendItemClickCallbackFunction(this, event [, ctx])

  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()`.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Legend |  | The legend on which the event occurred.
  `event` | Highcharts.LegendItemClickEventObject |  | The event that occurred.
  `ctx` | Highcharts.Legend | <optional> | Since v12.6.0, the legend context passed as an extra argument for arrow functions.

#### LonLatArray

  An array of longitude, latitude.

  ##### Type:

  - Array.<number>

#### MapDataType

  An array of GeoJSON or TopoJSON objects or strings used as map data for series.

  ##### Type:

  - Array.<*> | Highcharts.GeoJSON | Highcharts.TopoJSON | string

#### MapViewInsetOptionsRelativeToValue

  Possible values for the specific `relativeTo` option.

  ##### Type:

  - "mapBoundingBox" | "plotBox"

#### MapViewPaddingType

  The padding of the map view. Can be either a number of pixels, a percentage string, or an array of either. If an array is given, it sets the top, right, bottom, left paddings respectively.

  ##### Type:

  - number | string | Array.<(number|string)>

#### MarkerClusterDrillCallbackFunction(this, event)

  Function callback when a cluster is clicked.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Point | The point where the event occurred.
  `event` | Highcharts.PointClickEventObject | Event arguments.

#### NetworkgraphAfterSimulationCallbackFunction(this, event)

  Callback that fires after the end of Networkgraph series simulation when the layout is stable.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Series | The series where the event occurred.
  `event` | global.Event | The event that occurred.

#### NumberFormatterCallbackFunction(number, decimals [, decimalPoint] [, thousandsSep] [, ctx])

  Format a number and return a string based on input settings.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `number` | number |  | The input number to format.
  `decimals` | number |  | The amount of decimals. A value of -1 preserves the amount in the input number.
  `decimalPoint` | string | <optional> | The decimal point, defaults to the one given in the lang options, or a dot.
  `thousandsSep` | string | <optional> | The thousands separator, defaults to the one given in the lang options, or a space character.
  `ctx` | Highcharts.Chart | <optional> | Since v12.6.0, the chart context passed as an extra argument for arrow functions.

  ##### Returns:

  string .

  The formatted number.

#### ObjectEachCallbackFunction(this, value, key, obj)

  The iterator callback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | T | The context.
  `value` | * | The property value.
  `key` | string | The property key.
  `obj` | * | The object that objectEach is being applied to.

#### OrganizationHangingIndentTranslationValue

  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.

  ##### Type:

  - "inherit" | "cumulative" | "shrink"

#### PointClickCallbackFunction(this, event [, ctx])

  Function callback when a series point is clicked. Return false to cancel the action.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Point |  | The point where the event occurred.
  `event` | Highcharts.PointClickEventObject |  | Event arguments.
  `ctx` | Highcharts.Point | <optional> | Since v12.6.0, the point context passed as an extra argument for arrow functions.

#### PointDragCallbackFunction(this, event)

  Function callback to execute while series points are dragged. Return false to stop the default drag action.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Point | Point where the event occurred.
  `event` | Highcharts.PointDragEventObject | Event arguments.

#### PointDragStartCallbackFunction(this, event)

  Function callback to execute when a series point is dragged.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Point | Point where the event occurred.
  `event` | Highcharts.PointDragStartEventObject | Event arguments.

#### PointDropCallbackFunction(this, event)

  Function callback to execute when series points are dropped.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Point | Point where the event occurred.
  `event` | Highcharts.PointDropEventObject | Event arguments.

#### PointLegendItemClickCallbackFunction(this, event [, ctx])

  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.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Point |  | The point on which the event occurred.
  `event` | Highcharts.PointLegendItemClickEventObject |  | The event that occurred.
  `ctx` | Highcharts.Point | <optional> | Since v12.6.0, the point context passed as an extra argument for arrow functions.

  Deprecated:
    - 11.4.4

#### PointMouseOutCallbackFunction(this, event [, ctx])

  Gets fired when the mouse leaves the area close to the point.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Point |  | Point where the event occurred.
  `event` | global.PointerEvent |  | Event that occurred.
  `ctx` | Highcharts.Point | <optional> | Since v12.6.0, the point context passed as an extra argument for arrow functions.

#### PointMouseOverCallbackFunction(this, event [, ctx])

  Gets fired when the mouse enters the area close to the point.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Point |  | Point where the event occurred.
  `event` | global.Event |  | Event that occurred.
  `ctx` | Highcharts.Point | <optional> | Since v12.6.0, the point context passed as an extra argument for arrow functions.

#### PointOptionsType

  Possible option types for a data point. Use `null` to indicate a gap.

  ##### Type:

  - number | string | Highcharts.PointOptionsObject | Array.<(number|string|null)> | null

#### PointRemoveCallbackFunction(this, event [, ctx])

  Gets fired when the point is removed using the `.remove()` method.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Point |  | Point where the event occurred.
  `event` | global.Event |  | Event that occurred.
  `ctx` | Highcharts.Point | <optional> | Since v12.6.0, the point context passed as an extra argument for arrow functions.

#### PointSelectCallbackFunction(this, event [, ctx])

  Gets fired when the point is selected either programmatically or following a click on the point.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Point |  | Point where the event occurred.
  `event` | Highcharts.PointInteractionEventObject |  | Event that occurred.
  `ctx` | Highcharts.Point | <optional> | Since v12.6.0, the point context passed as an extra argument for arrow functions.

#### PointStateValue

  Possible key values for the point state options.

  ##### Type:

  - "hover" | "inactive" | "normal" | "select"

#### PointUnselectCallbackFunction(this, event [, ctx])

  Fires when the point is unselected either programmatically or following a click on the point.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Point |  | Point where the event occurred.
  `event` | Highcharts.PointInteractionEventObject |  | Event that occurred.
  `ctx` | Highcharts.Point | <optional> | Since v12.6.0, the point context passed as an extra argument for arrow functions.

#### PointUpdateCallbackFunction(this, event [, ctx])

  Gets fired when the point is updated programmatically through the `.update()` method.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Point |  | Point where the event occurred.
  `event` | Highcharts.PointUpdateEventObject |  | Event that occurred.
  `ctx` | Highcharts.Point | <optional> | Since v12.6.0, the point context passed as an extra argument for arrow functions.

#### ProjectionRotationOption

  Rotation of the projection in terms of degrees `[lambda, phi, gamma]`. 1st number is mandatory, while 2nd and 3rd are optional.

  ##### Type:

  - "TypeScript: [number]|[number,number]|[number,number,number]"

#### RelativeSize

  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.

  ##### Type:

  - number | string

#### SVGDOMElement

  An SVG DOM element. The type is a reference to the regular SVGElement in the global scope.

  ##### Type:

  - globals.GlobalSVGElement
  See also:
    - https://developer.mozilla.org/en-US/docs/Web/API/SVGElement

#### SVGPathArray

  Array of path commands, that will go into the `d` attribute of an SVG element.

  ##### Type:

  - Array.<(Array.<Highcharts.SVGPathCommand>|Array.<Highcharts.SVGPathCommand, number>|Array.<Highcharts.SVGPathCommand, number, number>|Array.<Highcharts.SVGPathCommand, number, number, number, number>|Array.<Highcharts.SVGPathCommand, number, number, number, number, number, number>|Array.<Highcharts.SVGPathCommand, number, number, number, number, number, number, number>)>

#### SVGPathCommand

  Possible path commands in an SVG path array. Valid values are `A`, `C`, `H`, `L`, `M`, `Q`, `S`, `T`, `V`, `Z`.

  ##### Type:

  - string

#### SeriesAfterAnimateCallbackFunction(this, event [, ctx])

  Function callback when a series has been animated.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Series |  | The series where the event occurred.
  `event` | Highcharts.SeriesAfterAnimateEventObject |  | Event arguments.
  `ctx` | Highcharts.Series | <optional> | Since v12.6.0, the series context passed as an extra argument for arrow functions.

#### SeriesCheckboxClickCallbackFunction(this, event)

  Function callback when the checkbox next to the series' name in the legend is clicked.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Series | The series where the event occurred.
  `event` | Highcharts.SeriesCheckboxClickEventObject | Event arguments.

#### SeriesClickCallbackFunction(this, event [, ctx])

  Function callback when a series is clicked. Return false to cancel toggle actions.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Series |  | The series where the event occurred.
  `event` | Highcharts.SeriesClickEventObject |  | Event arguments.
  `ctx` | Highcharts.Series | <optional> | Since v12.6.0, the series context passed as an extra argument for arrow functions.

#### SeriesHideCallbackFunction(this, event [, ctx])

  Gets fired when the series is hidden after chart generation time, either by clicking the legend item or by calling `.hide()`.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Series |  | The series where the event occurred.
  `event` | global.Event |  | The event that occurred.
  `ctx` | Highcharts.Series | <optional> | Since v12.6.0, the series context passed as an extra argument for arrow functions.

#### SeriesLegendItemClickCallbackFunction(this, event [, ctx])

  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()`.

  Note: This option is deprecated in favor of Highcharts.LegendItemClickCallbackFunction.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Series |  | The series where the event occurred.
  `event` | Highcharts.SeriesLegendItemClickEventObject |  | The event that occurred.
  `ctx` | Highcharts.Series | <optional> | Since v12.6.0, the series context passed as an extra argument for arrow functions.

  Deprecated:
    - 11.4.4

#### SeriesLinecapValue

  The SVG value used for the `stroke-linecap` and `stroke-linejoin` of a line graph.

  ##### Type:

  - "butt" | "round" | "square" | string

#### SeriesMouseOutCallbackFunction(this, event [, ctx])

  Gets fired when the mouse leaves the graph.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Series |  | Series where the event occurred.
  `event` | global.PointerEvent |  | Event that occurred.
  `ctx` | Highcharts.Series | <optional> | Since v12.6.0, the series context passed as an extra argument for arrow functions.

#### SeriesMouseOverCallbackFunction(this, event [, ctx])

  Gets fired when the mouse enters the graph.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Series |  | Series where the event occurred.
  `event` | global.PointerEvent |  | Event that occurred.
  `ctx` | Highcharts.Series | <optional> | Since v12.6.0, the series context passed as an extra argument for arrow functions.

#### SeriesOptionsType

  This is a placeholder type of the possible series options for Highcharts, Highcharts Stock, Highmaps, and Gantt.

  In TypeScript is this dynamically generated to reference all possible types of series options.

  ##### Type:

  - Highcharts.SeriesOptions | Highcharts.Dictionary.<*>

#### SeriesOrganizationNodesLayoutValue

  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.

  ##### Type:

  - "normal" | "hanging"

#### SeriesSankeyDataLabelsFormatterCallbackFunction(this)

  Formatter callback function.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `this` | Highcharts.Point | Data label context to format

  ##### Returns:

  string | undefined .

  Formatted data label text

#### SeriesShowCallbackFunction(this, event [, ctx])

  Gets fired when the series is shown after chart generation time, either by clicking the legend item or by calling `.show()`.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Series |  | Series where the event occurred.
  `event` | global.Event |  | Event that occurred.
  `ctx` | Highcharts.Series | <optional> | Since v12.6.0, the series context passed as an extra argument for arrow functions.

#### SeriesStateValue

  Possible key values for the series state options.

  ##### Type:

  - "hover" | "inactive" | "normal" | "select"

#### SonificationChartEventCallback(e)

  Callback function for sonification events on chart.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `e` | Highcharts.SonificationChartEventCallbackContext | Sonification chart event context

#### SonificationSeriesEventCallback(e)

  Callback function for sonification events on series.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `e` | Highcharts.SonificationSeriesEventCallbackContext | Sonification series event context

#### SonificationSynthPreset

  ##### Type:

  - "piano" | "plucked" | "flute" | "lead" | "vibraphone" | "saxophone" | "trumpet" | "sawsynth" | "basic1" | "basic2" | "chord" | "wobble" | "sine" | "sineGlide" | "triangle" | "sawtooth" | "square" | "chop" | "shaker" | "step" | "kick" | "shortnote" | "noise" | "filteredNoise" | "wind"

#### SonificationTimelineFilterCallback(e, ix, arr)

  Filter callback for filtering timeline events on a SonificationTimeline.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `e` | Highcharts.SonificationTimelineEvent | TimelineEvent being filtered
  `ix` | number | Index of TimelineEvent in current event array
  `arr` | Array.<Highcharts.SonificationTimelineEvent> | The current event array

  ##### Returns:

  boolean .

  The function should return true if the TimelineEvent should be included, false otherwise.

#### SymbolKeyValue

  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 Highcharts.SVGRenderer#symbols.

  ##### Type:

  - "arc" | "callout" | "circle" | "diamond" | "square" | "triangle" | "triangle-down"

#### SynthEnvelope

  ##### Type:

  - Array.<Highcharts.SynthEnvelopePoint>

#### SynthEnvelopePoint

  ##### Type:

  - Highcharts.Record.<("t"|"vol"), number>

#### SynthPatchOscillatorType

  ##### Type:

  - "sine" | "square" | "sawtooth" | "triangle" | "whitenoise" | "pulse"

#### TooltipFormatterCallbackFunction(this, tooltip [, ctx])

  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.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Point |  | The formatter's context is the hovered `Point` instance. In case of shared or split tooltips, all points are available in `this.points`.
  `tooltip` | Highcharts.Tooltip |  | The tooltip instance
  `ctx` | Highcharts.Point | <optional> | Since v12.6.0, the point context passed as an extra argument for arrow functions.

  ##### Returns:

  false | string | Array.<(string|null|undefined)> | null | undefined .

  Formatted text or false

#### TooltipPositionerCallbackFunction(this, labelWidth, labelHeight, point [, ctx])

  A callback function to place the tooltip in a specific position.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Tooltip |  | Tooltip context of the callback.
  `labelWidth` | number |  | Width of the tooltip.
  `labelHeight` | number |  | Height of the tooltip.
  `point` | Highcharts.TooltipPositionerPointObject |  | Point information for positioning a tooltip.
  `ctx` | Highcharts.Tooltip | <optional> | Since v12.6.0, the tooltip context passed as an extra argument for arrow functions.

  ##### Returns:

  Highcharts.PositionObject .

  New position for the tooltip.

#### TooltipShapeValue

  ##### Type:

  - "callout" | "circle" | "rect"

#### TopoJSON

  A TopoJSON object, see description on the project's GitHub page.

  ##### Type:

  - Object

#### TypedArray

  A typed array.

  ##### Type:

  - Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array

#### VerticalAlignValue

  The vertical alignment of an element.

  ##### Type:

  - "bottom" | "middle" | "top"

#### WrapProceedFunction( [arg1] [, arg2] [, arg3])

  Proceed function to call original (wrapped) function.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `arg1` | * | <optional> | Optional argument. Without any arguments defaults to first argument of the wrapping function.
  `arg2` | * | <optional> | Optional argument. Without any arguments defaults to second argument of the wrapping function.
  `arg3` | * | <optional> | Optional argument. Without any arguments defaults to third argument of the wrapping function.

  ##### Returns:

  * .

  Return value of the original function.

#### XAxisCrosshairLabelFormatterCallbackFunction(this, value [, ctx])

  Formatter function for the text of a crosshair label.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `this` | Highcharts.Axis |  | Axis context
  `value` | number |  | Y value of the data point
  `ctx` | Highcharts.Axis | <optional> | Since v12.6.0, the axis context passed as an extra argument for arrow functions.

  ##### Returns: