highcharts 8.1.0 → 8.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (854) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +12 -0
  3. package/css/highcharts.scss +12 -0
  4. package/css/themes/dark-unica.css +12 -0
  5. package/css/themes/grid-light.css +12 -0
  6. package/css/themes/sand-signika.css +12 -0
  7. package/es-modules/{modules/accessibility/a11y-i18n.js → Accessibility/A11yI18n.js} +2 -2
  8. package/es-modules/{modules/accessibility/accessibility.js → Accessibility/Accessibility.js} +24 -21
  9. package/es-modules/{modules/accessibility → Accessibility}/AccessibilityComponent.js +73 -17
  10. package/es-modules/{modules/accessibility/components → Accessibility/Components}/AnnotationsA11y.js +2 -4
  11. package/es-modules/{modules/accessibility/components → Accessibility/Components}/ContainerComponent.js +8 -9
  12. package/es-modules/{modules/accessibility/components → Accessibility/Components}/InfoRegionsComponent.js +9 -12
  13. package/es-modules/{modules/accessibility/components → Accessibility/Components}/LegendComponent.js +60 -22
  14. package/es-modules/{modules/accessibility/components → Accessibility/Components}/MenuComponent.js +4 -11
  15. package/es-modules/{modules/accessibility/components → Accessibility/Components}/RangeSelectorComponent.js +8 -7
  16. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +171 -0
  17. package/es-modules/{modules/accessibility/components → Accessibility/Components}/SeriesComponent/NewDataAnnouncer.js +8 -7
  18. package/es-modules/{modules/accessibility/components → Accessibility/Components}/SeriesComponent/SeriesComponent.js +5 -5
  19. package/es-modules/{modules/accessibility/components → Accessibility/Components}/SeriesComponent/SeriesDescriber.js +6 -6
  20. package/es-modules/{modules/accessibility/components → Accessibility/Components}/SeriesComponent/SeriesKeyboardNavigation.js +22 -20
  21. package/es-modules/{modules/accessibility/components → Accessibility/Components}/ZoomComponent.js +9 -8
  22. package/es-modules/{modules/accessibility/focusBorder.js → Accessibility/FocusBorder.js} +13 -10
  23. package/es-modules/{modules/accessibility/high-contrast-mode.js → Accessibility/HighContrastMode.js} +3 -2
  24. package/es-modules/{modules/accessibility/high-contrast-theme.js → Accessibility/HighContrastTheme.js} +0 -0
  25. package/es-modules/{modules/accessibility → Accessibility}/KeyboardNavigation.js +35 -22
  26. package/es-modules/{modules/accessibility → Accessibility}/KeyboardNavigationHandler.js +1 -1
  27. package/es-modules/{modules/accessibility/options/deprecatedOptions.js → Accessibility/Options/DeprecatedOptions.js} +10 -20
  28. package/es-modules/{modules/accessibility/options/langOptions.js → Accessibility/Options/LangOptions.js} +1 -1
  29. package/es-modules/{modules/accessibility/options/options.js → Accessibility/Options/Options.js} +1 -2
  30. package/es-modules/{modules/accessibility/utils → Accessibility/Utils}/Announcer.js +2 -2
  31. package/es-modules/{modules/accessibility/utils/chartUtilities.js → Accessibility/Utils/ChartUtilities.js} +8 -9
  32. package/es-modules/{modules/accessibility/utils → Accessibility/Utils}/DOMElementProvider.js +5 -5
  33. package/es-modules/{modules/accessibility/utils → Accessibility/Utils}/EventProvider.js +2 -2
  34. package/es-modules/{modules/accessibility/utils/htmlUtilities.js → Accessibility/Utils/HTMLUtilities.js} +3 -4
  35. package/es-modules/Core/Animation/AnimationUtilities.js +193 -0
  36. package/es-modules/Core/Animation/Fx.js +378 -0
  37. package/es-modules/{parts → Core/Axis}/Axis.js +153 -89
  38. package/es-modules/{parts-3d → Core/Axis}/Axis3D.js +12 -7
  39. package/es-modules/{modules/broken-axis.src.js → Core/Axis/BrokenAxis.js} +6 -8
  40. package/es-modules/{parts-map → Core/Axis}/ColorAxis.js +28 -31
  41. package/es-modules/{parts → Core/Axis}/DateTimeAxis.js +1 -1
  42. package/es-modules/{parts-gantt → Core/Axis}/GridAxis.js +136 -39
  43. package/es-modules/{parts-more → Core/Axis}/HiddenAxis.js +0 -0
  44. package/es-modules/{parts → Core/Axis}/LogarithmicAxis.js +1 -1
  45. package/es-modules/{parts-map → Core/Axis}/MapAxis.js +2 -2
  46. package/es-modules/{parts → Core/Axis}/NavigatorAxis.js +2 -2
  47. package/es-modules/{parts → Core/Axis}/OrdinalAxis.js +241 -224
  48. package/es-modules/{parts → Core/Axis}/PlotLineOrBand.js +24 -15
  49. package/es-modules/{parts-more → Core/Axis}/RadialAxis.js +34 -27
  50. package/es-modules/{parts → Core/Axis}/ScrollbarAxis.js +2 -2
  51. package/es-modules/{parts → Core/Axis}/StackingAxis.js +11 -2
  52. package/es-modules/{parts → Core/Axis}/Tick.js +14 -14
  53. package/es-modules/{parts-3d → Core/Axis}/Tick3D.js +1 -1
  54. package/es-modules/{parts-gantt → Core/Axis}/TreeGridAxis.js +81 -15
  55. package/es-modules/{parts-gantt → Core/Axis}/TreeGridTick.js +1 -1
  56. package/es-modules/{parts-3d → Core/Axis}/ZAxis.js +2 -2
  57. package/es-modules/{parts → Core/Chart}/Chart.js +225 -227
  58. package/es-modules/Core/Chart/Chart3D.js +1674 -0
  59. package/es-modules/{parts-gantt → Core/Chart}/GanttChart.js +13 -12
  60. package/es-modules/{parts → Core/Chart}/StockChart.js +26 -25
  61. package/es-modules/Core/Color/Color.js +419 -0
  62. package/es-modules/Core/Color/ColorType.js +9 -0
  63. package/es-modules/{parts → Core}/Color.js +1 -1
  64. package/es-modules/{parts → Core}/Dynamics.js +91 -61
  65. package/es-modules/{parts → Core}/Globals.js +9 -1
  66. package/es-modules/{parts → Core}/Interaction.js +27 -20
  67. package/es-modules/{parts → Core}/Legend.js +26 -11
  68. package/es-modules/{parts → Core}/MSPointer.js +2 -2
  69. package/es-modules/{parts → Core}/Navigator.js +24 -14
  70. package/es-modules/{parts → Core}/Options.js +157 -69
  71. package/es-modules/{parts → Core}/Pointer.js +50 -27
  72. package/es-modules/Core/Renderer/DOMElementType.js +9 -0
  73. package/es-modules/Core/Renderer/HTML/HTMLElement.js +220 -0
  74. package/es-modules/{parts/Html.js → Core/Renderer/HTML/HTMLRenderer.js} +16 -207
  75. package/es-modules/{parts → Core/Renderer/SVG}/SVGElement.js +186 -32
  76. package/es-modules/Core/Renderer/SVG/SVGLabel.js +410 -0
  77. package/es-modules/{parts/SvgRenderer.js → Core/Renderer/SVG/SVGRenderer.js} +426 -886
  78. package/es-modules/{parts-3d/SVGRenderer.js → Core/Renderer/SVG/SVGRenderer3D.js} +31 -23
  79. package/es-modules/{parts → Core}/Responsive.js +24 -14
  80. package/es-modules/{parts → Core}/Scrollbar.js +5 -4
  81. package/es-modules/Core/Series/BaseSeries.js +157 -0
  82. package/es-modules/{parts/Series.js → Core/Series/CartesianSeries.js} +119 -55
  83. package/es-modules/{parts → Core/Series}/DataLabels.js +40 -36
  84. package/es-modules/{parts → Core/Series}/Point.js +8 -10
  85. package/es-modules/Core/Series/Series.js +158 -0
  86. package/es-modules/{parts-3d/Series.js → Core/Series/Series3D.js} +5 -3
  87. package/es-modules/{parts → Core}/Time.js +11 -133
  88. package/es-modules/{parts → Core}/Tooltip.js +30 -27
  89. package/es-modules/{parts → Core}/Utilities.js +103 -562
  90. package/es-modules/{mixins/ajax.js → Extensions/Ajax.js} +9 -4
  91. package/es-modules/{annotations/annotations.src.js → Extensions/Annotations/Annotations.js} +901 -709
  92. package/es-modules/{annotations → Extensions/Annotations}/ControlPoint.js +2 -2
  93. package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +117 -0
  94. package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +111 -0
  95. package/es-modules/{annotations/controllable → Extensions/Annotations/Controllables}/ControllableLabel.js +186 -146
  96. package/es-modules/{annotations/controllable → Extensions/Annotations/Controllables}/ControllablePath.js +81 -42
  97. package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +121 -0
  98. package/es-modules/{annotations/controllable/controllableMixin.js → Extensions/Annotations/Mixins/ControllableMixin.js} +8 -9
  99. package/es-modules/{annotations/eventEmitterMixin.js → Extensions/Annotations/Mixins/EventEmitterMixin.js} +7 -7
  100. package/es-modules/{annotations/controllable/markerMixin.js → Extensions/Annotations/Mixins/MarkerMixin.js} +10 -8
  101. package/es-modules/{annotations → Extensions/Annotations}/MockPoint.js +6 -6
  102. package/es-modules/{annotations/navigationBindings.js → Extensions/Annotations/NavigationBindings.js} +27 -16
  103. package/es-modules/{annotations/popup.js → Extensions/Annotations/Popup.js} +9 -9
  104. package/es-modules/{annotations/types → Extensions/Annotations/Types}/BasicAnnotation.js +68 -20
  105. package/es-modules/{annotations/types → Extensions/Annotations/Types}/CrookedLine.js +46 -19
  106. package/es-modules/{annotations/types → Extensions/Annotations/Types}/ElliottWave.js +33 -12
  107. package/es-modules/{annotations/types → Extensions/Annotations/Types}/Fibonacci.js +54 -22
  108. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +147 -0
  109. package/es-modules/{annotations/types → Extensions/Annotations/Types}/Measure.js +82 -52
  110. package/es-modules/{annotations/types → Extensions/Annotations/Types}/Pitchfork.js +69 -32
  111. package/es-modules/{annotations/types → Extensions/Annotations/Types}/Tunnel.js +58 -30
  112. package/es-modules/{annotations/types → Extensions/Annotations/Types}/VerticalLine.js +64 -33
  113. package/es-modules/{parts-gantt → Extensions}/ArrowSymbols.js +9 -11
  114. package/es-modules/{modules/boost/boost.js → Extensions/Boost/Boost.js} +8 -8
  115. package/es-modules/{modules/boost/boost-attach.js → Extensions/Boost/BoostAttach.js} +10 -8
  116. package/es-modules/{modules/boost/boost-init.js → Extensions/Boost/BoostInit.js} +7 -6
  117. package/es-modules/{modules/boost/boost-options.js → Extensions/Boost/BoostOptions.js} +1 -1
  118. package/es-modules/{modules/boost/boost-overrides.js → Extensions/Boost/BoostOverrides.js} +14 -11
  119. package/es-modules/{modules/boost/boost-utils.js → Extensions/Boost/BoostUtils.js} +6 -6
  120. package/es-modules/{modules/boost/boostable-map.js → Extensions/Boost/BoostableMap.js} +1 -1
  121. package/es-modules/{modules/boost/boostables.js → Extensions/Boost/Boostables.js} +0 -0
  122. package/es-modules/{modules/boost/named-colors.js → Extensions/Boost/NamedColors.js} +1 -1
  123. package/es-modules/{modules/boost/wgl-renderer.js → Extensions/Boost/WGLRenderer.js} +9 -9
  124. package/es-modules/{modules/boost/wgl-shader.js → Extensions/Boost/WGLShader.js} +3 -4
  125. package/es-modules/{modules/boost/wgl-vbuffer.js → Extensions/Boost/WGLVBuffer.js} +0 -0
  126. package/es-modules/{modules/boost-canvas.src.js → Extensions/BoostCanvas.js} +13 -9
  127. package/es-modules/{parts-gantt/CurrentDateIndicator.js → Extensions/CurrentDateIndication.js} +5 -7
  128. package/es-modules/{modules/data.src.js → Extensions/Data.js} +14 -16
  129. package/es-modules/{parts → Extensions}/DataGrouping.js +12 -9
  130. package/es-modules/{modules/debugger.src.js → Extensions/Debugger.js} +6 -6
  131. package/es-modules/{mixins/download-url.js → Extensions/DownloadURL.js} +15 -7
  132. package/es-modules/{modules/drag-panes.src.js → Extensions/DragPanes.js} +6 -6
  133. package/es-modules/{modules/draggable-points.src.js → Extensions/DraggablePoints.js} +21 -32
  134. package/es-modules/{modules/drilldown.src.js → Extensions/Drilldown.js} +64 -43
  135. package/es-modules/{modules/export-data.src.js → Extensions/ExportData.js} +126 -26
  136. package/es-modules/{modules/exporting.src.js → Extensions/Exporting.js} +26 -12
  137. package/es-modules/{modules/full-screen.src.js → Extensions/FullScreen.js} +5 -3
  138. package/es-modules/{parts-map → Extensions}/GeoJSON.js +112 -7
  139. package/es-modules/{modules/marker-clusters.src.js → Extensions/MarkerClusters.js} +29 -39
  140. package/es-modules/{parts-3d/Math.js → Extensions/Math3D.js} +17 -9
  141. package/es-modules/{modules/no-data-to-display.src.js → Extensions/NoDataToDisplay.js} +14 -15
  142. package/es-modules/{modules/offline-exporting.src.js → Extensions/OfflineExporting.js} +39 -35
  143. package/es-modules/{modules/oldie.src.js → Extensions/Oldie/Oldie.js} +19 -12
  144. package/es-modules/{parts-3d → Extensions/Oldie}/VMLAxis3D.js +1 -1
  145. package/es-modules/Extensions/Oldie/VMLRenderer3D.js +46 -0
  146. package/es-modules/{modules/oldie-polyfills.src.js → Extensions/OldiePolyfills.js} +5 -0
  147. package/es-modules/{modules/overlapping-datalabels.src.js → Extensions/OverlappingDataLabels.js} +14 -13
  148. package/es-modules/{parts-more → Extensions}/Pane.js +13 -12
  149. package/es-modules/{modules/parallel-coordinates.src.js → Extensions/ParallelCoordinates.js} +140 -138
  150. package/es-modules/{modules/pattern-fill.src.js → Extensions/PatternFill.js} +23 -15
  151. package/es-modules/{parts-more → Extensions}/Polar.js +15 -12
  152. package/es-modules/{modules/price-indicator.src.js → Extensions/PriceIndication.js} +5 -3
  153. package/es-modules/{parts → Extensions}/RangeSelector.js +112 -79
  154. package/es-modules/{parts → Extensions}/ScrollablePlotArea.js +19 -9
  155. package/es-modules/{modules/series-label.src.js → Extensions/SeriesLabel.js} +14 -10
  156. package/es-modules/{modules/sonification/chartSonify.js → Extensions/Sonification/ChartSonify.js} +212 -41
  157. package/es-modules/{modules/sonification → Extensions/Sonification}/Earcon.js +3 -7
  158. package/es-modules/{modules/sonification → Extensions/Sonification}/Instrument.js +35 -11
  159. package/es-modules/{modules/sonification/instrumentDefinitions.js → Extensions/Sonification/InstrumentDefinitions.js} +1 -1
  160. package/es-modules/{modules/sonification/musicalFrequencies.js → Extensions/Sonification/MusicalFrequencies.js} +0 -0
  161. package/es-modules/Extensions/Sonification/Options.js +34 -0
  162. package/es-modules/{modules/sonification/pointSonify.js → Extensions/Sonification/PointSonify.js} +43 -28
  163. package/es-modules/{modules/sonification/sonification.js → Extensions/Sonification/Sonification.js} +16 -12
  164. package/es-modules/{modules/sonification → Extensions/Sonification}/Timeline.js +25 -6
  165. package/es-modules/{modules/sonification/utilities.js → Extensions/Sonification/Utilities.js} +8 -5
  166. package/es-modules/{parts → Extensions}/Stacking.js +57 -18
  167. package/es-modules/{modules/static-scale.src.js → Extensions/StaticScale.js} +4 -4
  168. package/es-modules/{themes/avocado.js → Extensions/Themes/Avocado.js} +5 -4
  169. package/es-modules/{themes/dark-blue.js → Extensions/Themes/DarkBlue.js} +4 -2
  170. package/es-modules/{themes/dark-green.js → Extensions/Themes/DarkGreen.js} +4 -2
  171. package/es-modules/{themes/dark-unica.js → Extensions/Themes/DarkUnica.js} +6 -6
  172. package/es-modules/{themes/gray.js → Extensions/Themes/Gray.js} +5 -4
  173. package/es-modules/{themes/grid.js → Extensions/Themes/Grid.js} +4 -2
  174. package/es-modules/{themes/grid-light.js → Extensions/Themes/GridLight.js} +4 -2
  175. package/es-modules/{themes/high-contrast-dark.js → Extensions/Themes/HighContrastDark.js} +5 -4
  176. package/es-modules/{themes/high-contrast-light.js → Extensions/Themes/HighContrastLight.js} +4 -2
  177. package/es-modules/{themes/sand-signika.js → Extensions/Themes/SandSignika.js} +4 -2
  178. package/es-modules/{themes/skies.js → Extensions/Themes/Skies.js} +5 -3
  179. package/es-modules/{themes/sunset.js → Extensions/Themes/Sunset.js} +5 -4
  180. package/es-modules/{parts-gantt/Pathfinder.js → Gantt/Connection.js} +41 -284
  181. package/es-modules/Gantt/Pathfinder.js +816 -0
  182. package/es-modules/Gantt/PathfinderAlgorithms.js +659 -0
  183. package/es-modules/{parts-gantt → Gantt}/Tree.js +1 -1
  184. package/es-modules/{parts-map → Maps}/Map.js +24 -15
  185. package/es-modules/{parts-map → Maps}/MapNavigation.js +4 -5
  186. package/es-modules/{parts-map → Maps}/MapPointer.js +2 -4
  187. package/es-modules/{mixins/centered-series.js → Mixins/CenteredSeries.js} +7 -5
  188. package/es-modules/{parts-map/ColorMapSeriesMixin.js → Mixins/ColorMapSeries.js} +10 -6
  189. package/es-modules/{parts-map/ColorSeriesMixin.js → Mixins/ColorSeries.js} +12 -4
  190. package/es-modules/{mixins/derived-series.js → Mixins/DerivedSeries.js} +3 -3
  191. package/es-modules/{mixins/draw-point.js → Mixins/DrawPoint.js} +6 -1
  192. package/es-modules/{mixins/geometry.js → Mixins/Geometry.js} +0 -0
  193. package/es-modules/{mixins/geometry-circles.js → Mixins/GeometryCircles.js} +2 -2
  194. package/es-modules/{mixins/indicator-required.js → Mixins/IndicatorRequired.js} +1 -1
  195. package/es-modules/{mixins/legend-symbol.js → Mixins/LegendSymbol.js} +6 -10
  196. package/es-modules/{mixins/multipe-lines.js → Mixins/MultipleLines.js} +2 -2
  197. package/es-modules/{mixins/navigation.js → Mixins/Navigation.js} +0 -0
  198. package/es-modules/{mixins/nelder-mead.js → Mixins/NelderMead.js} +2 -2
  199. package/es-modules/{mixins/nodes.js → Mixins/Nodes.js} +7 -5
  200. package/es-modules/{mixins/on-series.js → Mixins/OnSeries.js} +3 -2
  201. package/es-modules/{mixins/polygon.js → Mixins/Polygon.js} +2 -2
  202. package/es-modules/{mixins/reduce-array.js → Mixins/ReduceArray.js} +1 -1
  203. package/es-modules/{mixins/tree-series.js → Mixins/TreeSeries.js} +2 -2
  204. package/es-modules/{parts-more → Series}/AreaRangeSeries.js +75 -38
  205. package/es-modules/{parts → Series}/AreaSeries.js +43 -25
  206. package/es-modules/{parts-more → Series}/AreaSplineRangeSeries.js +47 -10
  207. package/es-modules/{parts → Series}/AreaSplineSeries.js +49 -10
  208. package/es-modules/{parts → Series}/BarSeries.js +2 -5
  209. package/es-modules/{modules/bellcurve.src.js → Series/BellcurveSeries.js} +47 -7
  210. package/es-modules/{parts-more → Series}/BoxPlotSeries.js +18 -13
  211. package/es-modules/{parts-more → Series/Bubble}/BubbleLegend.js +11 -9
  212. package/es-modules/{parts-more → Series/Bubble}/BubbleSeries.js +25 -27
  213. package/es-modules/{modules/bullet.src.js → Series/BulletSeries.js} +9 -8
  214. package/es-modules/{parts → Series}/CandlestickSeries.js +11 -8
  215. package/es-modules/{parts-3d/Column.js → Series/Column3DSeries.js} +108 -28
  216. package/es-modules/{parts-more → Series}/ColumnPyramidSeries.js +9 -9
  217. package/es-modules/{parts-more → Series}/ColumnRangeSeries.js +21 -18
  218. package/es-modules/{parts → Series}/ColumnSeries.js +119 -41
  219. package/es-modules/{modules/cylinder.src.js → Series/CylinderSeries.js} +14 -14
  220. package/es-modules/{modules/dependency-wheel.src.js → Series/DependencyWheelSeries.js} +14 -12
  221. package/es-modules/{modules/dotplot.src.js → Series/DotplotSeries.js} +7 -15
  222. package/es-modules/{modules/dumbbell.src.js → Series/DumbbellSeries.js} +16 -10
  223. package/es-modules/{parts-more → Series}/ErrorBarSeries.js +8 -8
  224. package/es-modules/{parts → Series}/FlagsSeries.js +18 -12
  225. package/es-modules/{modules/funnel3d.src.js → Series/Funnel3DSeries.js} +14 -16
  226. package/es-modules/{modules/funnel.src.js → Series/FunnelSeries.js} +16 -14
  227. package/es-modules/{parts-gantt → Series}/GanttSeries.js +21 -20
  228. package/es-modules/{parts-more → Series}/GaugeSeries.js +14 -12
  229. package/es-modules/{parts-map → Series}/HeatmapSeries.js +23 -16
  230. package/es-modules/{modules/histogram.src.js → Series/HistogramSeries.js} +13 -9
  231. package/es-modules/{modules/item-series.src.js → Series/ItemSeries.js} +22 -14
  232. package/es-modules/Series/LineSeries.js +13 -0
  233. package/es-modules/{modules/lollipop.src.js → Series/LollipopSeries.js} +34 -10
  234. package/es-modules/{parts-map → Series}/MapBubbleSeries.js +8 -9
  235. package/es-modules/{parts-map → Series}/MapLineSeries.js +5 -7
  236. package/es-modules/{parts-map → Series}/MapPointSeries.js +9 -8
  237. package/es-modules/{parts-map → Series}/MapSeries.js +22 -18
  238. package/es-modules/{modules/networkgraph/draggable-nodes.js → Series/Networkgraph/DraggableNodes.js} +15 -30
  239. package/es-modules/{modules/networkgraph/integrations.js → Series/Networkgraph/Integrations.js} +1 -1
  240. package/es-modules/{modules/networkgraph/layouts.js → Series/Networkgraph/Layouts.js} +43 -13
  241. package/es-modules/{modules/networkgraph/networkgraph.src.js → Series/Networkgraph/Networkgraph.js} +29 -23
  242. package/es-modules/{modules/networkgraph → Series/Networkgraph}/QuadTree.js +2 -2
  243. package/es-modules/{parts → Series}/OHLCSeries.js +5 -7
  244. package/es-modules/{modules/organization.src.js → Series/OrganizationSeries.js} +10 -7
  245. package/es-modules/{parts-more → Series}/PackedBubbleSeries.js +104 -28
  246. package/es-modules/{modules/pareto.src.js → Series/ParetoSeries.js} +10 -9
  247. package/es-modules/{parts-3d/Pie.js → Series/Pie3DSeries.js} +5 -4
  248. package/es-modules/{parts → Series}/PieSeries.js +66 -31
  249. package/es-modules/{parts-more → Series}/PolygonSeries.js +13 -13
  250. package/es-modules/{modules/pyramid3d.src.js → Series/Pyramid3DSeries.js} +5 -7
  251. package/es-modules/{modules/sankey.src.js → Series/SankeySeries.js} +23 -21
  252. package/es-modules/{parts-3d/Scatter.js → Series/Scatter3DSeries.js} +10 -9
  253. package/es-modules/{parts → Series}/ScatterSeries.js +15 -10
  254. package/es-modules/{modules/solid-gauge.src.js → Series/SolidGaugeSeries.js} +112 -78
  255. package/es-modules/{parts → Series}/SplineSeries.js +9 -7
  256. package/es-modules/{modules/streamgraph.src.js → Series/StreamgraphSeries.js} +42 -6
  257. package/es-modules/{modules/sunburst.src.js → Series/SunburstSeries.js} +20 -13
  258. package/es-modules/{modules/tilemap.src.js → Series/TilemapSeries.js} +12 -9
  259. package/es-modules/{modules/timeline.src.js → Series/TimelineSeries.js} +16 -11
  260. package/es-modules/{modules/treemap.src.js → Series/TreemapSeries.js} +47 -40
  261. package/es-modules/{modules/variable-pie.src.js → Series/VariablePieSeries.js} +11 -8
  262. package/es-modules/{modules/variwide.src.js → Series/VariwideSeries.js} +12 -10
  263. package/es-modules/{modules/vector.src.js → Series/VectorSeries.js} +11 -7
  264. package/es-modules/{modules/venn.src.js → Series/VennSeries.js} +29 -20
  265. package/es-modules/{parts-more → Series}/WaterfallSeries.js +145 -66
  266. package/es-modules/{modules/windbarb.src.js → Series/WindbarbSeries.js} +13 -9
  267. package/es-modules/{modules/wordcloud.src.js → Series/WordcloudSeries.js} +17 -13
  268. package/es-modules/{modules/xrange.src.js → Series/XRangeSeries.js} +16 -12
  269. package/es-modules/{indicators/acceleration-bands.src.js → Stock/Indicators/ABIndicator.js} +8 -8
  270. package/es-modules/{indicators/accumulation-distribution.src.js → Stock/Indicators/ADIndicator.js} +5 -4
  271. package/es-modules/{indicators/ao.src.js → Stock/Indicators/AOIndicator.js} +6 -5
  272. package/es-modules/{indicators/apo.src.js → Stock/Indicators/APOIndicator.js} +8 -8
  273. package/es-modules/{indicators/atr.src.js → Stock/Indicators/ATRIndicator.js} +6 -6
  274. package/es-modules/{indicators/aroon.src.js → Stock/Indicators/AroonIndicator.js} +7 -6
  275. package/es-modules/{indicators/aroon-oscillator.src.js → Stock/Indicators/AroonOscillatorIndicator.js} +8 -8
  276. package/es-modules/{indicators/bollinger-bands.src.js → Stock/Indicators/BBIndicator.js} +8 -8
  277. package/es-modules/{indicators/cci.src.js → Stock/Indicators/CCIIndicator.js} +5 -4
  278. package/es-modules/{indicators/cmf.src.js → Stock/Indicators/CMFIndicator.js} +3 -4
  279. package/es-modules/{indicators/chaikin.src.js → Stock/Indicators/ChaikinIndicator.js} +10 -9
  280. package/es-modules/{indicators/dema.src.js → Stock/Indicators/DEMAIndicator.js} +8 -8
  281. package/es-modules/{indicators/dpo.src.js → Stock/Indicators/DPOIndicator.js} +5 -4
  282. package/es-modules/{indicators/ema.src.js → Stock/Indicators/EMAIndicator.js} +4 -4
  283. package/es-modules/{indicators/ichimoku-kinko-hyo.src.js → Stock/Indicators/IKHIndicator.js} +23 -20
  284. package/es-modules/{indicators/keltner-channels.src.js → Stock/Indicators/KeltnerChannelsIndicator.js} +11 -8
  285. package/es-modules/{indicators/macd.src.js → Stock/Indicators/MACDIndicator.js} +9 -6
  286. package/es-modules/{indicators/mfi.src.js → Stock/Indicators/MFIIndicator.js} +5 -4
  287. package/es-modules/{indicators/momentum.src.js → Stock/Indicators/MomentumIndicator.js} +5 -4
  288. package/es-modules/{indicators/natr.src.js → Stock/Indicators/NATRIndicator.js} +4 -6
  289. package/es-modules/{indicators/price-channel.src.js → Stock/Indicators/PCIndicator.js} +9 -8
  290. package/es-modules/{indicators/ppo.src.js → Stock/Indicators/PPOIndicator.js} +8 -8
  291. package/es-modules/{indicators/psar.src.js → Stock/Indicators/PSARIndicator.js} +3 -4
  292. package/es-modules/{indicators/pivot-points.src.js → Stock/Indicators/PivotPointsIndicator.js} +6 -6
  293. package/es-modules/{indicators/price-envelopes.src.js → Stock/Indicators/PriceEnvelopesIndicator.js} +6 -6
  294. package/es-modules/{indicators/roc.src.js → Stock/Indicators/ROCIndicator.js} +5 -4
  295. package/es-modules/{indicators/rsi.src.js → Stock/Indicators/RSIIndicator.js} +5 -4
  296. package/es-modules/{indicators/regressions.src.js → Stock/Indicators/RegressionIndicators.js} +8 -7
  297. package/es-modules/{indicators/indicators.src.js → Stock/Indicators/SMAIndicator.js} +12 -8
  298. package/es-modules/{indicators/slow-stochastic.src.js → Stock/Indicators/SlowStochasticIndicator.js} +6 -8
  299. package/es-modules/{indicators/stochastic.src.js → Stock/Indicators/StochasticIndicator.js} +9 -9
  300. package/es-modules/{indicators/supertrend.src.js → Stock/Indicators/SupertrendIndicator.js} +8 -7
  301. package/es-modules/{indicators/tema.src.js → Stock/Indicators/TEMAIndicator.js} +8 -8
  302. package/es-modules/{indicators/trix.src.js → Stock/Indicators/TRIXIndicator.js} +8 -8
  303. package/es-modules/{indicators/trendline.src.js → Stock/Indicators/TrendLineIndicator.js} +5 -4
  304. package/es-modules/{indicators/volume-by-price.src.js → Stock/Indicators/VBPIndicator.js} +10 -7
  305. package/es-modules/{indicators/vwap.src.js → Stock/Indicators/VWAPIndicator.js} +5 -4
  306. package/es-modules/{indicators/wma.src.js → Stock/Indicators/WMAIndicator.js} +5 -4
  307. package/es-modules/{indicators/williams-r.src.js → Stock/Indicators/WilliamsRIndicator.js} +7 -6
  308. package/es-modules/{indicators/zigzag.src.js → Stock/Indicators/ZigzagIndicator.js} +5 -7
  309. package/es-modules/{modules/stock-tools-bindings.js → Stock/StockToolsBindings.js} +22 -7
  310. package/es-modules/{modules/stock-tools-gui.js → Stock/StockToolsGui.js} +17 -17
  311. package/es-modules/error-messages.js +7 -2
  312. package/es-modules/highcharts.src.js +19853 -0
  313. package/es-modules/masters/highcharts-3d.src.js +11 -12
  314. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  315. package/es-modules/masters/highcharts-more.src.js +15 -15
  316. package/es-modules/masters/highcharts.src.js +28 -27
  317. package/es-modules/masters/highmaps.src.js +1 -1
  318. package/es-modules/masters/highstock.src.js +1 -1
  319. package/es-modules/masters/indicators/acceleration-bands.src.js +2 -2
  320. package/es-modules/masters/indicators/accumulation-distribution.src.js +2 -2
  321. package/es-modules/masters/indicators/ao.src.js +2 -2
  322. package/es-modules/masters/indicators/apo.src.js +2 -2
  323. package/es-modules/masters/indicators/aroon-oscillator.src.js +2 -2
  324. package/es-modules/masters/indicators/aroon.src.js +2 -2
  325. package/es-modules/masters/indicators/atr.src.js +2 -2
  326. package/es-modules/masters/indicators/bollinger-bands.src.js +2 -2
  327. package/es-modules/masters/indicators/cci.src.js +2 -2
  328. package/es-modules/masters/indicators/chaikin.src.js +2 -2
  329. package/es-modules/masters/indicators/cmf.src.js +2 -2
  330. package/es-modules/masters/indicators/dema.src.js +2 -2
  331. package/es-modules/masters/indicators/dpo.src.js +2 -2
  332. package/es-modules/masters/indicators/ema.src.js +2 -2
  333. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +2 -2
  334. package/es-modules/masters/indicators/indicators-all.src.js +41 -41
  335. package/es-modules/masters/indicators/indicators.src.js +2 -2
  336. package/es-modules/masters/indicators/keltner-channels.src.js +2 -2
  337. package/es-modules/masters/indicators/macd.src.js +2 -2
  338. package/es-modules/masters/indicators/mfi.src.js +2 -2
  339. package/es-modules/masters/indicators/momentum.src.js +2 -2
  340. package/es-modules/masters/indicators/natr.src.js +2 -2
  341. package/es-modules/masters/indicators/pivot-points.src.js +2 -2
  342. package/es-modules/masters/indicators/ppo.src.js +2 -2
  343. package/es-modules/masters/indicators/price-channel.src.js +2 -2
  344. package/es-modules/masters/indicators/price-envelopes.src.js +2 -2
  345. package/es-modules/masters/indicators/psar.src.js +2 -2
  346. package/es-modules/masters/indicators/regressions.src.js +2 -2
  347. package/es-modules/masters/indicators/roc.src.js +2 -2
  348. package/es-modules/masters/indicators/rsi.src.js +2 -2
  349. package/es-modules/masters/indicators/slow-stochastic.src.js +2 -2
  350. package/es-modules/masters/indicators/stochastic.src.js +2 -2
  351. package/es-modules/masters/indicators/supertrend.src.js +2 -2
  352. package/es-modules/masters/indicators/tema.src.js +2 -2
  353. package/es-modules/masters/indicators/trendline.src.js +2 -2
  354. package/es-modules/masters/indicators/trix.src.js +2 -2
  355. package/es-modules/masters/indicators/volume-by-price.src.js +2 -2
  356. package/es-modules/masters/indicators/vwap.src.js +2 -2
  357. package/es-modules/masters/indicators/williams-r.src.js +2 -2
  358. package/es-modules/masters/indicators/wma.src.js +2 -2
  359. package/es-modules/masters/indicators/zigzag.src.js +2 -2
  360. package/es-modules/masters/modules/accessibility.src.js +2 -2
  361. package/es-modules/masters/modules/annotations-advanced.src.js +13 -13
  362. package/es-modules/masters/modules/annotations.src.js +4 -4
  363. package/es-modules/masters/modules/arrow-symbols.src.js +2 -2
  364. package/es-modules/masters/modules/boost-canvas.src.js +2 -2
  365. package/es-modules/masters/modules/boost.src.js +2 -2
  366. package/es-modules/masters/modules/broken-axis.src.js +2 -2
  367. package/es-modules/masters/modules/bullet.src.js +2 -2
  368. package/es-modules/masters/modules/coloraxis.src.js +2 -2
  369. package/es-modules/masters/modules/current-date-indicator.src.js +2 -2
  370. package/es-modules/masters/modules/cylinder.src.js +2 -2
  371. package/es-modules/masters/modules/data.src.js +2 -2
  372. package/es-modules/masters/modules/datagrouping.src.js +2 -2
  373. package/es-modules/masters/modules/debugger.src.js +2 -2
  374. package/es-modules/masters/modules/dependency-wheel.src.js +2 -2
  375. package/es-modules/masters/modules/dotplot.src.js +2 -2
  376. package/es-modules/masters/modules/drag-panes.src.js +2 -2
  377. package/es-modules/masters/modules/draggable-points.src.js +2 -2
  378. package/es-modules/masters/modules/drilldown.src.js +2 -2
  379. package/es-modules/masters/modules/dumbbell.src.js +2 -2
  380. package/es-modules/masters/modules/export-data.src.js +2 -2
  381. package/es-modules/masters/modules/exporting.src.js +3 -3
  382. package/es-modules/masters/modules/full-screen.src.js +2 -2
  383. package/es-modules/masters/modules/funnel.src.js +2 -2
  384. package/es-modules/masters/modules/funnel3d.src.js +2 -2
  385. package/es-modules/masters/modules/gantt.src.js +6 -6
  386. package/es-modules/masters/modules/grid-axis.src.js +2 -2
  387. package/es-modules/masters/modules/heatmap.src.js +4 -4
  388. package/es-modules/masters/modules/histogram-bellcurve.src.js +3 -3
  389. package/es-modules/masters/modules/item-series.src.js +2 -2
  390. package/es-modules/masters/modules/lollipop.src.js +2 -2
  391. package/es-modules/masters/modules/map.src.js +13 -13
  392. package/es-modules/masters/modules/marker-clusters.src.js +2 -2
  393. package/es-modules/masters/modules/networkgraph.src.js +2 -2
  394. package/es-modules/masters/modules/no-data-to-display.src.js +2 -2
  395. package/es-modules/masters/modules/offline-exporting.src.js +2 -2
  396. package/es-modules/masters/modules/oldie-polyfills.src.js +2 -2
  397. package/es-modules/masters/modules/oldie.src.js +2 -2
  398. package/es-modules/masters/modules/organization.src.js +2 -2
  399. package/es-modules/masters/modules/overlapping-datalabels.src.js +2 -2
  400. package/es-modules/masters/modules/parallel-coordinates.src.js +2 -2
  401. package/es-modules/masters/modules/pareto.src.js +2 -2
  402. package/es-modules/masters/modules/pathfinder.src.js +2 -2
  403. package/es-modules/masters/modules/pattern-fill.src.js +2 -2
  404. package/es-modules/masters/modules/price-indicator.src.js +2 -2
  405. package/es-modules/masters/modules/pyramid3d.src.js +2 -2
  406. package/es-modules/masters/modules/sankey.src.js +2 -2
  407. package/es-modules/masters/modules/series-label.src.js +2 -2
  408. package/es-modules/masters/modules/solid-gauge.src.js +2 -2
  409. package/es-modules/masters/modules/sonification.src.js +2 -2
  410. package/es-modules/masters/modules/static-scale.src.js +2 -2
  411. package/es-modules/masters/modules/stock-tools.src.js +3 -3
  412. package/es-modules/masters/modules/stock.src.js +10 -10
  413. package/es-modules/masters/modules/streamgraph.src.js +2 -2
  414. package/es-modules/masters/modules/sunburst.src.js +2 -2
  415. package/es-modules/masters/modules/tilemap.src.js +2 -2
  416. package/es-modules/masters/modules/timeline.src.js +2 -2
  417. package/es-modules/masters/modules/treegrid.src.js +2 -2
  418. package/es-modules/masters/modules/treemap.src.js +2 -2
  419. package/es-modules/masters/modules/variable-pie.src.js +2 -2
  420. package/es-modules/masters/modules/variwide.src.js +2 -2
  421. package/es-modules/masters/modules/vector.src.js +2 -2
  422. package/es-modules/masters/modules/venn.src.js +2 -2
  423. package/es-modules/masters/modules/windbarb.src.js +2 -2
  424. package/es-modules/masters/modules/wordcloud.src.js +2 -2
  425. package/es-modules/masters/modules/xrange.src.js +2 -2
  426. package/es-modules/masters/themes/avocado.src.js +2 -2
  427. package/es-modules/masters/themes/dark-blue.src.js +2 -2
  428. package/es-modules/masters/themes/dark-green.src.js +2 -2
  429. package/es-modules/masters/themes/dark-unica.src.js +2 -2
  430. package/es-modules/masters/themes/gray.src.js +2 -2
  431. package/es-modules/masters/themes/grid-light.src.js +2 -2
  432. package/es-modules/masters/themes/grid.src.js +2 -2
  433. package/es-modules/masters/themes/high-contrast-dark.src.js +2 -2
  434. package/es-modules/masters/themes/high-contrast-light.src.js +2 -2
  435. package/es-modules/masters/themes/sand-signika.src.js +2 -2
  436. package/es-modules/masters/themes/skies.src.js +2 -2
  437. package/es-modules/masters/themes/sunset.src.js +2 -2
  438. package/highcharts-3d.js +86 -88
  439. package/highcharts-3d.js.map +1 -1
  440. package/highcharts-3d.src.js +1713 -1615
  441. package/highcharts-gantt.js +730 -697
  442. package/highcharts-gantt.js.map +1 -1
  443. package/highcharts-gantt.src.js +11747 -10110
  444. package/highcharts-more.js +164 -161
  445. package/highcharts-more.js.map +1 -1
  446. package/highcharts-more.src.js +766 -523
  447. package/highcharts.d.ts +7728 -1337
  448. package/highcharts.js +538 -515
  449. package/highcharts.js.map +1 -1
  450. package/highcharts.src.d.ts +7728 -1337
  451. package/highcharts.src.js +8517 -7691
  452. package/highmaps.js +636 -612
  453. package/highmaps.js.map +1 -1
  454. package/highmaps.src.js +9151 -8209
  455. package/highstock.js +697 -671
  456. package/highstock.js.map +1 -1
  457. package/highstock.src.js +8919 -8049
  458. package/indicators/acceleration-bands.js +8 -8
  459. package/indicators/acceleration-bands.js.map +1 -1
  460. package/indicators/acceleration-bands.src.js +8 -8
  461. package/indicators/accumulation-distribution.js +4 -4
  462. package/indicators/accumulation-distribution.js.map +1 -1
  463. package/indicators/accumulation-distribution.src.js +5 -5
  464. package/indicators/ao.js +5 -5
  465. package/indicators/ao.js.map +1 -1
  466. package/indicators/ao.src.js +6 -6
  467. package/indicators/apo.js +5 -5
  468. package/indicators/apo.js.map +1 -1
  469. package/indicators/apo.src.js +8 -9
  470. package/indicators/aroon-oscillator.js +8 -8
  471. package/indicators/aroon-oscillator.js.map +1 -1
  472. package/indicators/aroon-oscillator.src.js +8 -9
  473. package/indicators/aroon.js +7 -7
  474. package/indicators/aroon.js.map +1 -1
  475. package/indicators/aroon.src.js +7 -7
  476. package/indicators/atr.js +4 -4
  477. package/indicators/atr.js.map +1 -1
  478. package/indicators/atr.src.js +6 -14
  479. package/indicators/bollinger-bands.js +8 -8
  480. package/indicators/bollinger-bands.js.map +1 -1
  481. package/indicators/bollinger-bands.src.js +8 -8
  482. package/indicators/cci.js +4 -4
  483. package/indicators/cci.js.map +1 -1
  484. package/indicators/cci.src.js +5 -5
  485. package/indicators/chaikin.js +6 -6
  486. package/indicators/chaikin.js.map +1 -1
  487. package/indicators/chaikin.src.js +75 -75
  488. package/indicators/cmf.js +4 -4
  489. package/indicators/cmf.js.map +1 -1
  490. package/indicators/cmf.src.js +4 -4
  491. package/indicators/dema.js +5 -5
  492. package/indicators/dema.js.map +1 -1
  493. package/indicators/dema.src.js +8 -9
  494. package/indicators/dpo.js +4 -4
  495. package/indicators/dpo.js.map +1 -1
  496. package/indicators/dpo.src.js +5 -5
  497. package/indicators/ema.js +4 -4
  498. package/indicators/ema.js.map +1 -1
  499. package/indicators/ema.src.js +4 -5
  500. package/indicators/ichimoku-kinko-hyo.js +13 -13
  501. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  502. package/indicators/ichimoku-kinko-hyo.src.js +21 -20
  503. package/indicators/indicators-all.js +119 -118
  504. package/indicators/indicators-all.js.map +1 -1
  505. package/indicators/indicators-all.src.js +231 -240
  506. package/indicators/indicators.js +9 -9
  507. package/indicators/indicators.js.map +1 -1
  508. package/indicators/indicators.src.js +9 -9
  509. package/indicators/keltner-channels.js +8 -8
  510. package/indicators/keltner-channels.js.map +1 -1
  511. package/indicators/keltner-channels.src.js +13 -10
  512. package/indicators/macd.js +10 -10
  513. package/indicators/macd.js.map +1 -1
  514. package/indicators/macd.src.js +8 -7
  515. package/indicators/mfi.js +4 -4
  516. package/indicators/mfi.js.map +1 -1
  517. package/indicators/mfi.src.js +5 -5
  518. package/indicators/momentum.js +4 -4
  519. package/indicators/momentum.js.map +1 -1
  520. package/indicators/momentum.src.js +5 -5
  521. package/indicators/natr.js +3 -3
  522. package/indicators/natr.js.map +1 -1
  523. package/indicators/natr.src.js +5 -5
  524. package/indicators/pivot-points.js +8 -8
  525. package/indicators/pivot-points.js.map +1 -1
  526. package/indicators/pivot-points.src.js +6 -6
  527. package/indicators/ppo.js +5 -5
  528. package/indicators/ppo.js.map +1 -1
  529. package/indicators/ppo.src.js +8 -9
  530. package/indicators/price-channel.js +8 -8
  531. package/indicators/price-channel.js.map +1 -1
  532. package/indicators/price-channel.src.js +66 -66
  533. package/indicators/price-envelopes.js +6 -6
  534. package/indicators/price-envelopes.js.map +1 -1
  535. package/indicators/price-envelopes.src.js +6 -6
  536. package/indicators/psar.js +3 -3
  537. package/indicators/psar.js.map +1 -1
  538. package/indicators/psar.src.js +4 -4
  539. package/indicators/regressions.js +6 -6
  540. package/indicators/regressions.js.map +1 -1
  541. package/indicators/regressions.src.js +8 -8
  542. package/indicators/roc.js +3 -3
  543. package/indicators/roc.js.map +1 -1
  544. package/indicators/roc.src.js +5 -5
  545. package/indicators/rsi.js +4 -4
  546. package/indicators/rsi.js.map +1 -1
  547. package/indicators/rsi.src.js +5 -5
  548. package/indicators/slow-stochastic.js +5 -5
  549. package/indicators/slow-stochastic.js.map +1 -1
  550. package/indicators/slow-stochastic.src.js +7 -7
  551. package/indicators/stochastic.js +9 -9
  552. package/indicators/stochastic.js.map +1 -1
  553. package/indicators/stochastic.src.js +67 -67
  554. package/indicators/supertrend.js +9 -9
  555. package/indicators/supertrend.js.map +1 -1
  556. package/indicators/supertrend.src.js +9 -7
  557. package/indicators/tema.js +6 -6
  558. package/indicators/tema.js.map +1 -1
  559. package/indicators/tema.src.js +8 -9
  560. package/indicators/trendline.js +3 -3
  561. package/indicators/trendline.js.map +1 -1
  562. package/indicators/trendline.src.js +5 -5
  563. package/indicators/trix.js +4 -4
  564. package/indicators/trix.js.map +1 -1
  565. package/indicators/trix.src.js +8 -8
  566. package/indicators/volume-by-price.js +13 -13
  567. package/indicators/volume-by-price.js.map +1 -1
  568. package/indicators/volume-by-price.src.js +7 -8
  569. package/indicators/vwap.js +4 -4
  570. package/indicators/vwap.js.map +1 -1
  571. package/indicators/vwap.src.js +5 -5
  572. package/indicators/williams-r.js +4 -4
  573. package/indicators/williams-r.js.map +1 -1
  574. package/indicators/williams-r.src.js +7 -7
  575. package/indicators/wma.js +4 -4
  576. package/indicators/wma.js.map +1 -1
  577. package/indicators/wma.src.js +5 -5
  578. package/indicators/zigzag.js +4 -4
  579. package/indicators/zigzag.js.map +1 -1
  580. package/indicators/zigzag.src.js +6 -7
  581. package/modules/accessibility.d.ts +0 -35
  582. package/modules/accessibility.js +171 -168
  583. package/modules/accessibility.js.map +1 -1
  584. package/modules/accessibility.src.d.ts +0 -35
  585. package/modules/accessibility.src.js +369 -252
  586. package/modules/annotations-advanced.js +158 -136
  587. package/modules/annotations-advanced.js.map +1 -1
  588. package/modules/annotations-advanced.src.js +1929 -1263
  589. package/modules/annotations.js +105 -94
  590. package/modules/annotations.js.map +1 -1
  591. package/modules/annotations.src.js +1485 -1101
  592. package/modules/arrow-symbols.js +4 -4
  593. package/modules/arrow-symbols.js.map +1 -1
  594. package/modules/arrow-symbols.src.js +10 -12
  595. package/modules/boost-canvas.js +15 -15
  596. package/modules/boost-canvas.js.map +1 -1
  597. package/modules/boost-canvas.src.js +17 -17
  598. package/modules/boost.d.ts +4 -0
  599. package/modules/boost.js +77 -64
  600. package/modules/boost.js.map +1 -1
  601. package/modules/boost.src.d.ts +4 -0
  602. package/modules/boost.src.js +581 -33
  603. package/modules/broken-axis.js +10 -10
  604. package/modules/broken-axis.js.map +1 -1
  605. package/modules/broken-axis.src.js +4 -5
  606. package/modules/bullet.js +6 -6
  607. package/modules/bullet.js.map +1 -1
  608. package/modules/bullet.src.js +8 -8
  609. package/modules/coloraxis.js +22 -21
  610. package/modules/coloraxis.js.map +1 -1
  611. package/modules/coloraxis.src.js +67 -59
  612. package/modules/current-date-indicator.js +3 -3
  613. package/modules/current-date-indicator.js.map +1 -1
  614. package/modules/current-date-indicator.src.js +4 -5
  615. package/modules/cylinder.js +8 -8
  616. package/modules/cylinder.js.map +1 -1
  617. package/modules/cylinder.src.js +21 -23
  618. package/modules/data.d.ts +2 -2
  619. package/modules/data.js +32 -32
  620. package/modules/data.js.map +1 -1
  621. package/modules/data.src.d.ts +2 -2
  622. package/modules/data.src.js +26 -25
  623. package/modules/datagrouping.js +17 -17
  624. package/modules/datagrouping.js.map +1 -1
  625. package/modules/datagrouping.src.js +6 -7
  626. package/modules/debugger.js +5 -5
  627. package/modules/debugger.js.map +1 -1
  628. package/modules/debugger.src.js +13 -8
  629. package/modules/dependency-wheel.js +8 -8
  630. package/modules/dependency-wheel.js.map +1 -1
  631. package/modules/dependency-wheel.src.js +10 -10
  632. package/modules/dotplot.js +5 -5
  633. package/modules/dotplot.js.map +1 -1
  634. package/modules/dotplot.src.js +6 -14
  635. package/modules/drag-panes.js +10 -10
  636. package/modules/drag-panes.js.map +1 -1
  637. package/modules/drag-panes.src.js +4 -6
  638. package/modules/draggable-points.js +33 -33
  639. package/modules/draggable-points.js.map +1 -1
  640. package/modules/draggable-points.src.js +22 -35
  641. package/modules/drilldown.d.ts +1 -1
  642. package/modules/drilldown.js +23 -22
  643. package/modules/drilldown.js.map +1 -1
  644. package/modules/drilldown.src.d.ts +1 -1
  645. package/modules/drilldown.src.js +66 -53
  646. package/modules/dumbbell.d.ts +4 -0
  647. package/modules/dumbbell.js +24 -9
  648. package/modules/dumbbell.js.map +1 -1
  649. package/modules/dumbbell.src.d.ts +4 -0
  650. package/modules/dumbbell.src.js +1029 -104
  651. package/modules/export-data.d.ts +4 -29
  652. package/modules/export-data.js +21 -21
  653. package/modules/export-data.js.map +1 -1
  654. package/modules/export-data.src.d.ts +4 -29
  655. package/modules/export-data.src.js +155 -189
  656. package/modules/exporting.d.ts +2 -0
  657. package/modules/exporting.js +33 -33
  658. package/modules/exporting.js.map +1 -1
  659. package/modules/exporting.src.d.ts +2 -0
  660. package/modules/exporting.src.js +40 -30
  661. package/modules/full-screen.js +7 -7
  662. package/modules/full-screen.js.map +1 -1
  663. package/modules/full-screen.src.js +4 -3
  664. package/modules/funnel.js +9 -9
  665. package/modules/funnel.js.map +1 -1
  666. package/modules/funnel.src.js +14 -15
  667. package/modules/funnel3d.js +17 -17
  668. package/modules/funnel3d.js.map +1 -1
  669. package/modules/funnel3d.src.js +12 -14
  670. package/modules/gantt.js +194 -183
  671. package/modules/gantt.js.map +1 -1
  672. package/modules/gantt.src.js +2071 -1260
  673. package/modules/grid-axis.js +22 -19
  674. package/modules/grid-axis.js.map +1 -1
  675. package/modules/grid-axis.src.js +149 -43
  676. package/modules/heatmap.js +33 -32
  677. package/modules/heatmap.js.map +1 -1
  678. package/modules/heatmap.src.js +130 -114
  679. package/modules/histogram-bellcurve.js +10 -10
  680. package/modules/histogram-bellcurve.js.map +1 -1
  681. package/modules/histogram-bellcurve.src.js +57 -16
  682. package/modules/item-series.js +9 -9
  683. package/modules/item-series.js.map +1 -1
  684. package/modules/item-series.src.js +20 -13
  685. package/modules/lollipop.d.ts +20 -1
  686. package/modules/lollipop.js +26 -4
  687. package/modules/lollipop.js.map +1 -1
  688. package/modules/lollipop.src.d.ts +20 -1
  689. package/modules/lollipop.src.js +1452 -10
  690. package/modules/map.d.ts +2 -2
  691. package/modules/map.js +99 -98
  692. package/modules/map.js.map +1 -1
  693. package/modules/map.src.d.ts +2 -2
  694. package/modules/map.src.js +1442 -1326
  695. package/modules/marker-clusters.js +35 -36
  696. package/modules/marker-clusters.js.map +1 -1
  697. package/modules/marker-clusters.src.js +31 -51
  698. package/modules/networkgraph.js +47 -46
  699. package/modules/networkgraph.js.map +1 -1
  700. package/modules/networkgraph.src.js +98 -81
  701. package/modules/no-data-to-display.js +4 -4
  702. package/modules/no-data-to-display.js.map +1 -1
  703. package/modules/no-data-to-display.src.js +17 -13
  704. package/modules/offline-exporting.js +15 -15
  705. package/modules/offline-exporting.js.map +1 -1
  706. package/modules/offline-exporting.src.js +63 -46
  707. package/modules/oldie-polyfills.js +6 -6
  708. package/modules/oldie-polyfills.js.map +1 -1
  709. package/modules/oldie-polyfills.src.js +7 -2
  710. package/modules/oldie.js +52 -26
  711. package/modules/oldie.js.map +1 -1
  712. package/modules/oldie.src.js +1411 -34
  713. package/modules/organization.js +11 -11
  714. package/modules/organization.js.map +1 -1
  715. package/modules/organization.src.js +7 -6
  716. package/modules/overlapping-datalabels.js +1 -1
  717. package/modules/overlapping-datalabels.src.js +1 -1
  718. package/modules/parallel-coordinates.js +11 -11
  719. package/modules/parallel-coordinates.js.map +1 -1
  720. package/modules/parallel-coordinates.src.js +144 -136
  721. package/modules/pareto.js +5 -5
  722. package/modules/pareto.js.map +1 -1
  723. package/modules/pareto.src.js +8 -9
  724. package/modules/pathfinder.js +31 -27
  725. package/modules/pathfinder.js.map +1 -1
  726. package/modules/pathfinder.src.js +1589 -985
  727. package/modules/pattern-fill.js +13 -13
  728. package/modules/pattern-fill.js.map +1 -1
  729. package/modules/pattern-fill.src.js +25 -21
  730. package/modules/price-indicator.js +4 -4
  731. package/modules/price-indicator.js.map +1 -1
  732. package/modules/price-indicator.src.js +5 -3
  733. package/modules/pyramid3d.js +3 -3
  734. package/modules/pyramid3d.js.map +1 -1
  735. package/modules/pyramid3d.src.js +4 -5
  736. package/modules/sankey.js +25 -26
  737. package/modules/sankey.js.map +1 -1
  738. package/modules/sankey.src.js +39 -36
  739. package/modules/series-label.js +17 -17
  740. package/modules/series-label.js.map +1 -1
  741. package/modules/series-label.src.js +17 -17
  742. package/modules/solid-gauge.js +8 -8
  743. package/modules/solid-gauge.js.map +1 -1
  744. package/modules/solid-gauge.src.js +123 -91
  745. package/modules/sonification.d.ts +33 -16
  746. package/modules/sonification.js +55 -49
  747. package/modules/sonification.js.map +1 -1
  748. package/modules/sonification.src.d.ts +33 -16
  749. package/modules/sonification.src.js +361 -115
  750. package/modules/static-scale.js +4 -4
  751. package/modules/static-scale.js.map +1 -1
  752. package/modules/static-scale.src.js +3 -4
  753. package/modules/stock-tools.d.ts +23 -1
  754. package/modules/stock-tools.js +150 -84
  755. package/modules/stock-tools.js.map +1 -1
  756. package/modules/stock-tools.src.d.ts +23 -1
  757. package/modules/stock-tools.src.js +3792 -44
  758. package/modules/stock.js +161 -158
  759. package/modules/stock.js.map +1 -1
  760. package/modules/stock.src.js +456 -412
  761. package/modules/streamgraph.js +2 -2
  762. package/modules/streamgraph.js.map +1 -1
  763. package/modules/streamgraph.src.js +42 -5
  764. package/modules/sunburst.js +51 -49
  765. package/modules/sunburst.js.map +1 -1
  766. package/modules/sunburst.src.js +152 -52
  767. package/modules/tilemap.js +14 -14
  768. package/modules/tilemap.js.map +1 -1
  769. package/modules/tilemap.src.js +12 -11
  770. package/modules/timeline.js +14 -14
  771. package/modules/timeline.js.map +1 -1
  772. package/modules/timeline.src.js +19 -18
  773. package/modules/treegrid.js +57 -52
  774. package/modules/treegrid.js.map +1 -1
  775. package/modules/treegrid.src.js +236 -60
  776. package/modules/treemap.js +35 -34
  777. package/modules/treemap.js.map +1 -1
  778. package/modules/treemap.src.js +213 -118
  779. package/modules/variable-pie.js +8 -8
  780. package/modules/variable-pie.js.map +1 -1
  781. package/modules/variable-pie.src.js +12 -10
  782. package/modules/variwide.js +8 -8
  783. package/modules/variwide.js.map +1 -1
  784. package/modules/variwide.src.js +8 -8
  785. package/modules/vector.js +6 -6
  786. package/modules/vector.js.map +1 -1
  787. package/modules/vector.src.js +9 -9
  788. package/modules/venn.js +26 -26
  789. package/modules/venn.js.map +1 -1
  790. package/modules/venn.src.js +49 -37
  791. package/modules/windbarb.js +11 -11
  792. package/modules/windbarb.js.map +1 -1
  793. package/modules/windbarb.src.js +11 -12
  794. package/modules/wordcloud.js +19 -19
  795. package/modules/wordcloud.js.map +1 -1
  796. package/modules/wordcloud.src.js +26 -18
  797. package/modules/xrange.js +12 -12
  798. package/modules/xrange.js.map +1 -1
  799. package/modules/xrange.src.js +19 -20
  800. package/package.json +1 -1
  801. package/themes/avocado.js +3 -3
  802. package/themes/avocado.js.map +1 -1
  803. package/themes/avocado.src.js +5 -4
  804. package/themes/dark-blue.js +3 -3
  805. package/themes/dark-blue.js.map +1 -1
  806. package/themes/dark-blue.src.js +4 -3
  807. package/themes/dark-green.js +3 -3
  808. package/themes/dark-green.js.map +1 -1
  809. package/themes/dark-green.src.js +4 -3
  810. package/themes/dark-unica.js +7 -7
  811. package/themes/dark-unica.js.map +1 -1
  812. package/themes/dark-unica.src.js +6 -6
  813. package/themes/gray.js +3 -3
  814. package/themes/gray.js.map +1 -1
  815. package/themes/gray.src.js +5 -4
  816. package/themes/grid-light.js +4 -4
  817. package/themes/grid-light.js.map +1 -1
  818. package/themes/grid-light.src.js +4 -3
  819. package/themes/grid.js +3 -3
  820. package/themes/grid.js.map +1 -1
  821. package/themes/grid.src.js +4 -3
  822. package/themes/high-contrast-dark.js +6 -6
  823. package/themes/high-contrast-dark.js.map +1 -1
  824. package/themes/high-contrast-dark.src.js +5 -4
  825. package/themes/high-contrast-light.js +3 -3
  826. package/themes/high-contrast-light.js.map +1 -1
  827. package/themes/high-contrast-light.src.js +4 -3
  828. package/themes/sand-signika.js +5 -5
  829. package/themes/sand-signika.js.map +1 -1
  830. package/themes/sand-signika.src.js +4 -3
  831. package/themes/skies.js +4 -4
  832. package/themes/skies.js.map +1 -1
  833. package/themes/skies.src.js +5 -4
  834. package/themes/sunset.js +3 -3
  835. package/themes/sunset.js.map +1 -1
  836. package/themes/sunset.src.js +5 -4
  837. package/es-modules/annotations/controllable/ControllableCircle.js +0 -79
  838. package/es-modules/annotations/controllable/ControllableImage.js +0 -79
  839. package/es-modules/annotations/controllable/ControllableRect.js +0 -82
  840. package/es-modules/annotations/types/InfinityLine.js +0 -110
  841. package/es-modules/masters/modules/map-parser.src.js +0 -12
  842. package/es-modules/modules/accessibility/components/InfoRegionsComponent/AnnotationsA11y.js +0 -80
  843. package/es-modules/modules/accessibility/components/InfoRegionsComponent/InfoRegionsComponent.js +0 -499
  844. package/es-modules/modules/accessibility/components/SeriesComponent/forcedMarkers.js +0 -147
  845. package/es-modules/modules/map-parser.src.js +0 -365
  846. package/es-modules/modules/sonification/options.js +0 -36
  847. package/es-modules/parts-3d/Chart.js +0 -1577
  848. package/es-modules/parts-3d/VMLRenderer.js +0 -35
  849. package/es-modules/parts-gantt/PathfinderAlgorithms.js +0 -656
  850. package/modules/map-parser.d.ts +0 -17
  851. package/modules/map-parser.js +0 -17
  852. package/modules/map-parser.js.map +0 -1
  853. package/modules/map-parser.src.d.ts +0 -17
  854. package/modules/map-parser.src.js +0 -421
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highstock JS v8.1.0 (2020-05-05)
2
+ * @license Highstock JS v8.2.2 (2020-10-22)
3
3
  *
4
4
  * Highstock as a plugin for Highcharts
5
5
  *
@@ -28,7 +28,7 @@
28
28
  obj[path] = fn.apply(null, args);
29
29
  }
30
30
  }
31
- _registerModule(_modules, 'parts/NavigatorAxis.js', [_modules['parts/Globals.js'], _modules['parts/Utilities.js']], function (H, U) {
31
+ _registerModule(_modules, 'Core/Axis/NavigatorAxis.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (H, U) {
32
32
  /* *
33
33
  *
34
34
  * (c) 2010-2020 Torstein Honsi
@@ -204,7 +204,7 @@
204
204
 
205
205
  return NavigatorAxis;
206
206
  });
207
- _registerModule(_modules, 'parts/ScrollbarAxis.js', [_modules['parts/Globals.js'], _modules['parts/Utilities.js']], function (H, U) {
207
+ _registerModule(_modules, 'Core/Axis/ScrollbarAxis.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (H, U) {
208
208
  /* *
209
209
  *
210
210
  * (c) 2010-2020 Torstein Honsi
@@ -389,7 +389,7 @@
389
389
 
390
390
  return ScrollbarAxis;
391
391
  });
392
- _registerModule(_modules, 'parts/Scrollbar.js', [_modules['parts/Axis.js'], _modules['parts/Globals.js'], _modules['parts/ScrollbarAxis.js'], _modules['parts/Utilities.js']], function (Axis, H, ScrollbarAxis, U) {
392
+ _registerModule(_modules, 'Core/Scrollbar.js', [_modules['Core/Axis/Axis.js'], _modules['Core/Globals.js'], _modules['Core/Axis/ScrollbarAxis.js'], _modules['Core/Utilities.js'], _modules['Core/Options.js']], function (Axis, H, ScrollbarAxis, U, O) {
393
393
  /* *
394
394
  *
395
395
  * (c) 2010-2020 Torstein Honsi
@@ -407,8 +407,8 @@
407
407
  merge = U.merge,
408
408
  pick = U.pick,
409
409
  removeEvent = U.removeEvent;
410
- var defaultOptions = H.defaultOptions,
411
- hasTouch = H.hasTouch,
410
+ var defaultOptions = O.defaultOptions;
411
+ var hasTouch = H.hasTouch,
412
412
  isTouchDevice = H.isTouchDevice;
413
413
  /**
414
414
  * When we have vertical scrollbar, rifles and arrow in buttons should be
@@ -1253,7 +1253,7 @@
1253
1253
 
1254
1254
  return H.Scrollbar;
1255
1255
  });
1256
- _registerModule(_modules, 'parts/Navigator.js', [_modules['parts/Axis.js'], _modules['parts/Color.js'], _modules['parts/Globals.js'], _modules['parts/NavigatorAxis.js'], _modules['parts/Scrollbar.js'], _modules['parts/Utilities.js']], function (Axis, Color, H, NavigatorAxis, Scrollbar, U) {
1256
+ _registerModule(_modules, 'Core/Navigator.js', [_modules['Core/Axis/Axis.js'], _modules['Core/Series/Series.js'], _modules['Core/Chart/Chart.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Series/LineSeries.js'], _modules['Core/Axis/NavigatorAxis.js'], _modules['Core/Options.js'], _modules['Core/Scrollbar.js'], _modules['Core/Utilities.js']], function (Axis, BaseSeries, Chart, Color, H, LineSeries, NavigatorAxis, O, Scrollbar, U) {
1257
1257
  /* *
1258
1258
  *
1259
1259
  * (c) 2010-2020 Torstein Honsi
@@ -1263,7 +1263,11 @@
1263
1263
  * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
1264
1264
  *
1265
1265
  * */
1266
+ var seriesTypes = BaseSeries.seriesTypes;
1266
1267
  var color = Color.parse;
1268
+ var hasTouch = H.hasTouch,
1269
+ isTouchDevice = H.isTouchDevice;
1270
+ var defaultOptions = O.defaultOptions;
1267
1271
  var addEvent = U.addEvent,
1268
1272
  clamp = U.clamp,
1269
1273
  correctFloat = U.correctFloat,
@@ -1278,13 +1282,7 @@
1278
1282
  pick = U.pick,
1279
1283
  removeEvent = U.removeEvent,
1280
1284
  splat = U.splat;
1281
- var Chart = H.Chart,
1282
- defaultOptions = H.defaultOptions,
1283
- hasTouch = H.hasTouch,
1284
- isTouchDevice = H.isTouchDevice,
1285
- Series = H.Series,
1286
- seriesTypes = H.seriesTypes,
1287
- defaultSeriesType,
1285
+ var defaultSeriesType,
1288
1286
  // Finding the min or max of a set of variables where we don't know if they
1289
1287
  // are defined, is a pattern that is repeated several places in Highcharts.
1290
1288
  // Consider making this a global utility method.
@@ -1546,8 +1544,7 @@
1546
1544
  */
1547
1545
  series: {
1548
1546
  /**
1549
- * The type of the navigator series. Defaults to `areaspline` if
1550
- * defined, otherwise `line`.
1547
+ * The type of the navigator series.
1551
1548
  *
1552
1549
  * Heads up:
1553
1550
  * In column-type navigator, zooming is limited to at least one
@@ -1557,7 +1554,8 @@
1557
1554
  * Column type navigator
1558
1555
  *
1559
1556
  * @type {string}
1560
- * @default areaspline
1557
+ * @default {highstock} `areaspline` if defined, otherwise `line`
1558
+ * @default {gantt} gantt
1561
1559
  */
1562
1560
  type: defaultSeriesType,
1563
1561
  /**
@@ -1761,9 +1759,9 @@
1761
1759
  * Path to be used in a handle
1762
1760
  */
1763
1761
  H.Renderer.prototype.symbols['navigator-handle'] = function (x, y, w, h, options) {
1764
- var halfWidth = options.width / 2,
1762
+ var halfWidth = (options && options.width || 0) / 2,
1765
1763
  markerPosition = Math.round(halfWidth / 3) + 0.5,
1766
- height = options.height || 0;
1764
+ height = options && options.height || 0;
1767
1765
  return [
1768
1766
  ['M', -halfWidth - 1, 0.5],
1769
1767
  ['L', halfWidth, 0.5],
@@ -2476,8 +2474,8 @@
2476
2474
  inverted = chart.inverted,
2477
2475
  verb = navigator.rendered && !navigator.hasDragged ?
2478
2476
  'animate' : 'attr',
2479
- zoomedMax = Math.round(navigator.zoomedMax),
2480
- zoomedMin = Math.round(navigator.zoomedMin),
2477
+ zoomedMax,
2478
+ zoomedMin,
2481
2479
  unionExtremes,
2482
2480
  fixedMin,
2483
2481
  fixedMax,
@@ -2528,7 +2526,11 @@
2528
2526
  navigator.hasDragged = navigator.dragOffset = null;
2529
2527
  }
2530
2528
  // Update position of navigator shades, outline and handles (#12573)
2531
- if (navigator.navigatorEnabled) {
2529
+ if (navigator.navigatorEnabled &&
2530
+ isNumber(navigator.zoomedMin) &&
2531
+ isNumber(navigator.zoomedMax)) {
2532
+ zoomedMin = Math.round(navigator.zoomedMin);
2533
+ zoomedMax = Math.round(navigator.zoomedMax);
2532
2534
  if (navigator.shades) {
2533
2535
  navigator.drawMasks(zoomedMin, zoomedMax, inverted, verb);
2534
2536
  }
@@ -2650,6 +2652,7 @@
2650
2652
  offset: 0,
2651
2653
  index: yAxisIndex,
2652
2654
  isInternal: true,
2655
+ reversed: pick((navigatorOptions.yAxis && navigatorOptions.yAxis.reversed), (chart.yAxis[0] && chart.yAxis[0].reversed), false),
2653
2656
  zoomEnabled: false
2654
2657
  }, chart.inverted ? {
2655
2658
  width: height
@@ -3249,6 +3252,7 @@
3249
3252
  0) -
3250
3253
  ((legendOptions &&
3251
3254
  legendOptions.verticalAlign === 'bottom' &&
3255
+ legendOptions.layout !== 'proximate' && // #13392
3252
3256
  legendOptions.enabled &&
3253
3257
  !legendOptions.floating) ?
3254
3258
  legend.legendHeight +
@@ -3299,7 +3303,7 @@
3299
3303
  }
3300
3304
  });
3301
3305
  // Handle updating series
3302
- addEvent(Series, 'afterUpdate', function () {
3306
+ addEvent(LineSeries, 'afterUpdate', function () {
3303
3307
  if (this.chart.navigator && !this.options.isInternal) {
3304
3308
  this.chart.navigator.setBaseSeries(null, false);
3305
3309
  }
@@ -3318,7 +3322,7 @@
3318
3322
 
3319
3323
  return H.Navigator;
3320
3324
  });
3321
- _registerModule(_modules, 'parts/OrdinalAxis.js', [_modules['parts/Axis.js'], _modules['parts/Globals.js'], _modules['parts/Utilities.js']], function (Axis, H, U) {
3325
+ _registerModule(_modules, 'Core/Axis/OrdinalAxis.js', [_modules['Core/Axis/Axis.js'], _modules['Core/Globals.js'], _modules['Core/Series/CartesianSeries.js'], _modules['Core/Utilities.js'], _modules['Core/Chart/Chart.js']], function (Axis, H, CartesianSeries, U, Chart) {
3322
3326
  /* *
3323
3327
  *
3324
3328
  * (c) 2010-2020 Torstein Honsi
@@ -3334,259 +3338,45 @@
3334
3338
  pick = U.pick,
3335
3339
  timeUnits = U.timeUnits;
3336
3340
  // Has a dependency on Navigator due to the use of Axis.toFixedRange
3337
- var Chart = H.Chart,
3338
- Series = H.Series;
3339
- /* eslint-disable valid-jsdoc */
3340
- var OrdinalAxisAdditions = /** @class */ (function () {
3341
- /* *
3342
- *
3343
- * Constructors
3344
- *
3345
- * */
3346
- /**
3347
- * @private
3348
- */
3349
- function OrdinalAxisAdditions(axis) {
3350
- this.index = {};
3351
- this.axis = axis;
3352
- }
3341
+ /**
3342
+ * Extends the axis with ordinal support.
3343
+ * @private
3344
+ */
3345
+ var OrdinalAxis;
3346
+ (function (OrdinalAxis) {
3353
3347
  /* *
3354
3348
  *
3355
- * Functions
3349
+ * Classes
3356
3350
  *
3357
3351
  * */
3358
3352
  /**
3359
- * Get the ordinal positions for the entire data set. This is necessary
3360
- * in chart panning because we need to find out what points or data
3361
- * groups are available outside the visible range. When a panning
3362
- * operation starts, if an index for the given grouping does not exists,
3363
- * it is created and cached. This index is deleted on updated data, so
3364
- * it will be regenerated the next time a panning operation starts.
3365
- *
3366
3353
  * @private
3367
3354
  */
3368
- OrdinalAxisAdditions.prototype.getExtendedPositions = function () {
3369
- var ordinal = this,
3370
- axis = ordinal.axis,
3371
- axisProto = axis.constructor.prototype,
3372
- chart = axis.chart,
3373
- grouping = axis.series[0].currentDataGrouping,
3374
- ordinalIndex = ordinal.index,
3375
- key = grouping ?
3376
- grouping.count + grouping.unitName :
3377
- 'raw',
3378
- overscroll = axis.options.overscroll,
3379
- extremes = axis.getExtremes(),
3380
- fakeAxis,
3381
- fakeSeries;
3382
- // If this is the first time, or the ordinal index is deleted by
3383
- // updatedData,
3384
- // create it.
3385
- if (!ordinalIndex) {
3386
- ordinalIndex = ordinal.index = {};
3387
- }
3388
- if (!ordinalIndex[key]) {
3389
- // Create a fake axis object where the extended ordinal
3390
- // positions are emulated
3391
- fakeAxis = {
3392
- series: [],
3393
- chart: chart,
3394
- getExtremes: function () {
3395
- return {
3396
- min: extremes.dataMin,
3397
- max: extremes.dataMax + overscroll
3398
- };
3399
- },
3400
- options: {
3401
- ordinal: true
3402
- },
3403
- ordinal: {},
3404
- ordinal2lin: axisProto.ordinal2lin,
3405
- val2lin: axisProto.val2lin // #2590
3406
- };
3407
- fakeAxis.ordinal.axis = fakeAxis;
3408
- // Add the fake series to hold the full data, then apply
3409
- // processData to it
3410
- axis.series.forEach(function (series) {
3411
- fakeSeries = {
3412
- xAxis: fakeAxis,
3413
- xData: series.xData.slice(),
3414
- chart: chart,
3415
- destroyGroupedData: H.noop,
3416
- getProcessedData: H.Series.prototype.getProcessedData
3417
- };
3418
- fakeSeries.xData = fakeSeries.xData.concat(ordinal.getOverscrollPositions());
3419
- fakeSeries.options = {
3420
- dataGrouping: grouping ? {
3421
- enabled: true,
3422
- forced: true,
3423
- // doesn't matter which, use the fastest
3424
- approximation: 'open',
3425
- units: [[
3426
- grouping.unitName,
3427
- [grouping.count]
3428
- ]]
3429
- } : {
3430
- enabled: false
3431
- }
3432
- };
3433
- series.processData.apply(fakeSeries);
3434
- fakeAxis.series.push(fakeSeries);
3435
- });
3436
- // Run beforeSetTickPositions to compute the ordinalPositions
3437
- axis.beforeSetTickPositions.apply(fakeAxis);
3438
- // Cache it
3439
- ordinalIndex[key] = fakeAxis.ordinal.positions;
3440
- }
3441
- return ordinalIndex[key];
3442
- };
3443
- /**
3444
- * Find the factor to estimate how wide the plot area would have been if
3445
- * ordinal gaps were included. This value is used to compute an imagined
3446
- * plot width in order to establish the data grouping interval.
3447
- *
3448
- * A real world case is the intraday-candlestick example. Without this
3449
- * logic, it would show the correct data grouping when viewing a range
3450
- * within each day, but once moving the range to include the gap between
3451
- * two days, the interval would include the cut-away night hours and the
3452
- * data grouping would be wrong. So the below method tries to compensate
3453
- * by identifying the most common point interval, in this case days.
3454
- *
3455
- * An opposite case is presented in issue #718. We have a long array of
3456
- * daily data, then one point is appended one hour after the last point.
3457
- * We expect the data grouping not to change.
3458
- *
3459
- * In the future, if we find cases where this estimation doesn't work
3460
- * optimally, we might need to add a second pass to the data grouping
3461
- * logic, where we do another run with a greater interval if the number
3462
- * of data groups is more than a certain fraction of the desired group
3463
- * count.
3464
- *
3465
- * @private
3466
- */
3467
- OrdinalAxisAdditions.prototype.getGroupIntervalFactor = function (xMin, xMax, series) {
3468
- var ordinal = this,
3469
- axis = ordinal.axis,
3470
- i,
3471
- processedXData = series.processedXData,
3472
- len = processedXData.length,
3473
- distances = [],
3474
- median,
3475
- groupIntervalFactor = ordinal.groupIntervalFactor;
3476
- // Only do this computation for the first series, let the other
3477
- // inherit it (#2416)
3478
- if (!groupIntervalFactor) {
3479
- // Register all the distances in an array
3480
- for (i = 0; i < len - 1; i++) {
3481
- distances[i] =
3482
- processedXData[i + 1] - processedXData[i];
3483
- }
3484
- // Sort them and find the median
3485
- distances.sort(function (a, b) {
3486
- return a - b;
3487
- });
3488
- median = distances[Math.floor(len / 2)];
3489
- // Compensate for series that don't extend through the entire
3490
- // axis extent. #1675.
3491
- xMin = Math.max(xMin, processedXData[0]);
3492
- xMax = Math.min(xMax, processedXData[len - 1]);
3493
- ordinal.groupIntervalFactor = groupIntervalFactor =
3494
- (len * median) / (xMax - xMin);
3495
- }
3496
- // Return the factor needed for data grouping
3497
- return groupIntervalFactor;
3498
- };
3499
- /**
3500
- * Get ticks for an ordinal axis within a range where points don't
3501
- * exist. It is required when overscroll is enabled. We can't base on
3502
- * points, because we may not have any, so we use approximated
3503
- * pointRange and generate these ticks between Axis.dataMax,
3504
- * Axis.dataMax + Axis.overscroll evenly spaced. Used in panning and
3505
- * navigator scrolling.
3506
- *
3507
- * @private
3508
- */
3509
- OrdinalAxisAdditions.prototype.getOverscrollPositions = function () {
3510
- var ordinal = this,
3511
- axis = ordinal.axis,
3512
- extraRange = axis.options.overscroll,
3513
- distance = ordinal.overscrollPointsRange,
3514
- positions = [],
3515
- max = axis.dataMax;
3516
- if (defined(distance)) {
3517
- // Max + pointRange because we need to scroll to the last
3518
- positions.push(max);
3519
- while (max <= axis.dataMax + extraRange) {
3520
- max += distance;
3521
- positions.push(max);
3522
- }
3523
- }
3524
- return positions;
3525
- };
3526
- /**
3527
- * Make the tick intervals closer because the ordinal gaps make the
3528
- * ticks spread out or cluster.
3529
- *
3530
- * @private
3531
- */
3532
- OrdinalAxisAdditions.prototype.postProcessTickInterval = function (tickInterval) {
3533
- // Problem: https://jsfiddle.net/highcharts/FQm4E/1/
3534
- // This is a case where this algorithm doesn't work optimally. In
3535
- // this case, the tick labels are spread out per week, but all the
3536
- // gaps reside within weeks. So we have a situation where the labels
3537
- // are courser than the ordinal gaps, and thus the tick interval
3538
- // should not be altered.
3539
- var ordinal = this,
3540
- axis = ordinal.axis,
3541
- ordinalSlope = ordinal.slope,
3542
- ret;
3543
- if (ordinalSlope) {
3544
- if (!axis.options.breaks) {
3545
- ret = tickInterval / (ordinalSlope / axis.closestPointRange);
3546
- }
3547
- else {
3548
- ret = axis.closestPointRange || tickInterval; // #7275
3549
- }
3550
- }
3551
- else {
3552
- ret = tickInterval;
3553
- }
3554
- return ret;
3555
- };
3556
- return OrdinalAxisAdditions;
3557
- }());
3558
- /**
3559
- * Extends the axis with ordinal support.
3560
- *
3561
- * @private
3562
- */
3563
- var OrdinalAxis = /** @class */ (function () {
3564
- function OrdinalAxis() {
3355
+ var Composition = /** @class */ (function () {
3356
+ /* *
3357
+ *
3358
+ * Constructors
3359
+ *
3360
+ * */
3361
+ /**
3362
+ * @private
3363
+ */
3364
+ function Composition(axis) {
3365
+ this.index = {};
3366
+ this.axis = axis;
3565
3367
  }
3566
- /**
3567
- * Extends the axis with ordinal support.
3568
- *
3569
- * @private
3570
- *
3571
- * @param AxisClass
3572
- * Axis class to extend.
3573
- *
3574
- * @param ChartClass
3575
- * Chart class to use.
3576
- *
3577
- * @param SeriesClass
3578
- * Series class to use.
3579
- */
3580
- OrdinalAxis.compose = function (AxisClass, ChartClass, SeriesClass) {
3581
- AxisClass.keepProps.push('ordinal');
3582
- var axisProto = AxisClass.prototype;
3368
+ /* *
3369
+ *
3370
+ * Functions
3371
+ *
3372
+ * */
3583
3373
  /**
3584
3374
  * Calculate the ordinal positions before tick positions are calculated.
3585
3375
  *
3586
3376
  * @private
3587
3377
  */
3588
- axisProto.beforeSetTickPositions = function () {
3589
- var axis = this,
3378
+ Composition.prototype.beforeSetTickPositions = function () {
3379
+ var axis = this.axis,
3590
3380
  ordinal = axis.ordinal,
3591
3381
  len,
3592
3382
  ordinalPositions = [],
@@ -3720,6 +3510,229 @@
3720
3510
  axis.isOrdinal = isOrdinal && useOrdinal; // #3818, #4196, #4926
3721
3511
  ordinal.groupIntervalFactor = null; // reset for next run
3722
3512
  };
3513
+ /**
3514
+ * Get the ordinal positions for the entire data set. This is necessary
3515
+ * in chart panning because we need to find out what points or data
3516
+ * groups are available outside the visible range. When a panning
3517
+ * operation starts, if an index for the given grouping does not exists,
3518
+ * it is created and cached. This index is deleted on updated data, so
3519
+ * it will be regenerated the next time a panning operation starts.
3520
+ *
3521
+ * @private
3522
+ */
3523
+ Composition.prototype.getExtendedPositions = function () {
3524
+ var ordinal = this,
3525
+ axis = ordinal.axis,
3526
+ axisProto = axis.constructor.prototype,
3527
+ chart = axis.chart,
3528
+ grouping = axis.series[0].currentDataGrouping,
3529
+ ordinalIndex = ordinal.index,
3530
+ key = grouping ?
3531
+ grouping.count + grouping.unitName :
3532
+ 'raw',
3533
+ overscroll = axis.options.overscroll,
3534
+ extremes = axis.getExtremes(),
3535
+ fakeAxis,
3536
+ fakeSeries;
3537
+ // If this is the first time, or the ordinal index is deleted by
3538
+ // updatedData,
3539
+ // create it.
3540
+ if (!ordinalIndex) {
3541
+ ordinalIndex = ordinal.index = {};
3542
+ }
3543
+ if (!ordinalIndex[key]) {
3544
+ // Create a fake axis object where the extended ordinal
3545
+ // positions are emulated
3546
+ fakeAxis = {
3547
+ series: [],
3548
+ chart: chart,
3549
+ getExtremes: function () {
3550
+ return {
3551
+ min: extremes.dataMin,
3552
+ max: extremes.dataMax + overscroll
3553
+ };
3554
+ },
3555
+ options: {
3556
+ ordinal: true
3557
+ },
3558
+ ordinal: {},
3559
+ ordinal2lin: axisProto.ordinal2lin,
3560
+ val2lin: axisProto.val2lin // #2590
3561
+ };
3562
+ fakeAxis.ordinal.axis = fakeAxis;
3563
+ // Add the fake series to hold the full data, then apply
3564
+ // processData to it
3565
+ axis.series.forEach(function (series) {
3566
+ fakeSeries = {
3567
+ xAxis: fakeAxis,
3568
+ xData: series.xData.slice(),
3569
+ chart: chart,
3570
+ destroyGroupedData: H.noop,
3571
+ getProcessedData: CartesianSeries.prototype.getProcessedData
3572
+ };
3573
+ fakeSeries.xData = fakeSeries.xData.concat(ordinal.getOverscrollPositions());
3574
+ fakeSeries.options = {
3575
+ dataGrouping: grouping ? {
3576
+ enabled: true,
3577
+ forced: true,
3578
+ // doesn't matter which, use the fastest
3579
+ approximation: 'open',
3580
+ units: [[
3581
+ grouping.unitName,
3582
+ [grouping.count]
3583
+ ]]
3584
+ } : {
3585
+ enabled: false
3586
+ }
3587
+ };
3588
+ series.processData.apply(fakeSeries);
3589
+ fakeAxis.series.push(fakeSeries);
3590
+ });
3591
+ // Run beforeSetTickPositions to compute the ordinalPositions
3592
+ axis.ordinal.beforeSetTickPositions.apply({ axis: fakeAxis });
3593
+ // Cache it
3594
+ ordinalIndex[key] = fakeAxis.ordinal.positions;
3595
+ }
3596
+ return ordinalIndex[key];
3597
+ };
3598
+ /**
3599
+ * Find the factor to estimate how wide the plot area would have been if
3600
+ * ordinal gaps were included. This value is used to compute an imagined
3601
+ * plot width in order to establish the data grouping interval.
3602
+ *
3603
+ * A real world case is the intraday-candlestick example. Without this
3604
+ * logic, it would show the correct data grouping when viewing a range
3605
+ * within each day, but once moving the range to include the gap between
3606
+ * two days, the interval would include the cut-away night hours and the
3607
+ * data grouping would be wrong. So the below method tries to compensate
3608
+ * by identifying the most common point interval, in this case days.
3609
+ *
3610
+ * An opposite case is presented in issue #718. We have a long array of
3611
+ * daily data, then one point is appended one hour after the last point.
3612
+ * We expect the data grouping not to change.
3613
+ *
3614
+ * In the future, if we find cases where this estimation doesn't work
3615
+ * optimally, we might need to add a second pass to the data grouping
3616
+ * logic, where we do another run with a greater interval if the number
3617
+ * of data groups is more than a certain fraction of the desired group
3618
+ * count.
3619
+ *
3620
+ * @private
3621
+ */
3622
+ Composition.prototype.getGroupIntervalFactor = function (xMin, xMax, series) {
3623
+ var ordinal = this,
3624
+ axis = ordinal.axis,
3625
+ i,
3626
+ processedXData = series.processedXData,
3627
+ len = processedXData.length,
3628
+ distances = [],
3629
+ median,
3630
+ groupIntervalFactor = ordinal.groupIntervalFactor;
3631
+ // Only do this computation for the first series, let the other
3632
+ // inherit it (#2416)
3633
+ if (!groupIntervalFactor) {
3634
+ // Register all the distances in an array
3635
+ for (i = 0; i < len - 1; i++) {
3636
+ distances[i] =
3637
+ processedXData[i + 1] - processedXData[i];
3638
+ }
3639
+ // Sort them and find the median
3640
+ distances.sort(function (a, b) {
3641
+ return a - b;
3642
+ });
3643
+ median = distances[Math.floor(len / 2)];
3644
+ // Compensate for series that don't extend through the entire
3645
+ // axis extent. #1675.
3646
+ xMin = Math.max(xMin, processedXData[0]);
3647
+ xMax = Math.min(xMax, processedXData[len - 1]);
3648
+ ordinal.groupIntervalFactor = groupIntervalFactor =
3649
+ (len * median) / (xMax - xMin);
3650
+ }
3651
+ // Return the factor needed for data grouping
3652
+ return groupIntervalFactor;
3653
+ };
3654
+ /**
3655
+ * Get ticks for an ordinal axis within a range where points don't
3656
+ * exist. It is required when overscroll is enabled. We can't base on
3657
+ * points, because we may not have any, so we use approximated
3658
+ * pointRange and generate these ticks between Axis.dataMax,
3659
+ * Axis.dataMax + Axis.overscroll evenly spaced. Used in panning and
3660
+ * navigator scrolling.
3661
+ *
3662
+ * @private
3663
+ */
3664
+ Composition.prototype.getOverscrollPositions = function () {
3665
+ var ordinal = this,
3666
+ axis = ordinal.axis,
3667
+ extraRange = axis.options.overscroll,
3668
+ distance = ordinal.overscrollPointsRange,
3669
+ positions = [],
3670
+ max = axis.dataMax;
3671
+ if (defined(distance)) {
3672
+ // Max + pointRange because we need to scroll to the last
3673
+ positions.push(max);
3674
+ while (max <= axis.dataMax + extraRange) {
3675
+ max += distance;
3676
+ positions.push(max);
3677
+ }
3678
+ }
3679
+ return positions;
3680
+ };
3681
+ /**
3682
+ * Make the tick intervals closer because the ordinal gaps make the
3683
+ * ticks spread out or cluster.
3684
+ *
3685
+ * @private
3686
+ */
3687
+ Composition.prototype.postProcessTickInterval = function (tickInterval) {
3688
+ // Problem: https://jsfiddle.net/highcharts/FQm4E/1/
3689
+ // This is a case where this algorithm doesn't work optimally. In
3690
+ // this case, the tick labels are spread out per week, but all the
3691
+ // gaps reside within weeks. So we have a situation where the labels
3692
+ // are courser than the ordinal gaps, and thus the tick interval
3693
+ // should not be altered.
3694
+ var ordinal = this,
3695
+ axis = ordinal.axis,
3696
+ ordinalSlope = ordinal.slope,
3697
+ ret;
3698
+ if (ordinalSlope) {
3699
+ if (!axis.options.breaks) {
3700
+ ret = tickInterval / (ordinalSlope / axis.closestPointRange);
3701
+ }
3702
+ else {
3703
+ ret = axis.closestPointRange || tickInterval; // #7275
3704
+ }
3705
+ }
3706
+ else {
3707
+ ret = tickInterval;
3708
+ }
3709
+ return ret;
3710
+ };
3711
+ return Composition;
3712
+ }());
3713
+ OrdinalAxis.Composition = Composition;
3714
+ /* *
3715
+ *
3716
+ * Functions
3717
+ *
3718
+ * */
3719
+ /**
3720
+ * Extends the axis with ordinal support.
3721
+ *
3722
+ * @private
3723
+ *
3724
+ * @param AxisClass
3725
+ * Axis class to extend.
3726
+ *
3727
+ * @param ChartClass
3728
+ * Chart class to use.
3729
+ *
3730
+ * @param SeriesClass
3731
+ * Series class to use.
3732
+ */
3733
+ function compose(AxisClass, ChartClass, SeriesClass) {
3734
+ AxisClass.keepProps.push('ordinal');
3735
+ var axisProto = AxisClass.prototype;
3723
3736
  /**
3724
3737
  * In an ordinal axis, there might be areas with dense consentrations of
3725
3738
  * points, then large gaps between some. Creating equally distributed
@@ -4025,7 +4038,7 @@
4025
4038
  addEvent(AxisClass, 'afterInit', function () {
4026
4039
  var axis = this;
4027
4040
  if (!axis.ordinal) {
4028
- axis.ordinal = new OrdinalAxisAdditions(axis);
4041
+ axis.ordinal = new OrdinalAxis.Composition(axis);
4029
4042
  }
4030
4043
  });
4031
4044
  addEvent(AxisClass, 'foundExtremes', function () {
@@ -4059,6 +4072,13 @@
4059
4072
  !axis.chart.navigator.adaptToUpdatedData;
4060
4073
  }
4061
4074
  });
4075
+ addEvent(AxisClass, 'initialAxisTranslation', function () {
4076
+ var axis = this;
4077
+ if (axis.ordinal) {
4078
+ axis.ordinal.beforeSetTickPositions();
4079
+ axis.tickInterval = axis.ordinal.postProcessTickInterval(axis.tickInterval);
4080
+ }
4081
+ });
4062
4082
  // Extending the Chart.pan method for ordinal axes
4063
4083
  addEvent(ChartClass, 'pan', function (e) {
4064
4084
  var chart = this,
@@ -4165,14 +4185,14 @@
4165
4185
  }
4166
4186
  });
4167
4187
  /* eslint-enable no-invalid-this */
4168
- };
4169
- return OrdinalAxis;
4170
- }());
4171
- OrdinalAxis.compose(Axis, Chart, Series); // @todo move to StockChart, remove from master
4188
+ }
4189
+ OrdinalAxis.compose = compose;
4190
+ })(OrdinalAxis || (OrdinalAxis = {}));
4191
+ OrdinalAxis.compose(Axis, Chart, CartesianSeries); // @todo move to StockChart, remove from master
4172
4192
 
4173
4193
  return OrdinalAxis;
4174
4194
  });
4175
- _registerModule(_modules, 'modules/broken-axis.src.js', [_modules['parts/Axis.js'], _modules['parts/Globals.js'], _modules['parts/Utilities.js'], _modules['parts/Stacking.js']], function (Axis, H, U, StackItem) {
4195
+ _registerModule(_modules, 'Core/Axis/BrokenAxis.js', [_modules['Core/Axis/Axis.js'], _modules['Series/LineSeries.js'], _modules['Extensions/Stacking.js'], _modules['Core/Utilities.js']], function (Axis, LineSeries, StackItem, U) {
4176
4196
  /* *
4177
4197
  *
4178
4198
  * (c) 2009-2020 Torstein Honsi
@@ -4188,7 +4208,6 @@
4188
4208
  isArray = U.isArray,
4189
4209
  isNumber = U.isNumber,
4190
4210
  pick = U.pick;
4191
- var Series = H.Series;
4192
4211
  /* eslint-disable valid-jsdoc */
4193
4212
  /**
4194
4213
  * Provides support for broken axes.
@@ -4515,7 +4534,7 @@
4515
4534
  */
4516
4535
  BrokenAxis.compose = function (AxisClass, SeriesClass) {
4517
4536
  AxisClass.keepProps.push('brokenAxis');
4518
- var seriesProto = Series.prototype;
4537
+ var seriesProto = LineSeries.prototype;
4519
4538
  /**
4520
4539
  * @private
4521
4540
  */
@@ -4748,7 +4767,7 @@
4748
4767
  };
4749
4768
  return BrokenAxis;
4750
4769
  }());
4751
- BrokenAxis.compose(Axis, Series); // @todo remove automatism
4770
+ BrokenAxis.compose(Axis, LineSeries); // @todo remove automatism
4752
4771
 
4753
4772
  return BrokenAxis;
4754
4773
  });
@@ -4756,7 +4775,7 @@
4756
4775
 
4757
4776
 
4758
4777
  });
4759
- _registerModule(_modules, 'parts/DataGrouping.js', [_modules['parts/DateTimeAxis.js'], _modules['parts/Globals.js'], _modules['parts/Point.js'], _modules['parts/Tooltip.js'], _modules['parts/Utilities.js']], function (DateTimeAxis, H, Point, Tooltip, U) {
4778
+ _registerModule(_modules, 'Extensions/DataGrouping.js', [_modules['Core/Axis/Axis.js'], _modules['Core/Axis/DateTimeAxis.js'], _modules['Core/Globals.js'], _modules['Core/Options.js'], _modules['Core/Series/Point.js'], _modules['Core/Tooltip.js'], _modules['Core/Utilities.js']], function (Axis, DateTimeAxis, H, O, Point, Tooltip, U) {
4760
4779
  /* *
4761
4780
  *
4762
4781
  * (c) 2010-2020 Torstein Honsi
@@ -4782,6 +4801,7 @@
4782
4801
  * @type {number}
4783
4802
  */
4784
4803
  ''; // detach doclets above
4804
+ var defaultOptions = O.defaultOptions;
4785
4805
  var addEvent = U.addEvent,
4786
4806
  arrayMax = U.arrayMax,
4787
4807
  arrayMin = U.arrayMin,
@@ -4793,9 +4813,7 @@
4793
4813
  isNumber = U.isNumber,
4794
4814
  merge = U.merge,
4795
4815
  pick = U.pick;
4796
- var Axis = H.Axis,
4797
- defaultPlotOptions = H.defaultPlotOptions,
4798
- Series = H.Series;
4816
+ var Series = H.Series;
4799
4817
  /* ************************************************************************** *
4800
4818
  * Start data grouping module *
4801
4819
  * ************************************************************************** */
@@ -5430,7 +5448,7 @@
5430
5448
  var options = e.options,
5431
5449
  type = this.type,
5432
5450
  plotOptions = this.chart.options.plotOptions,
5433
- defaultOptions = defaultPlotOptions[type].dataGrouping,
5451
+ defaultOptions = O.defaultOptions.plotOptions[type].dataGrouping,
5434
5452
  // External series, for example technical indicators should also
5435
5453
  // inherit commonOptions which are not available outside this module
5436
5454
  baseOptions = this.useCommonDataGrouping && commonOptions;
@@ -5745,7 +5763,7 @@
5745
5763
 
5746
5764
  return dataGrouping;
5747
5765
  });
5748
- _registerModule(_modules, 'parts/OHLCSeries.js', [_modules['parts/Globals.js'], _modules['parts/Point.js'], _modules['parts/Utilities.js']], function (H, Point, U) {
5766
+ _registerModule(_modules, 'Series/OHLCSeries.js', [_modules['Core/Series/Series.js'], _modules['Core/Series/Point.js']], function (BaseSeries, Point) {
5749
5767
  /* *
5750
5768
  *
5751
5769
  * (c) 2010-2020 Torstein Honsi
@@ -5755,8 +5773,7 @@
5755
5773
  * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
5756
5774
  *
5757
5775
  * */
5758
- var seriesType = U.seriesType;
5759
- var seriesTypes = H.seriesTypes;
5776
+ var seriesTypes = BaseSeries.seriesTypes;
5760
5777
  /**
5761
5778
  * The ohlc series type.
5762
5779
  *
@@ -5766,7 +5783,7 @@
5766
5783
  *
5767
5784
  * @augments Highcharts.Series
5768
5785
  */
5769
- seriesType('ohlc', 'column'
5786
+ BaseSeries.seriesType('ohlc', 'column'
5770
5787
  /**
5771
5788
  * An OHLC chart is a style of financial chart used to describe price
5772
5789
  * movements over time. It displays open, high, low and close values per
@@ -6117,7 +6134,7 @@
6117
6134
  ''; // adds doclets above to transpilat
6118
6135
 
6119
6136
  });
6120
- _registerModule(_modules, 'parts/CandlestickSeries.js', [_modules['parts/Globals.js'], _modules['parts/Utilities.js']], function (H, U) {
6137
+ _registerModule(_modules, 'Series/CandlestickSeries.js', [_modules['Core/Series/Series.js'], _modules['Core/Options.js'], _modules['Core/Utilities.js']], function (BaseSeries, O, U) {
6121
6138
  /* *
6122
6139
  *
6123
6140
  * (c) 2010-2020 Torstein Honsi
@@ -6127,10 +6144,9 @@
6127
6144
  * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
6128
6145
  *
6129
6146
  * */
6130
- var merge = U.merge,
6131
- seriesType = U.seriesType;
6132
- var defaultPlotOptions = H.defaultPlotOptions,
6133
- seriesTypes = H.seriesTypes;
6147
+ var defaultOptions = O.defaultOptions;
6148
+ var merge = U.merge;
6149
+ var columnProto = BaseSeries.seriesTypes.column.prototype;
6134
6150
  /**
6135
6151
  * A candlestick chart is a style of financial chart used to describe price
6136
6152
  * movements over time.
@@ -6179,7 +6195,7 @@
6179
6195
  /**
6180
6196
  * @extends plotOptions.ohlc.tooltip
6181
6197
  */
6182
- tooltip: defaultPlotOptions.ohlc.tooltip,
6198
+ tooltip: defaultOptions.plotOptions.ohlc.tooltip,
6183
6199
  /**
6184
6200
  * @type {number|null}
6185
6201
  * @product highstock
@@ -6244,7 +6260,7 @@
6244
6260
  *
6245
6261
  * @augments Highcharts.seriesTypes.ohlc
6246
6262
  */
6247
- seriesType('candlestick', 'ohlc', merge(defaultPlotOptions.column, candlestickOptions),
6263
+ BaseSeries.seriesType('candlestick', 'ohlc', merge(defaultOptions.plotOptions.column, candlestickOptions),
6248
6264
  /**
6249
6265
  * @lends seriesTypes.candlestick
6250
6266
  */
@@ -6260,7 +6276,7 @@
6260
6276
  * @return {Highcharts.SVGAttributes}
6261
6277
  */
6262
6278
  pointAttribs: function (point, state) {
6263
- var attribs = seriesTypes.column.prototype.pointAttribs.call(this,
6279
+ var attribs = columnProto.pointAttribs.call(this,
6264
6280
  point,
6265
6281
  state),
6266
6282
  options = this.options,
@@ -6433,7 +6449,7 @@
6433
6449
  ''; // adds doclets above to transpilat
6434
6450
 
6435
6451
  });
6436
- _registerModule(_modules, 'mixins/on-series.js', [_modules['parts/Globals.js'], _modules['parts/Utilities.js']], function (H, U) {
6452
+ _registerModule(_modules, 'Mixins/OnSeries.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (H, U) {
6437
6453
  /* *
6438
6454
  *
6439
6455
  * (c) 2010-2020 Torstein Honsi
@@ -6591,7 +6607,7 @@
6591
6607
 
6592
6608
  return onSeriesMixin;
6593
6609
  });
6594
- _registerModule(_modules, 'parts/FlagsSeries.js', [_modules['parts/Globals.js'], _modules['parts/Utilities.js'], _modules['mixins/on-series.js']], function (H, U, onSeriesMixin) {
6610
+ _registerModule(_modules, 'Series/FlagsSeries.js', [_modules['Core/Series/Series.js'], _modules['Core/Globals.js'], _modules['Mixins/OnSeries.js'], _modules['Core/Renderer/SVG/SVGElement.js'], _modules['Core/Renderer/SVG/SVGRenderer.js'], _modules['Core/Utilities.js']], function (BaseSeries, H, OnSeriesMixin, SVGElement, SVGRenderer, U) {
6595
6611
  /* *
6596
6612
  *
6597
6613
  * (c) 2010-2020 Torstein Honsi
@@ -6601,23 +6617,22 @@
6601
6617
  * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
6602
6618
  *
6603
6619
  * */
6604
- /**
6605
- * @typedef {"circlepin"|"flag"|"squarepin"} Highcharts.FlagsShapeValue
6606
- */
6620
+ var noop = H.noop;
6607
6621
  var addEvent = U.addEvent,
6608
6622
  defined = U.defined,
6609
6623
  isNumber = U.isNumber,
6610
6624
  merge = U.merge,
6611
6625
  objectEach = U.objectEach,
6612
- seriesType = U.seriesType,
6613
6626
  wrap = U.wrap;
6614
- var noop = H.noop,
6615
- Renderer = H.Renderer,
6627
+ var Renderer = H.Renderer,
6616
6628
  Series = H.Series,
6617
- SVGRenderer = H.SVGRenderer,
6618
- TrackerMixin = H.TrackerMixin,
6629
+ TrackerMixin = H.TrackerMixin, // Interaction
6619
6630
  VMLRenderer = H.VMLRenderer,
6620
6631
  symbols = SVGRenderer.prototype.symbols;
6632
+ /**
6633
+ * @typedef {"circlepin"|"flag"|"squarepin"} Highcharts.FlagsShapeValue
6634
+ */
6635
+ ''; // detach doclets above
6621
6636
  /**
6622
6637
  * The Flags series.
6623
6638
  *
@@ -6627,7 +6642,7 @@
6627
6642
  *
6628
6643
  * @augments Highcharts.Series
6629
6644
  */
6630
- seriesType('flags', 'column'
6645
+ BaseSeries.seriesType('flags', 'column'
6631
6646
  /**
6632
6647
  * Flags are used to mark events in stock charts. They can be added on the
6633
6648
  * timeline, or attached to a specific series.
@@ -6884,8 +6899,8 @@
6884
6899
  'stroke-width': lineWidth || options.lineWidth || 0
6885
6900
  };
6886
6901
  },
6887
- translate: onSeriesMixin.translate,
6888
- getPlotBox: onSeriesMixin.getPlotBox,
6902
+ translate: OnSeriesMixin.translate,
6903
+ getPlotBox: OnSeriesMixin.getPlotBox,
6889
6904
  /**
6890
6905
  * Draw the markers.
6891
6906
  *
@@ -7036,7 +7051,7 @@
7036
7051
  // Can be a mix of SVG and HTML and we need events for both (#6303)
7037
7052
  if (options.useHTML) {
7038
7053
  wrap(series.markerGroup, 'on', function (proceed) {
7039
- return H.SVGElement.prototype.on.apply(
7054
+ return SVGElement.prototype.on.apply(
7040
7055
  // for HTML
7041
7056
  proceed.apply(this, [].slice.call(arguments, 1)),
7042
7057
  // and for SVG
@@ -7275,7 +7290,7 @@
7275
7290
  ''; // adds doclets above to transpiled file
7276
7291
 
7277
7292
  });
7278
- _registerModule(_modules, 'parts/RangeSelector.js', [_modules['parts/Globals.js'], _modules['parts/Utilities.js']], function (H, U) {
7293
+ _registerModule(_modules, 'Extensions/RangeSelector.js', [_modules['Core/Axis/Axis.js'], _modules['Core/Chart/Chart.js'], _modules['Core/Globals.js'], _modules['Core/Options.js'], _modules['Core/Renderer/SVG/SVGElement.js'], _modules['Core/Utilities.js']], function (Axis, Chart, H, O, SVGElement, U) {
7279
7294
  /* *
7280
7295
  *
7281
7296
  * (c) 2010-2020 Torstein Honsi
@@ -7285,6 +7300,21 @@
7285
7300
  * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
7286
7301
  *
7287
7302
  * */
7303
+ var defaultOptions = O.defaultOptions;
7304
+ var addEvent = U.addEvent,
7305
+ createElement = U.createElement,
7306
+ css = U.css,
7307
+ defined = U.defined,
7308
+ destroyObjectProperties = U.destroyObjectProperties,
7309
+ discardElement = U.discardElement,
7310
+ extend = U.extend,
7311
+ fireEvent = U.fireEvent,
7312
+ isNumber = U.isNumber,
7313
+ merge = U.merge,
7314
+ objectEach = U.objectEach,
7315
+ pick = U.pick,
7316
+ pInt = U.pInt,
7317
+ splat = U.splat;
7288
7318
  /**
7289
7319
  * Define the time span for the button
7290
7320
  *
@@ -7313,23 +7343,6 @@
7313
7343
  * @return {number}
7314
7344
  * Parsed JavaScript time value.
7315
7345
  */
7316
- var addEvent = U.addEvent,
7317
- createElement = U.createElement,
7318
- css = U.css,
7319
- defined = U.defined,
7320
- destroyObjectProperties = U.destroyObjectProperties,
7321
- discardElement = U.discardElement,
7322
- extend = U.extend,
7323
- fireEvent = U.fireEvent,
7324
- isNumber = U.isNumber,
7325
- merge = U.merge,
7326
- objectEach = U.objectEach,
7327
- pick = U.pick,
7328
- pInt = U.pInt,
7329
- splat = U.splat;
7330
- var Axis = H.Axis,
7331
- Chart = H.Chart,
7332
- defaultOptions = H.defaultOptions;
7333
7346
  /* ************************************************************************** *
7334
7347
  * Start Range Selector code *
7335
7348
  * ************************************************************************** */
@@ -7636,6 +7649,8 @@
7636
7649
  /**
7637
7650
  * A custom callback function to parse values entered in the input boxes
7638
7651
  * and return a valid JavaScript time as milliseconds since 1970.
7652
+ * The first argument passed is a value to parse,
7653
+ * second is a boolean indicating use of the UTC time.
7639
7654
  *
7640
7655
  * @sample {highstock} stock/rangeselector/input-format/
7641
7656
  * Milliseconds in the range selector
@@ -7810,11 +7825,20 @@
7810
7825
  * @name Highcharts.RangeSelector
7811
7826
  * @param {Highcharts.Chart} chart
7812
7827
  */
7813
- function RangeSelector(chart) {
7814
- // Run RangeSelector
7815
- this.init(chart);
7816
- }
7817
- RangeSelector.prototype = {
7828
+ var RangeSelector = /** @class */ (function () {
7829
+ function RangeSelector(chart) {
7830
+ /* *
7831
+ *
7832
+ * Properties
7833
+ *
7834
+ * */
7835
+ this.buttons = void 0;
7836
+ this.buttonOptions = RangeSelector.prototype.defaultButtons;
7837
+ this.options = void 0;
7838
+ this.chart = chart;
7839
+ // Run RangeSelector
7840
+ this.init(chart);
7841
+ }
7818
7842
  /**
7819
7843
  * The method to run when one of the buttons in the range selectors is
7820
7844
  * clicked
@@ -7826,7 +7850,7 @@
7826
7850
  * @param {boolean} [redraw]
7827
7851
  * @return {void}
7828
7852
  */
7829
- clickButton: function (i, redraw) {
7853
+ RangeSelector.prototype.clickButton = function (i, redraw) {
7830
7854
  var rangeSelector = this,
7831
7855
  chart = rangeSelector.chart,
7832
7856
  rangeOptions = rangeSelector.buttonOptions[i],
@@ -7921,8 +7945,12 @@
7921
7945
  newMin = dataMin;
7922
7946
  newMax = dataMax;
7923
7947
  }
7924
- newMin += rangeOptions._offsetMin;
7925
- newMax += rangeOptions._offsetMax;
7948
+ if (defined(newMin)) {
7949
+ newMin += rangeOptions._offsetMin;
7950
+ }
7951
+ if (defined(newMax)) {
7952
+ newMax += rangeOptions._offsetMax;
7953
+ }
7926
7954
  rangeSelector.setSelected(i);
7927
7955
  // Update the chart
7928
7956
  if (!baseAxis) {
@@ -7946,7 +7974,7 @@
7946
7974
  rangeSelectorButton: rangeOptions
7947
7975
  });
7948
7976
  }
7949
- },
7977
+ };
7950
7978
  /**
7951
7979
  * Set the selected option. This method only sets the internal flag, it
7952
7980
  * doesn't update the buttons or the actual zoomed range.
@@ -7956,35 +7984,9 @@
7956
7984
  * @param {number} [selected]
7957
7985
  * @return {void}
7958
7986
  */
7959
- setSelected: function (selected) {
7987
+ RangeSelector.prototype.setSelected = function (selected) {
7960
7988
  this.selected = this.options.selected = selected;
7961
- },
7962
- /**
7963
- * The default buttons for pre-selecting time frames
7964
- */
7965
- defaultButtons: [{
7966
- type: 'month',
7967
- count: 1,
7968
- text: '1m'
7969
- }, {
7970
- type: 'month',
7971
- count: 3,
7972
- text: '3m'
7973
- }, {
7974
- type: 'month',
7975
- count: 6,
7976
- text: '6m'
7977
- }, {
7978
- type: 'ytd',
7979
- text: 'YTD'
7980
- }, {
7981
- type: 'year',
7982
- count: 1,
7983
- text: '1y'
7984
- }, {
7985
- type: 'all',
7986
- text: 'All'
7987
- }],
7989
+ };
7988
7990
  /**
7989
7991
  * Initialize the range selector
7990
7992
  *
@@ -7993,11 +7995,10 @@
7993
7995
  * @param {Highcharts.Chart} chart
7994
7996
  * @return {void}
7995
7997
  */
7996
- init: function (chart) {
7998
+ RangeSelector.prototype.init = function (chart) {
7997
7999
  var rangeSelector = this,
7998
8000
  options = chart.options.rangeSelector,
7999
- buttonOptions = options.buttons ||
8000
- [].concat(rangeSelector.defaultButtons),
8001
+ buttonOptions = options.buttons || rangeSelector.defaultButtons.slice(),
8001
8002
  selectedOption = options.selected,
8002
8003
  blurInputs = function () {
8003
8004
  var minInput = rangeSelector.minInput,
@@ -8039,7 +8040,7 @@
8039
8040
  });
8040
8041
  }
8041
8042
  });
8042
- },
8043
+ };
8043
8044
  /**
8044
8045
  * Dynamically update the range selector buttons after a new range has been
8045
8046
  * set
@@ -8048,7 +8049,7 @@
8048
8049
  * @function Highcharts.RangeSelector#updateButtonStates
8049
8050
  * @return {void}
8050
8051
  */
8051
- updateButtonStates: function () {
8052
+ RangeSelector.prototype.updateButtonStates = function () {
8052
8053
  var rangeSelector = this,
8053
8054
  chart = this.chart,
8054
8055
  baseAxis = chart.xAxis[0],
@@ -8138,7 +8139,7 @@
8138
8139
  }
8139
8140
  }
8140
8141
  });
8141
- },
8142
+ };
8142
8143
  /**
8143
8144
  * Compute and cache the range for an individual button
8144
8145
  *
@@ -8147,7 +8148,7 @@
8147
8148
  * @param {Highcharts.RangeSelectorButtonsOptions} rangeOptions
8148
8149
  * @return {void}
8149
8150
  */
8150
- computeButtonRange: function (rangeOptions) {
8151
+ RangeSelector.prototype.computeButtonRange = function (rangeOptions) {
8151
8152
  var type = rangeOptions.type,
8152
8153
  count = rangeOptions.count || 1,
8153
8154
  // these time intervals have a fixed number of milliseconds, as
@@ -8174,7 +8175,7 @@
8174
8175
  rangeOptions._offsetMax = pick(rangeOptions.offsetMax, 0);
8175
8176
  rangeOptions._range +=
8176
8177
  rangeOptions._offsetMax - rangeOptions._offsetMin;
8177
- },
8178
+ };
8178
8179
  /**
8179
8180
  * Set the internal and displayed value of a HTML input for the dates
8180
8181
  *
@@ -8184,7 +8185,7 @@
8184
8185
  * @param {number} [inputTime]
8185
8186
  * @return {void}
8186
8187
  */
8187
- setInputValue: function (name, inputTime) {
8188
+ RangeSelector.prototype.setInputValue = function (name, inputTime) {
8188
8189
  var options = this.chart.options.rangeSelector,
8189
8190
  time = this.chart.time,
8190
8191
  input = this[name + 'Input'];
@@ -8196,14 +8197,14 @@
8196
8197
  this[name + 'DateBox'].attr({
8197
8198
  text: time.dateFormat(options.inputDateFormat || '%b %e, %Y', input.HCTime)
8198
8199
  });
8199
- },
8200
+ };
8200
8201
  /**
8201
8202
  * @private
8202
8203
  * @function Highcharts.RangeSelector#showInput
8203
8204
  * @param {string} name
8204
8205
  * @return {void}
8205
8206
  */
8206
- showInput: function (name) {
8207
+ RangeSelector.prototype.showInput = function (name) {
8207
8208
  var inputGroup = this.inputGroup,
8208
8209
  dateBox = this[name + 'DateBox'];
8209
8210
  css(this[name + 'Input'], {
@@ -8213,21 +8214,35 @@
8213
8214
  height: (dateBox.height - 2) + 'px',
8214
8215
  border: '2px solid silver'
8215
8216
  });
8216
- },
8217
+ };
8217
8218
  /**
8218
8219
  * @private
8219
8220
  * @function Highcharts.RangeSelector#hideInput
8220
8221
  * @param {string} name
8221
8222
  * @return {void}
8222
8223
  */
8223
- hideInput: function (name) {
8224
+ RangeSelector.prototype.hideInput = function (name) {
8224
8225
  css(this[name + 'Input'], {
8225
8226
  border: 0,
8226
8227
  width: '1px',
8227
8228
  height: '1px'
8228
8229
  });
8229
8230
  this.setInputValue(name);
8230
- },
8231
+ };
8232
+ /**
8233
+ * @private
8234
+ * @function Highcharts.RangeSelector#defaultInputDateParser
8235
+ */
8236
+ RangeSelector.prototype.defaultInputDateParser = function (inputDate, useUTC) {
8237
+ var date = new Date();
8238
+ if (H.isSafari) {
8239
+ return Date.parse(inputDate.split(' ').join('T'));
8240
+ }
8241
+ if (useUTC) {
8242
+ return Date.parse(inputDate + 'Z');
8243
+ }
8244
+ return Date.parse(inputDate) - date.getTimezoneOffset() * 60 * 1000;
8245
+ };
8231
8246
  /**
8232
8247
  * Draw either the 'from' or the 'to' HTML input box of the range selector
8233
8248
  *
@@ -8236,7 +8251,7 @@
8236
8251
  * @param {string} name
8237
8252
  * @return {void}
8238
8253
  */
8239
- drawInput: function (name) {
8254
+ RangeSelector.prototype.drawInput = function (name) {
8240
8255
  var rangeSelector = this,
8241
8256
  chart = rangeSelector.chart,
8242
8257
  chartStyle = chart.renderer.style || {},
@@ -8248,19 +8263,21 @@
8248
8263
  input,
8249
8264
  label,
8250
8265
  dateBox,
8251
- inputGroup = this.inputGroup;
8266
+ inputGroup = this.inputGroup,
8267
+ defaultInputDateParser = this.defaultInputDateParser;
8252
8268
  /**
8253
8269
  * @private
8254
8270
  */
8255
8271
  function updateExtremes() {
8256
8272
  var inputValue = input.value,
8257
- value = (options.inputDateParser || Date.parse)(inputValue),
8273
+ value,
8258
8274
  chartAxis = chart.xAxis[0],
8259
8275
  dataAxis = chart.scroller && chart.scroller.xAxis ?
8260
8276
  chart.scroller.xAxis :
8261
8277
  chartAxis,
8262
8278
  dataMin = dataAxis.dataMin,
8263
8279
  dataMax = dataAxis.dataMax;
8280
+ value = (options.inputDateParser || defaultInputDateParser)(inputValue, chart.time.useUTC);
8264
8281
  if (value !== input.previousValue) {
8265
8282
  input.previousValue = value;
8266
8283
  // If the value isn't parsed directly to a value by the
@@ -8386,7 +8403,7 @@
8386
8403
  updateExtremes();
8387
8404
  }
8388
8405
  };
8389
- },
8406
+ };
8390
8407
  /**
8391
8408
  * Get the position of the range selector buttons and inputs. This can be
8392
8409
  * overridden from outside for custom positioning.
@@ -8396,7 +8413,7 @@
8396
8413
  *
8397
8414
  * @return {Highcharts.Dictionary<number>}
8398
8415
  */
8399
- getPosition: function () {
8416
+ RangeSelector.prototype.getPosition = function () {
8400
8417
  var chart = this.chart,
8401
8418
  options = chart.options.rangeSelector,
8402
8419
  top = options.verticalAlign === 'top' ?
@@ -8406,7 +8423,7 @@
8406
8423
  buttonTop: top + options.buttonPosition.y,
8407
8424
  inputTop: top + options.inputPosition.y - 10
8408
8425
  };
8409
- },
8426
+ };
8410
8427
  /**
8411
8428
  * Get the extremes of YTD. Will choose dataMax if its value is lower than
8412
8429
  * the current timestamp. Will choose dataMin if its value is higher than
@@ -8422,7 +8439,7 @@
8422
8439
  * @return {*}
8423
8440
  * Returns min and max for the YTD
8424
8441
  */
8425
- getYTDExtremes: function (dataMax, dataMin, useUTC) {
8442
+ RangeSelector.prototype.getYTDExtremes = function (dataMax, dataMin, useUTC) {
8426
8443
  var time = this.chart.time,
8427
8444
  min,
8428
8445
  now = new time.Date(dataMax),
@@ -8437,7 +8454,7 @@
8437
8454
  max: Math.min(dataMax || now, now),
8438
8455
  min: min
8439
8456
  };
8440
- },
8457
+ };
8441
8458
  /**
8442
8459
  * Render the range selector including the buttons and the inputs. The first
8443
8460
  * time render is called, the elements are created and positioned. On
@@ -8451,7 +8468,7 @@
8451
8468
  * X axis maximum
8452
8469
  * @return {void}
8453
8470
  */
8454
- render: function (min, max) {
8471
+ RangeSelector.prototype.render = function (min, max) {
8455
8472
  var rangeSelector = this,
8456
8473
  chart = rangeSelector.chart,
8457
8474
  renderer = chart.renderer,
@@ -8721,7 +8738,7 @@
8721
8738
  rangeSelector.group.translateY + 'px';
8722
8739
  }
8723
8740
  rangeSelector.rendered = true;
8724
- },
8741
+ };
8725
8742
  /**
8726
8743
  * Extracts height of range selector
8727
8744
  *
@@ -8730,7 +8747,7 @@
8730
8747
  * @return {number}
8731
8748
  * Returns rangeSelector height
8732
8749
  */
8733
- getHeight: function () {
8750
+ RangeSelector.prototype.getHeight = function () {
8734
8751
  var rangeSelector = this,
8735
8752
  options = rangeSelector.options,
8736
8753
  rangeSelectorGroup = rangeSelector.group,
@@ -8755,7 +8772,7 @@
8755
8772
  rangeSelectorHeight += Math.abs(minPosition);
8756
8773
  }
8757
8774
  return rangeSelectorHeight;
8758
- },
8775
+ };
8759
8776
  /**
8760
8777
  * Detect collision with title or subtitle
8761
8778
  *
@@ -8767,10 +8784,10 @@
8767
8784
  * @return {boolean}
8768
8785
  * Returns collision status
8769
8786
  */
8770
- titleCollision: function (chart) {
8787
+ RangeSelector.prototype.titleCollision = function (chart) {
8771
8788
  return !(chart.options.title.text ||
8772
8789
  chart.options.subtitle.text);
8773
- },
8790
+ };
8774
8791
  /**
8775
8792
  * Update the range selector with new options
8776
8793
  *
@@ -8779,20 +8796,20 @@
8779
8796
  * @param {Highcharts.RangeSelectorOptions} options
8780
8797
  * @return {void}
8781
8798
  */
8782
- update: function (options) {
8799
+ RangeSelector.prototype.update = function (options) {
8783
8800
  var chart = this.chart;
8784
8801
  merge(true, chart.options.rangeSelector, options);
8785
8802
  this.destroy();
8786
8803
  this.init(chart);
8787
8804
  chart.rangeSelector.render();
8788
- },
8805
+ };
8789
8806
  /**
8790
8807
  * Destroys allocated elements.
8791
8808
  *
8792
8809
  * @private
8793
8810
  * @function Highcharts.RangeSelector#destroy
8794
8811
  */
8795
- destroy: function () {
8812
+ RangeSelector.prototype.destroy = function () {
8796
8813
  var rSelector = this,
8797
8814
  minInput = rSelector.minInput,
8798
8815
  maxInput = rSelector.maxInput;
@@ -8810,21 +8827,48 @@
8810
8827
  // Destroy HTML and SVG elements
8811
8828
  objectEach(rSelector, function (val, key) {
8812
8829
  if (val && key !== 'chart') {
8813
- if (val.destroy) {
8830
+ if (val instanceof SVGElement) {
8814
8831
  // SVGElement
8815
8832
  val.destroy();
8816
8833
  }
8817
- else if (val.nodeType) {
8834
+ else if (val instanceof window.HTMLElement) {
8818
8835
  // HTML element
8819
- discardElement(this[key]);
8836
+ discardElement(val);
8820
8837
  }
8821
8838
  }
8822
8839
  if (val !== RangeSelector.prototype[key]) {
8823
8840
  rSelector[key] = null;
8824
8841
  }
8825
8842
  }, this);
8826
- }
8827
- };
8843
+ };
8844
+ return RangeSelector;
8845
+ }());
8846
+ /**
8847
+ * The default buttons for pre-selecting time frames
8848
+ */
8849
+ RangeSelector.prototype.defaultButtons = [{
8850
+ type: 'month',
8851
+ count: 1,
8852
+ text: '1m'
8853
+ }, {
8854
+ type: 'month',
8855
+ count: 3,
8856
+ text: '3m'
8857
+ }, {
8858
+ type: 'month',
8859
+ count: 6,
8860
+ text: '6m'
8861
+ }, {
8862
+ type: 'ytd',
8863
+ text: 'YTD'
8864
+ }, {
8865
+ type: 'year',
8866
+ count: 1,
8867
+ text: '1y'
8868
+ }, {
8869
+ type: 'all',
8870
+ text: 'All'
8871
+ }];
8828
8872
  /**
8829
8873
  * Get the axis min value based on the range option and the current max. For
8830
8874
  * stock charts this is extended via the {@link RangeSelector} so that if the
@@ -9035,8 +9079,9 @@
9035
9079
  H.RangeSelector = RangeSelector;
9036
9080
  }
9037
9081
 
9082
+ return H.RangeSelector;
9038
9083
  });
9039
- _registerModule(_modules, 'parts/StockChart.js', [_modules['parts/Axis.js'], _modules['parts/Globals.js'], _modules['parts/Point.js'], _modules['parts/Utilities.js']], function (Axis, H, Point, U) {
9084
+ _registerModule(_modules, 'Core/Chart/StockChart.js', [_modules['Core/Axis/Axis.js'], _modules['Core/Chart/Chart.js'], _modules['Core/Globals.js'], _modules['Series/LineSeries.js'], _modules['Core/Series/Point.js'], _modules['Core/Renderer/SVG/SVGRenderer.js'], _modules['Core/Utilities.js']], function (Axis, Chart, H, LineSeries, Point, SVGRenderer, U) {
9040
9085
  /* *
9041
9086
  *
9042
9087
  * (c) 2010-2020 Torstein Honsi
@@ -9054,6 +9099,7 @@
9054
9099
  extend = U.extend,
9055
9100
  find = U.find,
9056
9101
  format = U.format,
9102
+ getOptions = U.getOptions,
9057
9103
  isNumber = U.isNumber,
9058
9104
  isString = U.isString,
9059
9105
  merge = U.merge,
@@ -9065,11 +9111,7 @@
9065
9111
  // defaultOptions.scrollbar
9066
9112
  // Has a dependency on RangeSelector due to the use of
9067
9113
  // defaultOptions.rangeSelector
9068
- var Chart = H.Chart,
9069
- Renderer = H.Renderer,
9070
- Series = H.Series,
9071
- SVGRenderer = H.SVGRenderer,
9072
- seriesProto = Series.prototype,
9114
+ var seriesProto = LineSeries.prototype,
9073
9115
  seriesInit = seriesProto.init,
9074
9116
  seriesProcessData = seriesProto.processData,
9075
9117
  pointTooltipFormatter = Point.prototype.tooltipFormatter;
@@ -9168,7 +9210,7 @@
9168
9210
  userOptions = options,
9169
9211
  // to increase performance, don't merge the data
9170
9212
  seriesOptions = options.series,
9171
- defaultOptions = H.getOptions(),
9213
+ defaultOptions = getOptions(),
9172
9214
  opposite,
9173
9215
  // Always disable startOnTick:true on the main axis when the navigator
9174
9216
  // is enabled (#1090)
@@ -9268,7 +9310,7 @@
9268
9310
  };
9269
9311
  // Handle som Stock-specific series defaults, override the plotOptions before
9270
9312
  // series options are handled.
9271
- addEvent(Series, 'setOptions', function (e) {
9313
+ addEvent(LineSeries, 'setOptions', function (e) {
9272
9314
  var overrides;
9273
9315
  if (this.chart.options.isStock) {
9274
9316
  if (this.is('column') || this.is('columnrange')) {
@@ -9574,13 +9616,15 @@
9574
9616
  });
9575
9617
  crossBox = crossLabel.getBBox();
9576
9618
  // now it is placed we can correct its position
9577
- if (horiz) {
9578
- if ((tickInside && !opposite) || (!tickInside && opposite)) {
9579
- posy = crossLabel.y - crossBox.height;
9619
+ if (isNumber(crossLabel.y)) {
9620
+ if (horiz) {
9621
+ if ((tickInside && !opposite) || (!tickInside && opposite)) {
9622
+ posy = crossLabel.y - crossBox.height;
9623
+ }
9624
+ }
9625
+ else {
9626
+ posy = crossLabel.y - (crossBox.height / 2);
9580
9627
  }
9581
- }
9582
- else {
9583
- posy = crossLabel.y - (crossBox.height / 2);
9584
9628
  }
9585
9629
  // check the edges
9586
9630
  if (horiz) {
@@ -9724,7 +9768,7 @@
9724
9768
  return;
9725
9769
  };
9726
9770
  // Modify series extremes
9727
- addEvent(Series, 'afterGetExtremes', function (e) {
9771
+ addEvent(LineSeries, 'afterGetExtremes', function (e) {
9728
9772
  var dataExtremes = e.dataExtremes;
9729
9773
  if (this.modifyValue && dataExtremes) {
9730
9774
  var extremes = [
@@ -9785,7 +9829,7 @@
9785
9829
  // Extend the Series prototype to create a separate series clip box. This is
9786
9830
  // related to using multiple panes, and a future pane logic should incorporate
9787
9831
  // this feature (#2754).
9788
- addEvent(Series, 'render', function () {
9832
+ addEvent(LineSeries, 'render', function () {
9789
9833
  var chart = this.chart,
9790
9834
  clipHeight;
9791
9835
  // Only do this on not 3d (#2939, #5904) nor polar (#6057) charts, and only
@@ -9807,7 +9851,7 @@
9807
9851
  }
9808
9852
  }
9809
9853
  // First render, initial clip box
9810
- if (!this.clipBox && this.animate) {
9854
+ if (!this.clipBox && !chart.hasRendered) {
9811
9855
  this.clipBox = merge(chart.clipBox);
9812
9856
  this.clipBox.width = this.xAxis.len;
9813
9857
  this.clipBox.height = clipHeight;