PageSourceSearch

https://www.grimaud-provence.com/app/dist/grimaud/addons/woody-lib…/es-modules/Core/Series/SeriesDefaults.js

js grimaud-provence.com collected 2026-09-26 04:49:42 UTC 98,068 bytes, 2,417 lines download raw bytes

1/* *
2 *
3 *  (c) 2010-2024 Torstein Honsi
4 *
5 *  License: www.highcharts.com/license
6 *
7 *  !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8 *
9 * */
10'use strict';
11/* *
12 *
13 *  API Options
14 *
15 * */
16/**
17 * General options for all series types.
18 *
19 * @optionparent plotOptions.series
20 */
21const seriesDefaults = {
22    // Base series options
23    /**
24     * The SVG value used for the `stroke-linecap` and `stroke-linejoin`
25     * of a line graph. Round means that lines are rounded in the ends and
26     * bends.
27     *
28     * @type       {Highcharts.SeriesLinecapValue}
29     * @default    round
30     * @since      3.0.7
31     * @apioption  plotOptions.line.linecap
32     */
33    /**
34     * Pixel width of the graph line.
35     *
36     * @see In styled mode, the line stroke-width can be set with the
37     *      `.highcharts-graph` class name.
38     *
39     * @sample {highcharts} highcharts/plotoptions/series-linewidth-general/
40     *         On all series
41     * @sample {highcharts} highcharts/plotoptions/series-linewidth-specific/
42     *         On one single series
43     *
44     * @product highcharts highstock
45     */
46    lineWidth: 2,
47    /**
48     * For some series, there is a limit that shuts down animation
49     * by default when the total number of points in the chart is too high.
50     * For example, for a column chart and its derivatives, animation does
51     * not run if there is more than 250 points totally. To disable this
52     * cap, set `animationLimit` to `Infinity`. This option works if animation
53     * is fired on individual points, not on a group of points like e.g. during
54     * the initial animation.
55     *
56     * @sample {highcharts} highcharts/plotoptions/series-animationlimit/
57     *         Animation limit on updating individual points
58     *
59     * @type      {number}
60     * @apioption plotOptions.series.animationLimit
61     */
62    /**
63     * Allow this series' points to be selected by clicking on the graphic
64     * (columns, point markers, pie slices, map areas etc).
65     *
66     * The selected points can be handled by point select and unselect
67     * events, or collectively by the [getSelectedPoints
68     * ](/class-reference/Highcharts.Chart#getSelectedPoints) function.
69     *
70     * And alternative way of selecting points is through dragging.
71     *
72     * @sample {highcharts} highcharts/plotoptions/series-allowpointselect-line/
73     *         Line
74     * @sample {highcharts} highcharts/plotoptions/series-allowpointselect-column/
75     *         Column
76     * @sample {highcharts} highcharts/plotoptions/series-allowpointselect-pie/
77     *         Pie
78     * @sample {highcharts} highcharts/chart/events-selection-points/
79     *         Select a range of points through a drag selection
80     * @sample {highmaps} maps/plotoptions/series-allowpointselect/
81     *         Map area
82     * @sample {highmaps} maps/plotoptions/mapbubble-allowpointselect/
83     *         Map bubble
84     *
85     * @since 1.2.0
86     *
87     * @private
88     */
89    allowPointSelect: false,
90    /**
91     * When true, each point or column edge is rounded to its nearest pixel
92     * in order to render sharp on screen. In some cases, when there are a
93     * lot of densely packed columns, this leads to visible difference
94     * in column widths or distance between columns. In these cases,
95     * setting `crisp` to `false` may look better, even though each column
96     * is rendered blurry.
97     *
98     * @sample {highcharts} highcharts/plotoptions/column-crisp-false/
99     *         Crisp is false
100     *
101     * @since   5.0.10
102     * @product highcharts highstock gantt
103     *
104     * @private
105     */
106    crisp: true,
107    /**
108     * If true, a checkbox is displayed next to the legend item to allow
109     * selecting the series. The state of the checkbox is determined by
110     * the `selected` option.
111     *
112     * @productdesc {highmaps}
113     * Note that if a `colorAxis` is defined, the color axis is represented
114     * in the legend, not the series.
115     *
116     * @sample {highcharts} highcharts/plotoptions/series-showcheckbox-true/
117     *         Show select box
118     *
119     * @since 1.2.0
120     *
121     * @private
122     */
123    showCheckbox: false,
124    /**
125     * Enable or disable the initial animation when a series is displayed.
126     * The animation can also be set as a configuration object. Please
127     * note that this option only applies to the initial animation of the
128     * series itself. For other animations, see [chart.animation](
129     * #chart.animation) and the animation parameter under the API methods.
130     * The following properties are supported:
131     *
132     * - `defer`: The animation delay time in milliseconds.
133     *
134     * - `duration`: The duration of the animation in milliseconds. (Defaults to
135     *   `1000`)
136     *
137     * - `easing`: Can be a string reference to an easing function set on
138     *   the `Math` object or a function. See the _Custom easing function_
139     *   demo below. (Defaults to `easeInOutSine`)
140     *
141     * Due to poor performance, animation is disabled in old IE browsers
142     * for several chart types.
143     *
144     * @sample {highcharts} highcharts/plotoptions/series-animation-disabled/
145     *         Animation disabled
146     * @sample {highcharts} highcharts/plotoptions/series-animation-slower/
147     *         Slower animation
148     * @sample {highcharts} highcharts/plotoptions/series-animation-easing/
149     *         Custom easing function
150     * @sample {highstock} stock/plotoptions/animation-slower/
151     *         Slower animation
152     * @sample {highstock} stock/plotoptions/animation-easing/
153     *         Custom easing function
154     * @sample {highmaps} maps/plotoptions/series-animation-true/
155     *         Animation enabled on map series
156     * @sample {highmaps} maps/plotoptions/mapbubble-animation-false/
157     *         Disabled on mapbubble series
158     *
159     * @type    {boolean|Highcharts.AnimationOptionsObject}
160     * @default {highcharts} true
161     * @default {highstock} true
162     * @default {highmaps} false
163     *
164     * @private
165     */
166    animation: {
167        /** @ignore-option */
168        duration: 1000
169    },
170    /**
171     * An additional class name to apply to the series' graphical elements.
172     * This option does not replace default class names of the graphical
173     * element. Changes to the series' color will also be reflected in a
174     * chart's legend and tooltip.
175     *
176     * @sample {highcharts} highcharts/css/point-series-classname
177     *         Series and point class name
178     *
179     * @type      {string}
180     * @since     5.0.0
181     * @apioption plotOptions.series.className
182     */
183    /**
184     * Disable this option to allow series rendering in the whole plotting
185     * area.
186     *
187     * **Note:** Clipping should be always enabled when
188     * [chart.zoomType](#chart.zoomType) is set
189     *
190     * @sample {highcharts} highcharts/plotoptions/series-clip/
191     *         Disabled clipping
192     *
193     * @default   true
194     * @type      {boolean}
195     * @since     3.0.0
196     * @apioption plotOptions.series.clip
197     */
198    /**
199     * The main color of the series. In line type series it applies to the
200     * line and the point markers unless otherwise specified. In bar type
201     * series it applies to the bars unless a color is specified per point.
202     * The default value is pulled from the `options.colors` array.
203     *
204     * In styled mode, the color can be defined by the
205     * [colorIndex](#plotOptions.series.colorIndex) option. Also, the series
206     * color can be set with the `.highcharts-series`,
207     * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
208     * `.highcharts-series-{n}` class, or individual classes given by the
209     * `className` option.
210     *
211     * @productdesc {highmaps}
212     * In maps, the series color is rarely used, as most choropleth maps use
213     * the color to denote the value of each point. The series color can
214     * however be used in a map with multiple series holding categorized
215     * data.
216     *
217     * @sample {highcharts} highcharts/plotoptions/series-color-general/
218     *         General plot option
219     * @sample {highcharts} highcharts/plotoptions/series-color-specific/
220     *         One specific series
221     * @sample {highcharts} highcharts/plotoptions/series-color-area/
222     *         Area color
223     * @sample {highcharts} highcharts/series/infographic/
224     *         Pattern fill
225     * @sample {highmaps} maps/demo/category-map/
226     *         Category map by multiple series
227     *
228     * @type      {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
229     * @apioption plotOptions.series.color
230     */
231    /**
232     * Styled mode only. A specific color index to use for the series, so its
233     * graphic representations are given the class name `highcharts-color-{n}`.
234     *
235     * Since v11, CSS variables on the form `--highcharts-color-{n}` make
236     * changing the color scheme very convenient.
237     *
238     * @sample    {highcharts} highcharts/css/colorindex/ Series and point color
239     *            index
240     *
241     * @type      {number}
242     * @since     5.0.0
243     * @apioption plotOptions.series.colorIndex
244     */
245    /**
246     * Whether to connect a graph line across null points, or render a gap
247     * between the two points on either side of the null.
248     *
249     * In stacked area chart, if `connectNulls` is set to true,
250     * null points are interpreted as 0.
251     *
252     * @sample {highcharts} highcharts/plotoptions/series-connectnulls-false/
253     *         False by default
254     * @sample {highcharts} highcharts/plotoptions/series-connectnulls-true/
255     *         True
256     *
257     * @type      {boolean}
258     * @default   false
259     * @product   highcharts highstock
260     * @apioption plotOptions.series.connectNulls
261     */
262    /**
263     * You can set the cursor to "pointer" if you have click events attached
264     * to the series, to signal to the user that the points and lines can
265     * be clicked.
266     *
267     * In styled mode, the series cursor can be set with the same classes
268     * as listed under [series.color](#plotOptions.series.color).
269     *
270     * @sample {highcharts} highcharts/plotoptions/series-cursor-line/
271     *         On line graph
272     * @sample {highcharts} highcharts/plotoptions/series-cursor-column/
273     *         On columns
274     * @sample {highcharts} highcharts/plotoptions/series-cursor-scatter/
275     *         On scatter markers
276     * @sample {highstock} stock/plotoptions/cursor/
277     *         Pointer on a line graph
278     * @sample {highmaps} maps/plotoptions/series-allowpointselect/
279     *         Map area
280     * @sample {highmaps} maps/plotoptions/mapbubble-allowpointselect/
281     *         Map bubble
282     *
283     * @type      {string|Highcharts.CursorValue}
284     * @apioption plotOptions.series.cursor
285     */
286    /**
287     * A reserved subspace to store options and values for customized
288     * functionality. Here you can add additional data for your own event
289     * callbacks and formatter callbacks.
290     *
291     * @sample {highcharts} highcharts/point/custom/
292     *         Point and series with custom data
293     *
294     * @type      {Highcharts.Dictionary<*>}
295     * @apioption plotOptions.series.custom
296     */
297    /**
298     * Name of the dash style to use for the graph, or for some series types
299     * the outline of each shape.
300     *
301     * In styled mode, the
302     * [stroke dash-array](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/css/series-dashstyle/)
303     * can be set with the same classes as listed under
304     * [series.color](#plotOptions.series.color).
305     *
306     * @sample {highcharts} highcharts/plotoptions/series-dashstyle-all/
307     *         Possible values demonstrated
308     * @sample {highcharts} highcharts/plotoptions/series-dashstyle/
309     *         Chart suitable for printing in black and white
310     * @sample {highstock} highcharts/plotoptions/series-dashstyle-all/
311     *         Possible values demonstrated
312     * @sample {highmaps} highcharts/plotoptions/series-dashstyle-all/
313     *         Possible values demonstrated
314     * @sample {highmaps} maps/plotoptions/series-dashstyle/
315     *         Dotted borders on a map
316     *
317     * @type      {Highcharts.DashStyleValue}
318     * @default   Solid
319     * @since     2.1
320     * @apioption plotOptions.series.dashStyle
321     */
322    /**
323     * A description of the series to add to the screen reader information
324     * about the series.
325     *
326     * @type      {string}
327     * @since     5.0.0
328     * @requires  modules/accessibility
329     * @apioption plotOptions.series.description
330     */
331    /**
332     * Options for the series data sorting.
333     *
334     * @type      {Highcharts.DataSortingOptionsObject}
335     * @since     8.0.0
336     * @product   highcharts highstock
337     * @apioption plotOptions.series.dataSorting
338     */
339    /**
340     * Enable or disable data sorting for the series. Use [xAxis.reversed](
341     * #xAxis.reversed) to change the sorting order.
342     *
343     * @sample {highcharts} highcharts/datasorting/animation/
344     *         Data sorting in scatter-3d
345     * @sample {highcharts} highcharts/datasorting/labels-animation/
346     *         Axis labels animation
347     * @sample {highcharts} highcharts/datasorting/dependent-sorting/
348     *         Dependent series sorting
349     * @sample {highcharts} highcharts/datasorting/independent-sorting/
350     *         Independent series sorting
351     *
352     * @type      {boolean}
353     * @since     8.0.0
354     * @apioption plotOptions.series.dataSorting.enabled
355     */
356    /**
357     * Whether to allow matching points by name in an update. If this option
358     * is disabled, points will be matched by order.
359     *
360     * @sample {highcharts} highcharts/datasorting/match-by-name/
361     *         Enabled match by name
362     *
363     * @type      {boolean}
364     * @since     8.0.0
365     * @apioption plotOptions.series.dataSorting.matchByName
366     */
367    /**
368     * Determines what data value should be used to sort by.
369     *
370     * @sample {highcharts} highcharts/datasorting/sort-key/
371     *         Sort key as `z` value
372     *
373     * @type      {string}
374     * @since     8.0.0
375     * @default   y
376     * @apioption plotOptions.series.dataSorting.sortKey
377     */
378    /**
379     * Enable or disable the mouse tracking for a specific series. This
380     * includes point tooltips and click events on graphs and points. For
381     * large datasets it improves performance.
382     *
383     * @sample {highcharts} highcharts/plotoptions/series-enablemousetracking-false/
384     *         No mouse tracking
385     * @sample {highmaps} maps/plotoptions/series-enablemousetracking-false/
386     *         No mouse tracking
387     *
388     * @type      {boolean}
389     * @default   true
390     * @apioption plotOptions.series.enableMouseTracking
391     */
392    enableMouseTracking: true,
393    /**
394     * Whether to use the Y extremes of the total chart width or only the
395     * zoomed area when zooming in on parts of the X axis. By default, the
396     * Y axis adjusts to the min and max of the visible data. Cartesian
397     * series only.
398     *
399     * @type      {boolean}
400     * @default   false
401     * @since     4.1.6
402     * @product   highcharts highstock gantt
403     * @apioption plotOptions.series.getExtremesFromAll
404     */
405    /**
406     * Highlight only the hovered point and fade the remaining points.
407     *
408     * Scatter-type series require enabling the 'inactive' marker state and
409     * adjusting opacity. Note that this approach could affect performance
410     * with large datasets.
411     *
412     * @sample {highcharts} highcharts/plotoptions/series-inactiveotherpoints-enabled/
413     *         Chart with inactiveOtherPoints option enabled.
414     *
415     * @type      {boolean}
416     * @default   false
417     * @apioption plotOptions.series.inactiveOtherPoints
418     */
419    /**
420     * An array specifying which option maps to which key in the data point
421     * array. This makes it convenient to work with unstructured data arrays
422     * from different sources.
423     *
424     * @see [series.data](#series.line.data)
425     *
426     * @sample {highcharts|highstock} highcharts/series/data-keys/
427     *         An extended data array with keys
428     * @sample {highcharts|highstock}
428 highcharts/series/data-nested-keys/
429     *         Nested keys used to access object properties
430     *
431     * @type      {Array<string>}
432     * @since     4.1.6
433     * @apioption plotOptions.series.keys
434     */
435    /**
436     * The line cap used for line ends and line joins on the graph.
437     *
438     * @sample highcharts/series-line/linecap/
439     *         Line cap comparison
440     *
441     * @type       {Highcharts.SeriesLinecapValue}
442     * @default    round
443     * @product    highcharts highstock
444     * @apioption  plotOptions.series.linecap
445     */
446    /**
447     * The [id](#series.id) of another series to link to. Additionally,
448     * the value can be ":previous" to link to the previous series. When
449     * two series are linked, only the first one appears in the legend.
450     * Toggling the visibility of this also toggles the linked series.
451     *
452     * If master series uses data sorting and linked series does not have
453     * its own sorting definition, the linked series will be sorted in the
454     * same order as the master one.
455     *
456     * @sample {highcharts|highstock} highcharts/demo/arearange-line/
457     *         Linked series
458     *
459     * @type      {string}
460     * @since     3.0
461     * @product   highcharts highstock gantt
462     * @apioption plotOptions.series.linkedTo
463     */
464    /**
465     * Options for the corresponding navigator series if `showInNavigator`
466     * is `true` for this series. Available options are the same as any
467     * series, documented at [plotOptions](#plotOptions.series) and
468     * [series](#series).
469     *
470     * These options are merged with options in [navigator.series](
471     * #navigator.series), and will take precedence if the same option is
472     * defined both places.
473     *
474     * @see [navigator.series](#navigator.series)
475     *
476     * @type      {Highcharts.PlotSeriesOptions}
477     * @since     5.0.0
478     * @product   highstock
479     * @apioption plotOptions.series.navigatorOptions
480     */
481    /**
482     * The color for the parts of the graph or points that are below the
483     * [threshold](#plotOptions.series.threshold). Note that `zones` takes
484     * precedence over the negative color. Using `negativeColor` is
485     * equivalent to applying a zone with value of 0.
486     *
487     * @see In styled mode, a negative color is applied by setting this option
488     *      to `true` combined with the `.highcharts-negative` class name.
489     *
490     * @sample {highcharts} highcharts/plotoptions/series-negative-color/
491     *         Spline, area and column
492     * @sample {highcharts} highcharts/plotoptions/arearange-negativecolor/
493     *         Arearange
494     * @sample {highcharts} highcharts/css/series-negative-color/
495     *         Styled mode
496     * @sample {highstock} highcharts/plotoptions/series-negative-color/
497     *         Spline, area and column
498     * @sample {highstock} highcharts/plotoptions/arearange-negativecolor/
499     *         Arearange
500     * @sample {highmaps} highcharts/plotoptions/series-negative-color/
501     *         Spline, area and column
502     * @sample {highmaps} highcharts/plotoptions/arearange-negativecolor/
503     *         Arearange
504     *
505     * @type      {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
506     * @since     3.0
507     * @apioption plotOptions.series.negativeColor
508     */
509    /**
510     * Same as
511     * [accessibility.point.descriptionFormat](#accessibility.point.descriptionFormat),
512     * but for an individual series. Overrides the chart wide configuration.
513     *
514     * @type      {Function}
515     * @since 11.1.0
516     * @apioption plotOptions.series.pointDescriptionFormat
517     */
518    /**
519     * Same as
520     * [accessibility.series.descriptionFormatter](#accessibility.series.descriptionFormatter),
521     * but for an individual series. Overrides the chart wide configuration.
522     *
523     * @type      {Function}
524     * @since     5.0.12
525     * @apioption plotOptions.series.pointDescriptionFormatter
526     */
527    /**
528     * If no x values are given for the points in a series, `pointInterval`
529     * defines the interval of the x values. For example, if a series
530     * contains one value every decade starting from year 0, set
531     * `pointInterval` to `10`. In true `datetime` axes, the `pointInterval`
532     * is set in milliseconds.
533     *
534     * It can be also be combined with `pointIntervalUnit` to draw irregular
535     * time intervals.
536     *
537     * If combined with `relativeXValue`, an x value can be set on each
538     * point, and the `pointInterval` is added x times to the `pointStart`
539     * setting.
540     *
541     * Please note that this options applies to the _series data_, not the
542     * interval of the axis ticks, which is independent.
543     *
544     * @sample {highcharts} highcharts/plotoptions/series-pointstart-datetime/
545     *         Datetime X axis
546     * @sample {highcharts} highcharts/plotoptions/series-relativexvalue/
547     *         Relative x value
548     * @sample {highstock} stock/plotoptions/pointinterval-pointstart/
549     *         Using pointStart and pointInterval
550     * @sample {highstock} stock/plotoptions/relativexvalue/
551     *         Relative x value
552     *
553     * @type      {number}
554     * @default   1
555     * @product   highcharts highstock gantt
556     * @apioption plotOptions.series.pointInterval
557     */
558    /**
559     * On datetime series, this allows for setting the
560     * [pointInterval](#plotOptions.series.pointInterval) to irregular time
561     * units, `day`, `month` and `year`. A day is usually the same as 24
562     * hours, but `pointIntervalUnit` also takes the DST crossover into
563     * consideration when dealing with local time. Combine this option with
564     * `pointInterval` to draw weeks, quarters, 6 months, 10 years etc.
565     *
566     * Please note that this options applies to the _series data_, not the
567     * interval of the axis ticks, which is independent.
568     *
569     * @sample {highcharts} highcharts/plotoptions/series-pointintervalunit/
570     *         One point a month
571     * @sample {highstock} highcharts/plotoptions/series-pointintervalunit/
572     *         One point a month
573     *
574     * @type       {string}
575     * @since      4.1.0
576     * @product    highcharts highstock gantt
577     * @validvalue ["day", "month", "year"]
578     * @apioption  plotOptions.series.pointIntervalUnit
579     */
580    /**
581     * Possible values: `"on"`, `"between"`, `number`.
582     *
583     * In a column chart, when pointPlacement is `"on"`, the point will not
584     * create any padding of the X axis. In a polar column chart this means
585     * that the first column points directly north. If the pointPlacement is
586     * `"between"`, the columns will be laid out between ticks. This is
587     * useful for example for visualising an amount between two points in
588     * time or in a certain sector of a polar chart.
589     *
590     * Since Highcharts 3.0.2, the point placement can also be numeric,
591     * where 0 is on the axis value, -0.5 is between this value and the
592     * previous, and 0.5 is between this value and the next. Unlike the
593     * textual options, numeric point placement options won't affect axis
594     * padding.
595     *
596     * Note that pointPlacement needs a [pointRange](
597     * #plotOptions.series.pointRange) to work. For column series this is
598     * computed, but for line-type series it needs to be set.
599     *
600     * For the `xrange` series type and gantt charts, if the Y axis is a
601     * category axis, the `pointPlacement` applies to the Y axis rather than
602     * the (typically datetime) X axis.
603     *
604     * Defaults to `undefined` in cartesian charts, `"between"` in polar
605     * charts.
606     *
607     * @see [xAxis.tickmarkPlacement](#xAxis.tickmarkPlacement)
608     *
609     * @sample {highcharts|highstock} highcharts/plotoptions/series-pointplacement-between/
610     *         Between in a column chart
611     * @sample {highcharts|highstock} highcharts/plotoptions/series-pointplacement-numeric/
612     *         Numeric placement for custom layout
613     * @sample {highcharts|highstock} maps/plotoptions/heatmap-pointplacement/
614     *         Placement in heatmap
615     *
616     * @type      {string|number}
617     * @since     2.3.0
618     * @product   highcharts highstock gantt
619     * @apioption plotOptions.series.pointPlacement
620     */
621    /**
622     * If no x values are given for the points in a series, `pointStart`
623     * defines on what value to start. For example, if a series contains one
624     * yearly value starting from 1945, set `pointStart` to 1945.
625     *
626     * The `pointStart` setting can be a number, or a datetime string that is
627     * parsed according to the `time.timezone` setting.
628     *
629     * If combined with `relativeXValue`, an x value can be set on each
630     * point. The x value from the point options is multiplied by
631     * `pointInterval` and added to `pointStart` to produce a modified x
632     * value.
633     *
634     * @sample {highcharts} highcharts/plotoptions/series-pointstart-linear/
635     *         Linear
636     * @sample {highcharts} highcharts/plotoptions/series-pointstart-datetime/
637     *         Datetime
638     * @sample {highcharts} highcharts/plotoptions/series-relativexvalue/
639     *         Relative x value
640     * @sample {highstock} stock/plotoptions/pointinterval-pointstart/
641     *         Using pointStart and pointInterval
642     * @sample {highstock} stock/plotoptions/relativexvalue/
643     *         Relative x value
644     *
645     * @type      {number|string}
646     * @default   0
647     * @product   highcharts highstock gantt
648     * @apioption plotOptions.series.pointStart
649     */
650    /**
651     * When true, X values in the data set are relative to the current
652     * `pointStart`, `pointInterval` and `pointIntervalUnit` settings. This
653     * allows compression of the data for datasets with irregular X values.
654     *
655     * The real X values are computed on the formula `f(x) = ax + b`, where
656     * `a` is the `pointInterval` (optionally with a time unit given by
657     * `pointIntervalUnit`), and `b` is the `pointStart`.
658     *
659     * @sample {highcharts} highcharts/plotoptions/series-relativexvalue/
660     *         Relative X value
661     * @sample {highstock} stock/plotoptions/relativexvalue/
662     *         Relative X value
663     *
664     * @type      {boolean}
665     * @default   false
666     * @product   highcharts highstock
667     * @apioption plotOptions.series.relativeXValue
668     */
669    /**
670     * Whether to select the series initially. If `showCheckbox` is true,
671     * the checkbox next to the series name in the legend will be checked
672     * for a selected series.
673     *
674     * @sample {highcharts} highcharts/plotoptions/series-selected/
675     *         One out of two series selected
676     *
677     * @type      {boolean}
678     * @default   false
679     * @since     1.2.0
680     * @apioption plotOptions.series.selected
681     */
682    /**
683     * Whether to apply a drop shadow to the graph line. Since 2.3 the
684     * shadow can be an object configuration containing `color`, `offsetX`,
685     * `offsetY`, `opacity` and `width`.
686     *
687     * Note that in some cases, like stacked columns or other dense layouts, the
688     * series may cast shadows on each other. In that case, the
689     * `chart.seriesGroupShadow` allows applying a common drop shadow to the
690     * whole series group.
691     *
692     * @sample {highcharts} highcharts/plotoptions/series-shadow/
693     *         Shadow enabled
694     *
695     * @type      {boolean|Highcharts.ShadowOptionsObject}
696     * @default   false
697     * @apioption plotOptions.series.shadow
698     */
699    /**
700     * Whether to display this particular series or series type in the
701     * legend. Standalone series are shown in legend by default, and linked
702     * series are not. Since v7.2.0 it is possible to show series that use
703     * colorAxis by setting this option to `true`.
704     *
705     * @sample {highcharts} highcharts/plotoptions/series-showinlegend/
706     *         One series in the legend, one hidden
707     *
708     * @type      {boolean}
709     * @apioption plotOptions.series.showInLegend
710     */
711    /**
712     * Whether or not to show the series in the navigator. Takes precedence
713     * over [navigator.baseSeries](#navigator.baseSeries) if defined.
714     *
715     * @type      {boolean}
716     * @since     5.0.0
717     * @product   highstock
718     * @apioption plotOptions.series.showInNavigator
719     */
720    /**
721     * If set to `true`, the accessibility module will skip past the points
722     * in this series for keyboard navigation.
723     *
724     * @type      {boolean}
725     * @since     5.0.12
726     * @apioption plotOptions.series.skipKeyboardNavigation
727     */
728    /**
729     * Whether to stack the values of each series on top of each other.
730     * Possible values are `undefined` to disable, `"normal"` to stack by
731     * value or `"percent"`.
732     *
733     * When stacking is enabled, data must be sorted
734     * in ascending X order.
735     *
736     * Some stacking options are related to specific series types. In the
737     * streamgraph series type, the stacking option is set to `"stream"`.
738     * The second one is `"overlap"`, which only applies to waterfall
739     * series.
740     *
741     * @see [yAxis.reversedStacks](#yAxis.reversedStacks)
742     *
743     * @sample {highcharts} highcharts/plotoptions/series-stacking-line/
744     *         Line
745     * @sample {highcharts} highcharts/plotoptions/series-stacking-column/
746     *         Column
747     * @sample {highcharts} highcharts/plotoptions/series-stacking-bar/
748     *         Bar
749     * @sample {highcharts} highcharts/plotoptions/series-stacking-area/
750     *         Area
751     * @sample {highcharts} highcharts/plotoptions/series-stacking-percent-line/
752     *         Line
753     * @sample {highcharts} highcharts/plotoptions/series-stacking-percent-column/
754     *         Column
755     * @sample {highcharts} highcharts/plotoptions/series-stacking-percent-bar/
756     *         Bar
757     * @sample {highcharts} highcharts/plotoptions/series-stacking-percent-area/
758     *         Area
759     * @sample {highcharts} highcharts/plotoptions/series-waterfall-with-normal-stacking
760     *         Waterfall with normal stacking
761     * @sample {highcharts} highcharts/plotoptions/series-waterfall-with-overlap-stacking
762     *         Waterfall with overlap stacking
763     * @sample {highstock} stock/plotoptions/stacking/
764     *         Area
765     *
766     * @type       {string}
767     * @product    highcharts highstock
768     * @validvalue ["normal", "overlap", "percent", "stream"]
769     * @apioption  plotOptions.series.stacking
770     */
771    /**
772     * Whether to apply steps to the line. Possible values are `left`,
773     * `center` and `right`.
774     *
775     * @sample {highcharts} highcharts/plotoptions/line-step/
776     *         Different step line options
777     * @sample {highcharts} highcharts/plotoptions/area-step/
778     *         Stepped, stacked area
779     * @sample {highstock} stock/plotoptions/line-step/
780     *         Step line
781     *
782     * @type       {string}
783     * @since      1.2.5
784     * @product    highcharts highstock
785     * @validvalue ["left", "center", "right"]
786     * @apioption  plotOptions.series.step
787     */
788    /**
789     * The threshold, also called zero level or base level. For line type
790     * series this is only used in conjunction with
791     * [negativeColor](#plotOptions.series.negativeColor).
792     *
793     * @see [softThreshold](#plotOptions.series.softThreshold).
794     *
795     * @type      {number|null}
796     * @default   0
797     * @since     3.0
798     * @product   highcharts highstock
799     * @apioption plotOptions.series.threshold
800     */
801    /**
802     * Set the initial visibility of the series.
803     *
804     * @sample {highcharts} highcharts/plotoptions/series-visible/
805     *         Two series, one hidden and one visible
806     * @sample {highstock} stock/plotoptions/series-visibility/
807     *         Hidden series
808     *
809     * @type      {boolean}
810     * @default   true
811     * @apioption plotOptions.series.visible
812     */
813    /**
814     * Defines the Axis on which the zones are applied.
815     *
816     * @see [zones](#plotOptions.series.zones)
817     *
818     * @sample {highcharts} highcharts/series/color-zones-zoneaxis-x/
819     *         Zones on the X-Axis
820     * @sample {highstock} highcharts/series/color-zones-zoneaxis-x/
821     *         Zones on the X-Axis
822     *
823     * @type      {string}
824     * @default   y
825     * @since     4.1.0
826     * @product   highcharts highstock
827     * @apioption plotOptions.series.zoneAxis
828     */
829    /**
830     * General event handlers for the series items. These event hooks can
831     * also be attached to the series at run time using the
832     * `Highcharts.addEvent` function.
833     *
834     * @declare Highcharts.SeriesEventsOptionsObject
835     *
836     * @private
837     */
838    events: {},
839    /**
840     * Fires after the series has finished its initial animation, or in case
841     * animation is disabled, immediately as the series is displayed.
842     *
843     * @sample {highcharts} highcharts/plotoptions/series-events-afteranimate/
844     *         Show label after animate
845     * @sample {highstock} highcharts/plotoptions/series-events-afteranimate/
846     *         Show label after animate
847     *
848     * @type      {Highcharts.SeriesAfterAnimateCallbackFunction}
849     * @since     4.0
850     * @product   highcharts highstock gantt
851     * @context   Highcharts.Series
852     * @apioption plotOptions.series.events.afterAnimate
853     */
854    /**
855     * Fires when the checkbox next to the series' name in the legend is
856     * clicked. One parameter, `event`, is passed to the function. The state
857     * of the checkbox is found by `event.checked`. The checked item is
858     * found by `event.item`. Return `false` to prevent the default action
859     * which is to toggle the select state of the series.
860     *
861     * @sample {highcharts} highcharts/plotoptions/series-events-checkboxclick/
862     *         Alert checkbox status
863     *
864     * @type      {Highcharts.SeriesCheckboxClickCallbackFunction}
865     * @since     1.2.0
866     * @context   Highcharts.Series
867     * @apioption plotOptions.series.events.checkboxClick
868     */
869    /**
870     * Fires when the series is clicked. One parameter, `event`, is passed
871     * to the function, containing common event information. Additionally,
872     * `event.point` holds a pointer to the nearest point on the graph.
873     *
874     * @sample {highcharts} highcharts/plotoptions/series-events-click/
875     *         Alert click info
876     * @sample {highstock} stock/plotoptions/series-events-click/
877     *         Alert click info
878     * @sample {highmaps} maps/plotoptions/series-events-click/
879     *         Display click info in subtitle
880     *
881     * @type      {Highcharts.SeriesClickCallbackFunction}
882     * @context   Highcharts.Series
883     * @apioption plotOptions.series.events.click
884     */
885    /**
886     * Fires when the series is hidden after chart generation time, either
887     * by clicking the legend item or by calling `.hide()`.
888     *
889     * @sample {highcharts} highcharts/plotoptions/series-events-hide/
890     *         Alert when the series is hidden by clicking the legend item
891     *
892     * @type      {Highcharts.SeriesHideCallbackFunction}
893     * @since     1.2.0
894     * @context   Highcharts.Series
895     * @apioption plotOptions.series.events.hide
896     */
897    /**
898     * Fires when the legend item belonging to the series is clicked. One
899     * parameter, `event`, is passed to the function. The default action
900     * is to toggle the visibility of the series. This can be prevented
901     * by returning `false` or calling `event.preventDefault()`.
902     *
903     * **Note:** This option is deprecated in favor of
904     * [legend.events.itemClick](#legend.events.itemClick).
905     *
906     * @type       {Highcharts.SeriesLegendItemClickCallbackFunction}
907     * @deprecated 11.4.4
908     * @context    Highcharts.Series
909     * @apioption  plotOptions.series.events.legendItemClick
910     */
911    /**
912     * Fires when the mouse leaves the graph. One parameter, `event`, is
913     * passed to the function, containing common event information. If the
914     * [stickyTracking](#plotOptions.series) option is true, `mouseOut`
915     * doesn't happen before the mouse enters another graph or leaves the
916     * plot area.
917     *
918     * @sample {highcharts} highcharts/plotoptions/series-events-mouseover-sticky/
919     *         With sticky tracking by default
920     * @sample {highcharts} highcharts/plotoptions/series-events-mouseover-no-sticky/
921     *         Without sticky tracking
922     *
923     * @type      {Highcharts.SeriesMouseOutCallbackFunction}
924     * @context   Highcharts.Series
925     * @apioption plotOptions.series.events.mouseOut
926     */
927    /**
928     * Fires when the mouse enters the graph. One parameter, `event`, is
929     * passed to the function, containing common event information.
930     *
931     * @sample {highcharts} highcharts/plotoptions/series-events-mouseover-sticky/
932     *         With sticky tracking by default
933     * @sample {highcharts} highcharts/plotoptions/series-events-mouseover-no-sticky/
934     *         Without sticky tracking
935     *
936     * @type      {Highcharts.SeriesMouseOverCallbackFunction}
937     * @context   Highcharts.Series
938     * @apioption plotOptions.series.events.mouseOver
939     */
940    /**
941     * Fires when the series is shown after chart generation time, either
942     * by clicking the legend item or by calling `.show()`.
943     *
944     * @sample {highcharts} highcharts/plotoptions/series-events-show/
945     *         Alert when the series is shown by clicking the legend item.
946     *
947     * @type      {Highcharts.SeriesShowCallbackFunction}
948     * @since     1.2.0
949     * @context   Highcharts.Series
950     * @apioption plotOptions.series.events.show
951     */
952    /**
953     * Options for the point markers of line and scatter-like series. Properties
954     * like `fillColor`, `lineColor` and `lineWidth` define the visual
955     * appearance of the markers. The `symbol` option defines the shape. Other
956     * series types, like column series, don't have markers, but have visual
957     * options on the series level instead.
958     *
959     * In styled mode, the markers can be styled with the `.highcharts-point`,
960     * `.highcharts-point-hover` and `.highcharts-point-select` class names.
961     *
962     * @declare Highcharts.PointMarkerOptionsObject
963     *
964     * @sample {highmaps} maps/demo/mappoint-mapmarker
965     *         Using the mapmarker symbol for points
966     *
967     * @private
968     */
969    marker: {
970        /**
971         * Enable or disable the point marker. If `undefined`, the markers
972         * are hidden when the data is dense, and shown for more widespread
973         * data points.
974         *
975         * @sample {highcharts} highcharts/plotoptions/series-marker-enabled/
976         *         Disabled markers
977         * @sample {highcharts} highcharts/plotoptions/series-marker-enabled-false/
978         *         Disabled in normal state but enabled on hover
979         * @sample {highstock} stock/plotoptions/series-marker/
980         *         Enabled markers
981         *
982         * @type      {boolean}
983         * @default   {highcharts} undefined
984         * @default   {highstock} false
985         * @apioption plotOptions.series.marker.enabled
986         */
987        /**
988         * The threshold for how dense the point markers should be before
989         * they are hidden, given that `enabled` is not defined. The number
990         * indicates the horizontal distance between the two closest points
991         * in the series, as multiples of the `marker.radius`. In other
992         * words, the default value of 2 means points are hidden if
993         * overlapping horizontally.
994         *
995         * @sample highcharts/plotoptions/series-marker-enabledthreshold
996         *         A higher threshold
997         *
998         * @since 6.0.5
999         */
1000        enabledThreshold: 2,
1001        /**
1002         * The fill color of the point marker. When `undefined`, the series'
1003         * or point's color is used.
1004         *
1005         * @sample {highcharts} highcharts/plotoptions/series-marker-fillcolor/
1006         *         White fill
1007         *
1008         * @type      {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
1009         * @apioption plotOptions.series.marker.fillColor
1010         */
1011        /**
1012         * Image markers only. Set the image width explicitly. When using
1013         * this option, a `width` must also be set.
1014         *
1015         * @sample {highcharts} highcharts/plotoptions/series-marker-width-height/
1016         *         Fixed width and height
1017         * @sample {highstock} highcharts/plotoptions/series-marker-width-height/
1018         *         Fixed width and height
1019         *
1020         * @type      {number}
1021         * @since     4.0.4
1022         * @apioption plotOptions.series.marker.height
1023         */
1024        /**
1025         * The color of the point marker's outline. When `undefined`, the
1026         * series' or point's color is used.
1027         *
1028         * @sample {highcharts} highcharts/plotoptions/series-marker-fillcolor/
1029         *         Inherit from series color (undefined)
1030         *
1031         * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
1032         */
1033        lineColor: "#ffffff" /* Palette.backgroundColor */,
1034        /**
1035         * The width of the point marker's outline.
1036         *
1037         * @sample {highcharts} highcharts/plotoptions/series-marker-fillcolor/
1038         *         2px blue marker
1039         */
1040        lineWidth: 0,
1041        /**
1042         * The radius of the point marker.
1043         *
1044         * @sample {highcharts} highcharts/plotoptions/series-marker-radius/
1045         *         Bigger markers
1046         *
1047         * @default {highstock} 2
1048         * @default {highcharts} 4
1049         *
1050         */
1051        radius: 4,
1052        /**
1053         * A predefined shape or symbol for the marker. When undefined, the
1054         * symbol is pulled from options.symbols. Other possible values are
1055         * `'circle'`, `'square'`,`'diamond'`, `'triangle'` and
1056         * `'triangle-down'`.
1057         *
1058         * Additionally, the URL to a graphic can be given on this form:
1059         * `'url(graphic.png)'`. Note that for the image to be applied to
1060         * exported charts, its URL needs to be accessible by the export
1061         * server.
1062         *
1063         * Custom callbacks for symbol path generation can also be added to
1064         * `Highcharts.SVGRenderer.prototype.symbols`. The callback is then
1065         * used by its method name, as shown in the demo.
1066         *
1067         * @sample {highcharts} highcharts/plotoptions/series-marker-symbol/
1068         *         Predefined, graphic and custom markers
1069         * @sample {highstock} highcharts/plotoptions/series-marker-symbol/
1070         *         Predefined, graphic and custom markers
1071         * @sample {highmaps} maps/demo/mappoint-mapmarker
1072         *         Using the mapmarker symbol for points
1073         *
1074         * @type      {string}
1075         * @apioption plotOptions.series.marker.symbol
1076         */
1077        /**
1078         * Image markers only. Set the image width explicitly. When using
1079         * this option, a `height` must also be set.
1080         *
1081         * @sample {highcharts} highcharts/plotoptions/series-marker-width-height/
1082         *         Fixed width and height
1083         * @sample {highstock} highcharts/plotoptions/series-marker-width-height/
1084         *         Fixed width and height
1085         *
1086         * @type      {number}
1087         * @since     4.0.4
1088         * @apioption plotOptions.series.marker.width
1089         */
1090        /**
1091         * States for a single point marker.
1092         *
1093         * @declare Highcharts.PointStatesOptionsObject
1094         */
1095        states: {
1096            /**
1097             * The normal state of a single point marker. Currently only
1098             * used for setting animation when returning to normal state
1099             * from hover.
1100             *
1101             * @declare Highcharts.PointStatesNormalOptionsObject
1102             */
1103            normal: {
1104                /**
1105                 * Animation when returning to normal state after hovering.
1106                 *
1107                 * @type {boolean|Partial<Highcharts.AnimationOptionsObject>}
1108                 */
1109                animation: true
1110            },
1111            /**
1112             * The hover state for a single point marker.
1113             *
1114             * @declare Highcharts.PointStatesHoverOptionsObject
1115             */
1116            hover: {
1117                /**
1118                 * Animation when hovering over the marker.
1119                 *
1120                 * @type {boolean|Partial<Highcharts.AnimationOptionsObject>}
1121                 */
1122                animation: {
1123                    /** @internal */
1124                    duration: 150
1125                },
1126                /**
1127                 * Enable or disable the point marker.
1128                 *
1129                 * @sample {highcharts} highcharts/plotoptions/series-marker-states-hover-enabled/
1130                 *         Disabled hover state
1131                 */
1132                enabled: true,
1133                /**
1134                 * The fill color of the marker in hover state. When
1135                 * `undefined`, the series' or point's fillColor for normal
1136                 * state is used.
1137                 *
1138                 * @type      {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
1139                 * @apioption plotOptions.series.marker.states.hover.fillColor
1140                 */
1141                /**
1142                 * The color of the point marker's outline. When
1143                 * `undefined`, the series' or point's lineColor for normal
1144                 * state is used.
1145                 *
1146                 * @sample {highcharts} highcharts/plotoptions/series-marker-states-hover-linecolor/
1147                 *         White fill color, black line color
1148                 *
1149                 * @type      {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
1150                 * @apioption plotOptions.series.marker.states.hover.lineColor
1151                 */
1152                /**
1153                 * The width of the point marker's outline. When
1154                 * `undefined`, the series' or point's lineWidth for normal
1155                 * state is used.
1156                 *
1157                 * @sample {highcharts} highcharts/plotoptions/series-marker-states-hover-linewidth/
1158                 *         3px line width
1159                 *
1160                 * @type      {number}
1161                 * @apioption plotOptions.series.marker.states.hover.lineWidth
1162                 */
1163                /**
1164                 * The radius of the point marker. In hover state, it
1165                 * defaults to the normal state's radius + 2 as per the
1166                 * [radiusPlus](#plotOptions.series.marker.states.hover.radiusPlus)
1167                 * option.
1168                 *
1169                 * @sample {highcharts} highcharts/plotoptions/series-marker-states-hover-radius/
1170                 *         10px radius
1171                 *
1172                 * @type      {number}
1173                 * @apioption plotOptions.series.marker.states.hover.radius
1174                 */
1175                /**
1176                 * The number of pixels to increase the radius of the
1177                 * hovered point.
1178                 *
1179                 * @sample {highcharts} highcharts/plotoptions/series-states-hover-linewidthplus/
1180                 *         5 pixels greater radius on hover
1181                 * @sample {highstock} highcharts/plotoptions/series-states-hover-linewidthplus/
1182                 *         5 pixels greater radius on hover
1183                 *
1184                 * @since 4.0.3
1185                 */
1186                radiusPlus: 2,
1187                /**
1188                 * The additional line width for a hovered point.
1189                 *
1190                 * @sample {highcharts} highcharts/plotoptions/series-states-hover-linewidthplus/
1191                 *         2 pixels wider on hover
1192                 * @sample {highstock} highcharts/plotoptions/series-states-hover-linewidthplus/
1193                 *         2 pixels wider on hover
1194                 *
1195                 * @since 4.0.3
1196                 */
1197                lineWidthPlus: 1
1198            },
1199            /**
1200             * The appearance of the point marker when selected. In order to
1201             * allow a point to be selected, set the
1202             * `series.allowPointSelect` option to true.
1203             *
1204             * @declare Highcharts.PointStatesSelectOptionsObject
1205             */
1206            select: {
1207                /**
1208                 * Enable or disable visible feedback for selection.
1209                 *
1210                 * @sample {highcharts} highcharts/plotoptions/series-marker-states-select-enabled/
1211                 *         Disabled select state
1212                 *
1213                 * @type      {boolean}
1214                 * @default   true
1215                 * @apioption plotOptions.series.marker.states.select.enabled
1216                 */
1217                /**
1218                 * The radius of the point marker. In hover state, it
1219                 * defaults to the normal state's radius + 2.
1220                 *
1221                 * @sample {highcharts} highcharts/plotoptions/series-marker-states-select-radius/
1222                 *         10px radius for selected points
1223                 *
1224                 * @type      {number}
1225                 * @apioption plotOptions.series.marker.states.select.radius
1226                 */
1227                /**
1228                 * The fill color of the point marker.
1229                 *
1230                 * @sample {highcharts} highcharts/plotoptions/series-marker-states-select-fillcolor/
1231                 *         Solid red discs for selected points
1232                 *
1233                 * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
1234                 */
1235                fillColor: "#cccccc" /* Palette.neutralColor20 */,
1236                /**
1237                 * The color of the point marker's outline. When
1238                 * `undefined`, the series' or point's color is used.
1239                 *
1240                 * @sample {highcharts} highcharts/plotoptions/series-marker-states-select-linecolor/
1241                 *         Red line color for selected points
1242                 *
1243                 * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
1244                 */
1245                lineColor: "#000000" /* Palette.neutralColor100 */,
1246                /**
1247                 * The width of the point marker's outline.
1248                 *
1249                 * @sample {highcharts} highcharts/plotoptions/series-marker-states-select-linewidth/
1250                 *         3px line width for selected points
1251                 */
1252                lineWidth: 2
1253            }
1254        }
1255    },
1256    /**
1257     * Properties for each single point.
1258     *
1259     * @declare Highcharts.PlotSeriesPointOptions
1260     *
1261     * @private
1262     */
1263    point: {
1264        /**
1265         * Fires when a point is clicked. One parameter, `event`, is passed
1266         * to the function, containing common event information.
1267         *
1268         * If the `series.allowPointSelect` option is true, the default
1269         * action for the point's click event is to toggle the point's
1270         * select state. Returning `false` cancels this action.
1271         *
1272         * @sample {highcharts} highcharts/plotoptions/series-point-events-click/
1273         *         Click marker to alert values
1274         * @sample {highcharts} highcharts/plotoptions/series-point-events-click-column/
1275         *         Click column
1276         * @sample {highcharts} highcharts/plotoptions/series-point-events-click-url/
1277         *         Go to URL
1278         * @sample {highmaps} maps/plotoptions/series-point-events-click/
1279         *         Click marker to display values
1280         * @sample {highmaps} maps/plotoptions/series-point-events-click-url/
1281         *         Go to URL
1282         *
1283         * @type      {Highcharts.PointClickCallbackFunction}
1284         * @context   Highcharts.Point
1285         * @apioption plotOptions.series.point.events.click
1286         */
1287        /**
1288         * Fires when the mouse leaves the area close to the point. One
1289         * parameter, `event`, is passed to the function, containing common
1290         * event information.
1291         *
1292         * @sample {highcharts} highcharts/plotoptions/series-point-events-mouseover/
1293         *         Show values in the chart's corner on mouse over
1294         *
1295         * @type      {Highcharts.PointMouseOutCallbackFunction}
1296         * @context   Highcharts.Point
1297         * @apioption plotOptions.series.point.events.mouseOut
1298         */
1299        /**
1300         * Fires when the mouse enters the area close to the point. One
1301         * parameter, `event`, is passed to the function, containing common
1302         * event information.
1303         *
1304         * Returning `false` cancels the default behavior, which is to show a
1305         * tooltip for the point.
1306         *
1307         * @sample {highcharts} highcharts/plotoptions/series-point-events-mouseover/
1308         *         Show values in the chart's corner on mouse over
1309         *
1310         * @type      {Highcharts.PointMouseOverCallbackFunction}
1311         * @context   Highcharts.Point
1312         * @apioption plotOptions.series.point.events.mouseOver
1313         */
1314        /**
1315         * Fires when the point is removed using the `.remove()` method. One
1316         * parameter, `event`, is passed to the function. Returning `false`
1317         * cancels the operation.
1318         *
1319         * @sample {highcharts} highcharts/plotoptions/series-point-events-remove/
1320         *         Remove point and confirm
1321         *
1322         * @type      {Highcharts.PointRemoveCallbackFunction}
1323         * @since     1.2.0
1324         * @context   Highcharts.Point
1325         * @apioption plotOptions.series.point.events.remove
1326         */
1327        /**
1328         * Fires when the point is selected either programmatically or
1329         * following a click on the point. One parameter, `event`, is passed
1330         * to the function. Returning `false` cancels the operation.
1331         *
1332         * @sample {highcharts} highcharts/plotoptions/series-point-events-select/
1333         *         Report the last selected point
1334         * @sample {highmaps} maps/plotoptions/series-allowpointselect/
1335         *         Report select and unselect
1336         *
1337         * @type      {Highcharts.PointSelectCallbackFunction}
1338         * @since     1.2.0
1339         * @context   Highcharts.Point
1340         * @apioption plotOptions.series.point.events.select
1341         */
1342        /**
1343         * Fires when the point is unselected either programmatically or
1344         * following a click on the point. One parameter, `event`, is passed
1345         * to the function.
1346         *  Returning `false` cancels the operation.
1347         *
1348         * @sample {highcharts} highcharts/plotoptions/series-point-events-unselect/
1349         *         Report the last unselected point
1350         * @sample {highmaps} maps/plotoptions/series-allowpointselect/
1351         *         Report select and unselect
1352         *
1353         * @type      {Highcharts.PointUnselectCallbackFunction}
1354         * @since     1.2.0
1355         * @context   Highcharts.Point
1356         * @apioption plotOptions.series.point.events.unselect
1357         */
1358        /**
1359         * Fires when the point is updated programmatically through the
1360         * `.update()` method. One parameter, `event`, is passed to the
1361         * function. The new point options can be accessed through
1362         * `event.options`. Returning `false` cancels the operation.
1363         *
1364         * @sample {highcharts} highcharts/plotoptions/series-point-events-update/
1365         *         Confirm point updating
1366         *
1367         * @type      {Highcharts.PointUpdateCallbackFunction}
1368         * @since     1.2.0
1369         * @context   Highcharts.Point
1370         * @apioption plotOptions.series.point.events.update
1371         */
1372        /**
1373         * Events for each single point.
1374         *
1375         * @declare Highcharts.PointEventsOptionsObject
1376         */
1377        events: {}
1378    },
1379    /**
1380     * Options for the series data labels, appearing next to each data
1381     * point.
1382     *
1383     * Since v6.2.0, multiple data labels can be applied to each single
1384     * point by defining them as an array of configs.
1385     *
1386     * In styled mode, the data labels can be styled with the
1387     * `.highcharts-data-label-box` and `.highcharts-data-label` class names
1388     * ([see example](https://www.highcharts.com/samples/highcharts/css/series-datalabels)).
1389     *
1390     * @sample {highcharts} highcharts/plotoptions/series-datalabels-enabled
1391     *         Data labels enabled
1392     * @sample {highcharts} highcharts/plotoptions/series-datalabels-multiple
1393     *         Multiple data labels on a bar series
1394     * @sample {highcharts} highcharts/css/series-datalabels
1395     *         Styled mode example
1396     * @sample {highmaps} maps/demo/color-axis
1397     *         Choropleth map with data labels
1398     * @sample {highmaps} maps/demo/mappoint-datalabels-mapmarker
1399     *         Using data labels as map markers
1400     *
1401     * @type    {*|Array<*>}
1402     * @product highcharts highstock highmaps gantt
1403     *
1404     * @private
1405     */
1406    dataLabels: {
1407        /**
1408         * Enable or disable the initial animation when a series is displayed
1409         * for the `dataLabels`. The animation can also be set as a
1410         * configuration object. Please note that this option only applies to
1411         * the initial animation.
1412         *
1413         * For other animations, see [chart.animation](#chart.animation) and the
1414         * animation parameter under the API methods. The following properties
1415         * are supported:
1416         *
1417         * - `defer`: The animation delay time in milliseconds.
1418         *
1419         * @sample {highcharts} highcharts/plotoptions/animation-defer/
1420         *          Animation defer settings
1421         *
1422         * @type      {boolean|Partial<Highcharts.AnimationOptionsObject>}
1423         * @since     8.2.0
1424         * @apioption plotOptions.series.dataLabels.animation
1425         */
1426        animation: {},
1427        /**
1428         * The animation delay time in milliseconds. Set to `0` to render the
1429         * data labels immediately. As `undefined` inherits defer time from the
1430         * [series.animation.defer](#plotOptions.series.animation.defer).
1431         *
1432         * @type      {number}
1433         * @since     8.2.0
1434         * @apioption plotOptions.series.dataLabels.animation.defer
1435         */
1436        /**
1437         * The alignment of the data label compared to the point. If `right`,
1438         * the right side of the label should be touching the point. For points
1439         * with an extent, like columns, the alignments also dictates how to
1440         * align it inside the box, as given with the
1441         * [inside](#plotOptions.column.dataLabels.inside) option. Can be one of
1442         * `left`, `center` or `right`.
1443         *
1444         * @sample {highcharts}
1445         *         highcharts/plotoptions/series-datalabels-align-left/ Left
1446         *         aligned
1447         * @sample {highcharts}
1448         *         highcharts/plotoptions/bar-datalabels-align-inside-bar/ Data
1449         *         labels inside the bar
1450         *
1451         * @type {Highcharts.AlignValue|null}
1452         */
1453        align: 'center',
1454        /**
1455         * Alignment method for data labels. If set to `plotEdges`, the labels
1456         * are aligned within the plot area in the direction of the y-axis. So
1457         * in a regular column chart, the labels are aligned vertically
1458         * according to the `verticalAlign` setting. In a bar chart, which is
1459         * inverted, the labels are aligned horizontally according to the
1460         * `align` setting. Applies to cartesian series only.
1461         *
1462         * @sample {highcharts} highcharts/series-bar/datalabels-alignto/
1463         *         Align to plot edges
1464         *
1465         * @type      {string}
1466         * @since 11.4.2
1467         * @apioption plotOptions.series.dataLabels.alignTo
1468         */
1469        /**
1470         * Whether to allow data labels to overlap. To make the labels less
1471         * sensitive for overlapping, the
1472         * [dataLabels.padding](#plotOptions.series.dataLabels.padding)
1473         * can be set to 0.
1474         *
1475         * @sample {highcharts} highcharts/plotoptions/series-datalabels-allowoverlap-false/
1476         *         Don't allow overlap
1477         *
1478         * @type      {boolean}
1479         * @default   false
1480         * @since     4.1.0
1481         * @apioption plotOptions.series.dataLabels.allowOverlap
1482         */
1483        /**
1484         * The background color or gradient for the data label. Setting it to
1485         * `auto` will use the point's color.
1486         *
1487         * @sample {highcharts} highcharts/plotoptions/series-datalabels-box/
1488         *         Data labels box options
1489         * @sample {highmaps} maps/plotoptions/series-datalabels-box/
1490         *         Data labels box options
1491         * @sample {highmaps} maps/demo/mappoint-datalabels-mapmarker
1492         *         Data labels as map markers
1493         *
1494         * @type      {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
1495         * @since     2.2.1
1496         * @apioption plotOptions.series.dataLabels.backgroundColor
1497         */
1498        /**
1499         * The border color for the data label. Setting it to `auto` will use
1500         * the point's color. Defaults to `undefined`.
1501         *
1502         * @sample {highcharts} highcharts/plotoptions/series-datalabels-box/
1503         *         Data labels box options
1504         *
1505         * @type      {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
1506         * @since     2.2.1
1507         * @apioption plotOptions.series.dataLabels.borderColor
1508         */
1509        /**
1510         * The border radius in pixels for the data label.
1511         *
1512         * @sample {highcharts} highcharts/plotoptions/series-datalabels-box/
1513         *         Data labels box options
1514         * @sample {highmaps} maps/plotoptions/series-datalabels-box/
1515         *         Data labels box options
1516         *
1517         * @type      {number}
1518         * @default   0
1519         * @since     2.2.1
1520         * @apioption plotOptions.series.dataLabels.borderRadius
1521         */
1522        /**
1523         * The border width in pixels for the data label.
1524         *
1525         * @sample {highcharts} highcharts/plotoptions/series-datalabels-box/
1526         *         Data labels box options
1527         *
1528         * @type      {number}
1529         * @default   0
1530         * @since     2.2.1
1531         * @apioption plotOptions.series.dataLabels.borderWidth
1532         */
1533        borderWidth: 0,
1534        /**
1535         * A class name for the data label. Particularly in styled mode,
1536         * this can be used to give each series' or point's data label
1537         * unique styling. In addition to this option, a default color class
1538         * name is added so that we can give the labels a contrast text
1539         * shadow.
1540         *
1541         * @sample {highcharts} highcharts/css/data-label-contrast/
1542         *         Contrast text shadow
1543         * @sample {highcharts} highcharts/css/series-datalabels/
1544         *         Styling by CSS
1545         *
1546         * @type      {string}
1547         * @since     5.0.0
1548         * @apioption plotOptions.series.dataLabels.className
1549         */
1550        /**
1551         * This options is deprecated.
1552         * Use [style.color](#plotOptions.series.dataLabels.style) instead.
1553         *
1554         * The text color for the data labels. Defaults to `undefined`. For
1555         * certain series types, like column or map, the data labels can be
1556         * drawn inside the points. In this case the data label will be
1557         * drawn with maximum contrast by default. Additionally, it will be
1558         * given a `text-outline` style with the opposite color, to further
1559         * increase the contrast. This can be overridden by setting the
1560         * `text-outline` style to `none` in the `dataLabels.style` option.
1561         *
1562         * @sample {highcharts} highcharts/plotoptions/series-datalabels-color/
1563         *         Red data labels
1564         * @sample {highmaps} maps/demo/color-axis/
1565         *         White data labels
1566         *
1567         * @see [style.color](#plotOptions.series.dataLabels.style)
1568         *
1569         * @type       {Highcharts.ColorType}
1570         * @deprecated 10.3
1571         * @apioption  plotOptions.series.dataLabels.color
1572         */
1573        /**
1574         * Whether to hide data labels that are outside the plot area. By
1575         * default, the data label is moved inside the plot area according
1576         * to the
1577         * [overflow](#plotOptions.series.dataLabels.overflow)
1578         * option.
1579         *
1580         * @type      {boolean}
1581         * @default   true
1582         * @since     2.3.3
1583         * @apioption plotOptions.series.dataLabels.crop
1584         */
1585        /**
1586         * Whether to defer displaying the data labels until the initial
1587         * series animation has finished. Setting to `false` renders the
1588         * data label immediately. If set to `true` inherits the defer
1589         * time set in [plotOptions.series.animation](#plotOptions.series.animation).
1590         *
1591         * @since     4.0.0
1592         * @type      {boolean}
1593         * @product   highcharts highstock gantt
1594         */
1595        defer: true,
1596        /**
1597         * Enable or disable the data labels.
1598         *
1599         * @sample {highcharts} highcharts/plotoptions/series-datalabels-enabled/
1600         *         Data labels enabled
1601         * @sample {highmaps} maps/demo/color-axis/
1602         *         Data labels enabled
1603         *
1604         * @type      {boolean}
1605         * @default   false
1606         * @apioption plotOptions.series.dataLabels.enabled
1607         */
1608        /**
1609         * A declarative filter to control of which data labels to display.
1610         * The declarative filter is designed for use when callback
1611         * functions are not available, like when the chart options require
1612         * a pure JSON structure or for use with graphical editors. For
1613         * programmatic control, use the `formatter` instead, and return
1614         * `undefined` to disable a single data label.
1615         *
1616         * @example
1617         * filter: {
1618         *     property: 'percentage',
1619         *     operator: '>',
1620         *     value: 4
1621         * }
1622         *
1623         * @sample {highcharts} highcharts/demo/pie-monochrome
1624         *         Data labels filtered by percentage
1625         *
1626         * @declare   Highcharts.DataLabelsFilterOptionsObject
1627         * @since     6.0.3
1628         * @apioption plotOptions.series.dataLabels.filter
1629         */
1630        /**
1631         * The operator to compare by. Can be one of `>`, `<`, `>=`, `<=`,
1632         * `==`, `===`, `!=` and `!==`.
1633         *
1634         * @type       {string}
1635         * @validvalue [">", "<", ">=", "<=", "==", "===", "!=", "!=="]
1636         * @apioption  plotOptions.series.dataLabels.filter.operator
1637         */
1638        /**
1639         * The point property to filter by. Point options are passed
1640         * directly to properties, additionally there are `y` value,
1641         * `percentage` and others listed under {@link Highcharts.Point}
1642         * members.
1643         *
1644         * @type      {string}
1645         * @apioption plotOptions.series.dataLabels.filter.property
1646         */
1647        /**
1648         * The value to compare against.
1649         *
1650         * @type      {number}
1651         * @apioption plotOptions.series.dataLabels.filter.value
1652         */
1653        /**
1654         * A
1655         * [format string](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting)
1656         * for the data label. Available variables are the same as for
1657         * `formatter`.
1658         *
1659         * @sample {highcharts} highcharts/plotoptions/series-datalabels-format/
1660         *         Add a unit
1661         * @sample {highcharts} highcharts/plotoptions/series-datalabels-format-subexpression/
1662         *         Complex logic in the format string
1663         * @sample {highmaps} maps/plotoptions/series-datalabels-format/
1664         *         Formatted value in the data label
1665         *
1666         * @type      {string}
1667         * @default   y
1668         * @default   point.value
1669         * @since     3.0
1670         * @apioption plotOptions.series.dataLabels.format
1671         */
1672        // eslint-disable-next-line valid-jsdoc
1673        /**
1674         * Callback JavaScript function to format the data label. Note that if a
1675         * `format` is defined, the format takes precedence and the formatter is
1676         * ignored.
1677         *
1678         * @sample {highmaps} maps/plotoptions/series-datalabels-format/
1679         *         Formatted value
1680         *
1681         * @type {Highcharts.DataLabelsFormatterCallbackFunction}
1682         */
1683        formatter: function () {
1684            const { numberFormatter } = this.series.chart;
1685            return typeof this.y !== 'number' ?
1686                '' : numberFormatter(this.y, -1);
1687        },
1688        /**
1689         * For points with an extent, like columns or map areas, whether to
1690         * align the data label inside the box or to the actual value point.
1691         * Defaults to `false` in most cases, `true` in stacked columns.
1692         *
1693         * @type      {boolean}
1694         * @since     3.0
1695         * @apioption plotOptions.series.dataLabels.inside
1696         */
1697        /**
1698         * Format for points with the value of null. Works analogously to
1699         * [format](#plotOptions.series.dataLabels.format). `nullFormat` can
1700         * be applied only to series which support displaying null points
1701         * i.e `heatmap` or `tilemap`. Does not work with series that don't
1702         * display null points, like `line`, `column`, `bar` or `pie`.
1703         *
1704         * @sample {highcharts} highcharts/plotoptions/series-datalabels-nullformat/
1705         *         Format data label for null points in heat map
1706         *
1707         * @type      {boolean|string}
1708         * @since     7.1.0
1709         * @apioption plotOptions.series.dataLabels.nullFormat
1710         */
1711        /**
1712         * Callback JavaScript function that defines formatting for points
1713         * with the value of null. Works analogously to
1714         * [formatter](#plotOptions.series.dataLabels.formatter).
1715         * `nullFormatter` can be applied only to series which support
1716         * displaying null points i.e `heatmap` or `tilemap`. Does not work
1717         * with series that don't display null points, like `line`, `column`,
1718         * `bar` or `pie`.
1719         *
1720         * @sample {highcharts} highcharts/plotoptions/series-datalabels-nullformat/
1721         *         Format data label for null points in heat map
1722         *
1723         * @type      {Highcharts.DataLabelsFormatterCallbackFunction}
1724         * @since     7.1.0
1725         * @apioption plotOptions.series.dataLabels.nullFormatter
1726         */
1727        /**
1728         * How to handle data labels that flow outside the plot area. The
1729         * default is `"justify"`, which aligns them inside the plot area.
1730         * For columns and bars, this means it will be moved inside the bar.
1731         * To display data labels outside the plot area, set `crop` to
1732         * `false` and `overflow` to `"allow"`.
1733         *
1734         * @type       {Highcharts.DataLabelsOverflowValue}
1735         * @default    justify
1736         * @since      3.0.6
1737         * @apioption  plotOptions.series.dataLabels.overflow
1738         */
1739        /**
1740         * When either the `borderWidth` or the `backgroundColor` is set,
1741         * this is the padding within the box.
1742         *
1743         * @sample {highcharts} highcharts/plotoptions/series-datalabels-box/
1744         *         Data labels box options
1745         * @sample {highmaps} maps/plotoptions/series-datalabels-box/
1746         *         Data labels box options
1747         *
1748         * @since 2.2.1
1749         */
1750        padding: 5,
1751        /**
1752         * Aligns data labels relative to points. If `center` alignment is
1753         * not possible, it defaults to `right`.
1754         *
1755         * @type      {Highcharts.AlignValue}
1756         * @default   center
1757         * @apioption plotOptions.series.dataLabels.position
1758         */
1759        /**
1760         * Text rotation in degrees. Note that due to a more complex
1761         * structure, backgrounds, borders and padding will be lost on a
1762         * rotated data label.
1763         *
1764         * @sample {highcharts} highcharts/plotoptions/series-datalabels-rotation/
1765         *         Vertical labels
1766         *
1767         * @type      {number}
1768         * @default   0
1769         * @apioption plotOptions.series.dataLabels.rotation
1770         */
1771        /**
1772         * The shadow of the box. Works best with `borderWidth` or
1773         * `backgroundColor`. Since 2.3 the shadow can be an object
1774         * configuration containing `color`, `offsetX`, `offsetY`, `opacity`
1775         * and `width`.
1776         *
1777         * @sample {highcharts} highcharts/plotoptions/series-datalabels-box/
1778         *         Data labels box options
1779         *
1780         * @type      {boolean|Highcharts.ShadowOptionsObject}
1781         * @default   false
1782         * @since     2.2.1
1783         * @apioption plotOptions.series.dataLabels.shadow
1784         */
1785        /**
1786         * The name of a symbol to use for the border around the label.
1787         * Symbols are predefined functions on the Renderer object.
1788         *
1789         * @sample {highcharts} highcharts/plotoptions/series-datalabels-shape/
1790         *         A callout for annotations
1791         *
1792         * @type      {string}
1793         * @default   square
1794         * @since     4.1.2
1795         * @apioption plotOptions.series.dataLabels.shape
1796         */
1797        /**
1798         * Styles for the label. The default `color` setting is
1799         * `"contrast"`, which is a pseudo color that Highcharts picks up
1800         * and applies the maximum contrast to the underlying point item,
1801         * for example the bar in a bar chart.
1802         *
1803         * The `textOutline` is a pseudo property that applies an outline of
1804         * the given width with the given color, which by default is the
1805         * maximum contrast to the text. So a bright text color will result
1806         * in a black text outline for maximum readability on a mixed
1807         * background. In some cases, especially with grayscale text, the
1808         * text outline doesn't work well, in which cases it can be disabled
1809         * by setting it to `"none"`. When `useHTML` is true, the
1810         * `textOutline` will not be picked up. In this, case, the same
1811         * effect can be acheived through the `text-shadow` CSS property.
1812         *
1813         * For some series types, where each point has an extent, like for
1814         * example tree maps, the data label may overflow the point. There
1815         * are two strategies for handling overflow. By default, the text
1816         * will wrap to multiple lines. The other strategy is to set
1817         * `style.textOverflow` to `ellipsis`, which will keep the text on
1818         * one line plus it will break inside long words.
1819         *
1820         * @sample {highcharts} highcharts/plotoptions/series-datalabels-style/
1821         *         Bold labels
1822         * @sample {highcharts} highcharts/plotoptions/pie-datalabels-overflow/
1823         *         Long labels truncated with an ellipsis in a pie
1824         * @sample {highcharts} highcharts/plotoptions/pie-datalabels-overflow-wrap/
1825         *         Long labels are wrapped in a pie
1826         * @sample {highmaps} maps/demo/color-axis/
1827         *         Bold labels
1828         *
1829         * @type      {Highcharts.CSSObject}
1830         * @since     4.1.0
1831         * @apioption plotOptions.series.dataLabels.style
1832         */
1833        style: {
1834            /** @internal */
1835            fontSize: '0.7em',
1836            /** @internal */
1837            fontWeight: 'bold',
1838            /** @internal */
1839            color: 'contrast',
1840            /** @internal */
1841            textOutline: '1px contrast'
1842        },
1843        /**
1844         * Options for a label text which should follow marker's shape.
1845         * Border and background are disabled for a label that follows a
1846         * path.
1847         *
1848         * **Note:** Only SVG-based renderer supports this option. Setting
1849         * `useHTML` to true will disable this option.
1850         *
1851         * @declare   Highcharts.DataLabelsTextPathOptionsObject
1852         * @since     7.1.0
1853         * @apioption plotOptions.series.dataLabels.textPath
1854         */
1855        /**
1856         * Presentation attributes for the text path.
1857         *
1858         * @type      {Highcharts.SVGAttributes}
1859         * @since     7.1.0
1860         * @apioption plotOptions.series.dataLabels.textPath.attributes
1861         */
1862        /**
1863         * Enable or disable `textPath` option for link's or marker's data
1864         * labels.
1865         *
1866         * @type      {boolean}
1867         * @since     7.1.0
1868         * @apioption plotOptions.series.dataLabels.textPath.enabled
1869         */
1870        /**
1871         * Whether to
1872         * [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)
1873         * to render the labels.
1874         *
1875         * @type      {boolean}
1876         * @default   false
1877         * @apioption plotOptions.series.dataLabels.useHTML
1878         */
1879        /**
1880         * The vertical alignment of a data label. Can be one of `top`,
1881         * `middle` or `bottom`. The default value depends on the data, for
1882         * instance in a column chart, the label is above positive values
1883         * and below negative values.
1884         *
1885         * @type  {Highcharts.VerticalAlignValue|null}
1886         * @since 2.3.3
1887         */
1888        verticalAlign: 'bottom',
1889        /**
1890         * The x position offset of the label relative to the point in
1891         * pixels.
1892         *
1893         * @sample {highcharts} highcharts/plotoptions/series-datalabels-rotation/
1894         *         Vertical and positioned
1895         * @sample {highcharts} highcharts/plotoptions/bar-datalabels-align-inside-bar/
1896         *         Data labels inside the bar
1897         */
1898        x: 0,
1899        /**
1900         * The z index of the data labels. Use a `zIndex` of 6 to display it above
1901         * the series, or use a `zIndex` of 2 to display it behind the series.
1902         *
1903         * @type      {number}
1904         * @default   6
1905         * @since     2.3.5
1906         * @apioption plotOptions.series.dataLabels.zIndex
1907         */
1908        /**
1909         * The y position offset of the label relative to the point in
1910         * pixels.
1911         *
1912         * @sample {highcharts} highcharts/plotoptions/series-datalabels-rotation/
1913         *         Vertical and positioned
1914         */
1915        y: 0
1916    },
1917    /**
1918     * When the series contains less points than the crop threshold, all
1919     * points are drawn, even if the points fall outside the visible plot
1920     * area at the current zoom. The advantage of drawing all points
1921     * (including markers and columns), is that animation is performed on
1922     * updates. On the other hand, when the series contains more points than
1923     * the crop threshold, the series data is cropped to only contain points
1924     * that fall within the plot area. The advantage of cropping away
1925     * invisible points is to increase performance on large series.
1926     *
1927     * @since   2.2
1928     * @product highcharts highstock
1929     *
1930     * @private
1931     */
1932    cropThreshold: 300,
1933    /**
1934     * Opacity of a series parts: line, fill (e.g. area) and dataLabels.
1935     *
1936     * @see [states.inactive.opacity](#plotOptions.series.states.inactive.opacity)
1937     *
1938     * @since 7.1.0
1939     *
1940     * @private
1941     */
1942    opacity: 1,
1943    /**
1944     * The width of each point on the x axis. For example in a column chart
1945     * with one value each day, the pointRange would be 1 day (= 24 * 3600
1946     * * 1000 milliseconds). This is normally computed automatically, but
1947     * this option can be used to override the automatic value.
1948     *
1949     * @product highstock
1950     *
1951     * @private
1952     */
1953    pointRange: 0,
1954    /**
1955     * When this is true, the series will not cause the Y axis to cross
1956     * the zero plane (or [threshold](#plotOptions.series.threshold) option)
1957     * unless the data actually crosses the plane.
1958     *
1959     * For example, if `softThreshold` is `false`, a series of 0, 1, 2,
1960     * 3 will make the Y axis show negative values according to the
1961     * `minPadding` option. If `softThreshold` is `true`, the Y axis starts
1962     * at 0.
1963     *
1964     * @since   4.1.9
1965     * @product highcharts highstock
1966     *
1967     * @private
1968     */
1969    softThreshold: true,
1970    /**
1971     * @declare Highcharts.SeriesStatesOptionsObject
1972     *
1973     * @private
1974     */
1975    states: {
1976        /**
1977         * The normal state of a series, or for point items in column, pie
1978         * and similar series. Currently only used for setting animation
1979         * when returning to normal state from hover.
1980         *
1981         * @declare Highcharts.SeriesStatesNormalOptionsObject
1982         */
1983        normal: {
1984            /**
1985             * Animation when returning to normal state after hovering.
1986             *
1987                 * @type {boolean|Partial<Highcharts.AnimationOptionsObject>}
1988             */
1989            animation: true
1990        },
1991        /**
1992         * Options for the hovered series. These settings override the
1993         * normal state options when a series is moused over or touched.
1994         *
1995         * @declare Highcharts.SeriesStatesHoverOptionsObject
1996         */
1997        hover: {
1998            /**
1999             * Enable separate styles for the hovered series to visualize
2000             * that the user hovers either the series itself or the legend.
2001             *
2002             * @sample {highcharts} highcharts/plotoptions/series-states-hover-enabled/
2003             *         Line
2004             * @sample {highcharts} highcharts/plotoptions/series-states-hover-enabled-column/
2005             *         Column
2006             * @sample {highcharts} highcharts/plotoptions/series-states-hover-enabled-pie/
2007             *         Pie
2008             *
2009             * @type      {boolean}
2010             * @default   true
2011             * @since     1.2
2012             * @apioption plotOptions.series.states.hover.enabled
2013             */
2014            /**
2015             * Animation setting for hovering the graph in line-type series.
2016             *
2017             * @type {boolean|Partial<Highcharts.AnimationOptionsObject>}
2018             * @since   5.0.8
2019             * @product highcharts highstock
2020             */
2021            animation: {
2022                /**
2023                 * The duration of the hover animation in milliseconds. By
2024                 * default the hover state animates quickly in, and slowly
2025                 * back to normal.
2026                 *
2027                 * @internal
2028                 */
2029                duration: 150
2030            },
2031            /**
2032             * Pixel width of the graph line. By default this property is
2033             * undefined, and the `lineWidthPlus` property dictates how much
2034             * to increase the linewidth from normal state.
2035             *
2036             * @sample {highcharts} highcharts/plotoptions/series-states-hover-linewidth/
2037             *         5px line on hover
2038             *
2039             * @type      {number}
2040             * @product   highcharts highstock
2041             * @apioption plotOptions.series.states.hover.lineWidth
2042             */
2043            /**
2044             * The additional line width for the graph of a hovered series.
2045             *
2046             * @sample {highcharts} highcharts/plotoptions/series-states-hover-linewidthplus/
2047             *         5 pixels wider
2048             * @sample {highstock} highcharts/plotoptions/series-states-hover-linewidthplus/
2049             *         5 pixels wider
2050             *
2051             * @since   4.0.3
2052             * @product highcharts highstock
2053             */
2054            lineWidthPlus: 1,
2055            /**
2056             * In Highcharts 1.0, the appearance of all markers belonging
2057             * to the hovered series. For settings on the hover state of the
2058             * individual point, see
2059             * [marker.states.hover](#plotOptions.series.marker.states.hover).
2060             *
2061             * @deprecated
2062             *
2063             * @extends   plotOptions.series.marker
2064             * @excluding states, symbol
2065             * @product   highcharts highstock
2066             */
2067            marker: {
2068            // `lineWidth: base + 1`,
2069            // `radius: base + 1`
2070            },
2071            /**
2072             * Options for the halo appearing around the hovered point in
2073             * line-type series as well as outside the hovered slice in pie
2074             * charts. By default the halo is filled by the current point or
2075             * series color with an opacity of 0.25\. The halo can be
2076             * disabled by setting the `halo` option to `null`.
2077             *
2078             * In styled mode, the halo is styled with the
2079             * `.highcharts-halo` class, with colors inherited from
2080             * `.highcharts-color-{n}`.
2081             *
2082             * @sample {highcharts} highcharts/plotoptions/halo/
2083             *         Halo options
2084             * @sample {highstock} highcharts/plotoptions/halo/
2085             *         Halo options
2086             *
2087             * @declare Highcharts.SeriesStatesHoverHaloOptionsObject
2088             * @type    {null|*}
2089             * @since   4.0
2090             * @product highcharts highstock
2091             */
2092            halo: {
2093                /**
2094                 * A collection of SVG attributes to override the appearance
2095                 * of the halo, for example `fill`, `stroke` and
2096                 * `stroke-width`.
2097                 *
2098                 * @type      {Highcharts.SVGAttributes}
2099                 * @since     4.0
2100                 * @product   highcharts highstock
2101                 * @apioption plotOptions.series.states.hover.halo.attributes
2102                 */
2103                /**
2104                 * The pixel size of the halo. For point markers this is the
2105                 * radius of the halo. For pie slices it is the width of the
2106                 * halo outside the slice. For bubbles it defaults to 5 and
2107                 * is the width of the halo outside the bubble.
2108                 *
2109                 * @since   4.0
2110                 * @product highcharts highstock
2111                 */
2112                size: 10,
2113                /**
2114                 * Opacity for the halo unless a specific fill is overridden
2115                 * using the `attributes` setting. Note that Highcharts is
2116                 * only able to apply opacity to colors of hex or rgb(a)
2117                 * formats.
2118                 *
2119                 * @since   4.0
2120                 * @product highcharts highstock
2121                 */
2122                opacity: 0.25
2123            }
2124        },
2125        /**
2126         * Specific options for point in selected states, after being
2127         * selected by
2128         * [allowPointSelect](#plotOptions.series.allowPointSelect)
2129         * or programmatically.
2130         *
2131         * @sample maps/plotoptions/series-allowpointselect/
2132         *         Allow point select demo
2133         *
2134         * @declare   Highcharts.SeriesStatesSelectOptionsObject
2135         * @extends   plotOptions.series.states.hover
2136         * @excluding brightness
2137         */
2138        select: {
2139            animation: {
2140                /** @internal */
2141                duration: 0
2142            }
2143        },
2144        /**
2145         * The opposite state of a hover for series.
2146         *
2147         * @sample highcharts/plotoptions/series-states-inactive-disabled
2148         *         Disabled inactive state
2149         *
2150         * @declare Highcharts.SeriesStatesInactiveOptionsObject
2151         */
2152        inactive: {
2153            /**
2154             * Enable or disable the inactive state for a series
2155             *
2156             * @sample highcharts/plotoptions/series-states-inactive-disabled
2157             *         Disabled inactive state
2158             *
2159             * @type {boolean}
2160             * @default true
2161             * @apioption plotOptions.series.states.inactive.enabled
2162             */
2163            /**
2164             * The animation for entering the inactive state.
2165             *
2166             * @type {boolean|Partial<Highcharts.AnimationOptionsObject>}
2167             */
2168            animation: {
2169                /** @internal */
2170                duration: 150
2171            },
2172            /**
2173             * Opacity of series elements (dataLabels, line, area).
2174             *
2175             * @type {number}
2176             */
2177            opacity: 0.2
2178        }
2179    },
2180    /**
2181     * Sticky tracking of mouse events. When true, the `mouseOut` event on a
2182     * series isn't triggered until the mouse moves over another series, or
2183     * out of the plot area. When false, the `mouseOut` event on a series is
2184     * triggered when the mouse leaves the area around the series' graph or
2185     * markers. This also implies the tooltip when not shared. When
2186     * `stickyTracking` is false and `tooltip.shared` is false, the tooltip
2187     * will be hidden when moving the mouse between series. Defaults to true
2188     * for line and area type series, but to false for columns, pies etc.
2189     *
2190     * **Note:** The boost module will force this option because of
2191     * technical limitations.
2192     *
2193     * @sample {highcharts} highcharts/plotoptions/series-stickytracking-true/
2194     *         True by default
2195     * @sample {highcharts} highcharts/plotoptions/series-stickytracking-false/
2196     *         False
2197     *
2198     * @default {highcharts} true
2199     * @default {highstock} true
2200     * @default {highmaps} false
2201     * @since   2.0
2202     *
2203     * @private
2204     */
2205    stickyTracking: true,
2206    /**
2207     * A configuration object for the tooltip rendering of each single
2208     * series. Properties are inherited from [tooltip](#tooltip), but only
2209     * the following properties can be defined on a series level.
2210     *
2211     * @declare   Highcharts.SeriesTooltipOptionsObject
2212     * @since     2.3
2213     * @extends   tooltip
2214     * @excluding animation, backgroundColor, borderColor, borderRadius,
2215     *            borderWidth, className, crosshairs, enabled, formatter,
2216     *            headerShape, hideDelay, outside, padding, positioner,
2217     *            shadow, shape, shared, snap, split, stickOnContact,
2218     *            style, useHTML
2219     * @apioption plotOptions.series.tooltip
2220     */
2221    /**
2222     * When a series contains a `data` array that is longer than this, the
2223     * Series class looks for data configurations of plain numbers or arrays of
2224     * numbers. The first and last valid points are checked. If found, the rest
2225     * of the data is assumed to be the same. This saves expensive data checking
2226     * and indexing in long series, and makes data-heavy charts render faster.
2227     *
2228     * Set it to `0` disable.
2229     *
2230     * Note:
2231     * - In boost mode turbo threshold is forced. Only array of numbers or two
2232     *   dimensional arrays are allowed.
2233     * - In version 11.4.3 and earlier, if object configurations were passed
2234     *   beyond the turbo threshold, a warning was logged in the console and the
2235     *   data series didn't render.
2236     *
2237     * @since   2.2
2238     * @product highcharts highstock gantt
2239     *
2240     * @private
2241     */
2242    turboThreshold: 1000,
2243    /**
2244     * An array defining zones within a series. Zones can be applied to the
2245     * X axis, Y axis or Z axis for bubbles, according to the `zoneAxis`
2246     * option. The zone definitions have to be in ascending order regarding
2247     * to the value.
2248     *
2249     * In styled mode, the color zones are styled with the
2250     * `.highcharts-zone-{n}` class, or custom classed from the `className`
2251     * option
2252     * ([view live demo](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/css/color-zones/)).
2253     *
2254     * @see [zoneAxis](#plotOptions.series.zoneAxis)
2255     *
2256     * @sample {highcharts} highcharts/series/color-zones-simple/
2257     *         Color zones
2258     * @sample {highstock} highcharts/series/color-zones-simple/
2259     *         Color zones
2260     *
2261     * @declare   Highcharts.SeriesZonesOptionsObject
2262     * @type      {Array<*>}
2263     * @since     4.1.0
2264     * @product   highcharts highstock
2265     * @apioption plotOptions.series.zones
2266     */
2267    /**
2268     * Styled mode only. A custom class name for the zone.
2269     *
2270     * @sample highcharts/css/color-zones/
2271     *         Zones styled by class name
2272     *
2273     * @type      {string}
2274     * @since     5.0.0
2275     * @apioption plotOptions.series.zones.className
2276     */
2277    /**
2278     * Defines the color of the series.
2279     *
2280     * @see [series color](#plotOptions.series.color)
2281     *
2282     * @type      {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
2283     * @since     4.1.0
2284     * @product   highcharts highstock
2285     * @apioption plotOptions.series.zones.color
2286     */
2287    /**
2288     * A name for the dash style to use for the graph.
2289     *
2290     * @see [plotOptions.series.dashStyle](#plotOptions.series.dashStyle)
2291     *
2292     * @sample {highcharts|highstock} highcharts/series/color-zones-dashstyle-dot/
2293     *         Dashed line indicates prognosis
2294     *
2295     * @type      {Highcharts.DashStyleValue}
2296     * @since     4.1.0
2297     * @product   highcharts highstock
2298     * @apioption plotOptions.series.zones.dashStyle
2299     */
2300    /**
2301     * Defines the fill color for the series (in area type series)
2302     *
2303     * @see [fillColor](#plotOptions.area.fillColor)
2304     *
2305     * @type      {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
2306     * @since     4.1.0
2307     * @product   highcharts highstock
2308     * @apioption plotOptions.series.zones.fillColor
2309     */
2310    /**
2311     * The value up to where the zone extends, if undefined the zones
2312     * stretches to the last value in the series.
2313     *
2314     * @type      {number}
2315     * @since     4.1.0
2316     * @product   highcharts highstock
2317     * @apioption plotOptions.series.zones.value
2318     */
2319    /**
2320     * When using dual or multiple color axes, this number defines which
2321     * colorAxis the particular series is connected to. It refers to
2322     * either the
2323     * {@link #colorAxis.id|axis id}
2324     * or the index of the axis in the colorAxis array, with 0 being the
2325     * first. Set this option to false to prevent a series from connecting
2326     * to the default color axis.
2327     *
2328     * Since v7.2.0 the option can also be an axis id or an axis index
2329     * instead of a boolean flag.
2330     *
2331     * @sample highcharts/coloraxis/coloraxis-with-pie/
2332     *         Color axis with pie series
2333     * @sample highcharts/coloraxis/multiple-coloraxis/
2334     *         Multiple color axis
2335     *
2336     * @type      {number|string|boolean}
2337     * @default   0
2338     * @product   highcharts highstock highmaps
2339     * @apioption plotOptions.series.colorAxis
2340     */
2341    /**
2342     * Determines what data value should be used to calculate point color
2343     * if `colorAxis` is used. Requires to set `min` and `max` if some
2344     * custom point property is used or if approximation for data grouping
2345     * is set to `'sum'`.
2346     *
2347     * @sample highcharts/coloraxis/custom-color-key/
2348     *         Custom color key
2349     * @sample highcharts/coloraxis/color-key-with-stops/
2350     *         Custom colorKey with color axis stops
2351     * @sample highcharts/coloraxis/changed-default-color-key/
2352     *         Changed default color key
2353     *
2354     * @type      {string}
2355     * @default   y
2356     * @since     7.2.0
2357     * @product   highcharts highstock highmaps
2358     * @apioption plotOptions.series.colorKey
2359     */
2360    /**
2361     * What type of legend symbol to render for this series. Can be one of
2362     * `areaMarker`, `lineMarker` or `rectangle`.
2363     *
2364     * @validvalue ["areaMarker", "lineMarker", "rectangle"]
2365     *
2366     * @sample {highcharts} highcharts/series/legend-symbol/
2367     *         Change the legend symbol
2368     *
2369     * @type      {string}
2370     * @default   rectangle
2371     * @since     11.0.1
2372     * @apioption plotOptions.series.legendSymbol
2373     */
2374    /**
2375     * Defines the color of the legend symbol for this series. Defaults to
2376     * undefined, in which case the series color is used. Does not work with
2377     * styled mode.
2378     *
2379     * @sample {highcharts|highstock} highcharts/series/legend-symbol-color/
2380     *         Change the legend symbol color
2381     *
2382     * @type      {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
2383     * @default   undefined
2384     * @since 12.0.0
2385     * @product   highcharts highstock highmaps
2386     * @apioption plotOptions.series.legendSymbolColor
2387     */
2388    /**
2389     * Determines whether the series should look for the nearest point
2390     * in both dimensions or just the x-dimension when hovering the series.
2391     * Defaults to `'xy'` for scatter series and `'x'` for most other
2392     * series. If the data has duplicate x-values, it is recommended to
2393     * set this to `'xy'` to allow hovering over all points.
2394     *
2395     * Applies only to series types using nearest neighbor search (not
2396     * direct hover) for tooltip.
2397     *
2398     * @sample {highcharts} highcharts/series/findnearestpointby/
2399     *         Different hover behaviors
2400     * @sample {highstock} highcharts/series/findnearestpointby/
2401     *         Different hover behaviors
2402     * @sample {highmaps} highcharts/series/findnearestpointby/
2403     *         Different hover behaviors
2404     *
2405     * @since      5.0.10
2406     * @validvalue ["x", "xy"]
2407     *
2408     * @private
2409     */
2410    findNearestPointBy: 'x'
2411};
2412/* *
2413 *
2414 *  Default Export
2415 *
2416 * */
2417export default seriesDefaults;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.