highcharts 9.2.2 → 9.3.3

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 (894) hide show
  1. package/README.md +13 -6
  2. package/bower.json +1 -1
  3. package/css/annotations/popup.css +48 -8
  4. package/css/annotations/popup.scss +70 -22
  5. package/css/highcharts.css +46 -1
  6. package/css/highcharts.scss +40 -0
  7. package/css/stocktools/gui.css +1 -1
  8. package/css/themes/dark-unica.css +46 -1
  9. package/css/themes/grid-light.css +46 -1
  10. package/css/themes/sand-signika.css +46 -1
  11. package/es-modules/Accessibility/A11yI18n.js +269 -224
  12. package/es-modules/Accessibility/Accessibility.js +244 -129
  13. package/es-modules/Accessibility/AccessibilityComponent.js +78 -313
  14. package/es-modules/Accessibility/Components/AnnotationsA11y.js +19 -5
  15. package/es-modules/Accessibility/Components/ContainerComponent.js +53 -28
  16. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +178 -120
  17. package/es-modules/Accessibility/Components/LegendComponent.js +251 -129
  18. package/es-modules/Accessibility/Components/MenuComponent.js +250 -154
  19. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +172 -93
  20. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +161 -115
  21. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +138 -69
  22. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +67 -28
  23. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +48 -56
  24. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +387 -343
  25. package/es-modules/Accessibility/Components/ZoomComponent.js +156 -70
  26. package/es-modules/Accessibility/FocusBorder.js +192 -152
  27. package/es-modules/Accessibility/HighContrastMode.js +79 -66
  28. package/es-modules/Accessibility/HighContrastTheme.js +10 -0
  29. package/es-modules/Accessibility/KeyboardNavigation.js +151 -75
  30. package/es-modules/Accessibility/KeyboardNavigationHandler.js +71 -44
  31. package/es-modules/Accessibility/Options/DeprecatedOptions.js +21 -4
  32. package/es-modules/Accessibility/Options/LangOptions.js +4 -5
  33. package/es-modules/Accessibility/Options/Options.js +32 -17
  34. package/es-modules/Accessibility/ProxyElement.js +218 -0
  35. package/es-modules/Accessibility/ProxyProvider.js +302 -0
  36. package/es-modules/Accessibility/Utils/Announcer.js +17 -10
  37. package/es-modules/Accessibility/Utils/ChartUtilities.js +55 -45
  38. package/es-modules/Accessibility/Utils/DOMElementProvider.js +27 -15
  39. package/es-modules/Accessibility/Utils/EventProvider.js +27 -17
  40. package/es-modules/Accessibility/Utils/HTMLUtilities.js +125 -42
  41. package/es-modules/Core/Animation/Fx.js +5 -14
  42. package/es-modules/Core/Axis/Axis.js +77 -96
  43. package/es-modules/Core/Axis/Axis3D.js +10 -4
  44. package/es-modules/Core/Axis/AxisDefaults.js +35 -24
  45. package/es-modules/Core/Axis/BrokenAxis.js +17 -11
  46. package/es-modules/Core/Axis/Color/ColorAxis.js +7 -4
  47. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +55 -5
  48. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +5 -5
  49. package/es-modules/Core/Axis/DateTimeAxis.js +3 -14
  50. package/es-modules/Core/Axis/GridAxis.js +26 -16
  51. package/es-modules/Core/Axis/NavigatorAxis.js +0 -5
  52. package/es-modules/Core/Axis/OrdinalAxis.js +88 -92
  53. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +4 -5
  54. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +0 -5
  55. package/es-modules/Core/Axis/RadialAxis.js +7 -28
  56. package/es-modules/Core/Axis/ScrollbarAxis.js +27 -12
  57. package/es-modules/Core/Axis/StackingAxis.js +2 -1
  58. package/es-modules/Core/Axis/Tick.js +2 -4
  59. package/es-modules/Core/Axis/TreeGridAxis.js +28 -19
  60. package/es-modules/Core/Axis/TreeGridTick.js +5 -3
  61. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  62. package/es-modules/Core/Axis/ZAxis.js +1 -1
  63. package/es-modules/Core/Chart/Chart.js +44 -47
  64. package/es-modules/Core/Chart/Chart3D.js +23 -10
  65. package/es-modules/Core/Chart/ChartDefaults.js +3 -4
  66. package/es-modules/Core/Chart/ChartNavigationComposition.js +92 -0
  67. package/es-modules/Core/Chart/GanttChart.js +4 -4
  68. package/es-modules/Core/Chart/MapChart.js +13 -25
  69. package/es-modules/Core/Chart/StockChart.js +13 -316
  70. package/es-modules/Core/Color/Palettes.js +22 -0
  71. package/es-modules/Core/DefaultOptions.js +22 -19
  72. package/es-modules/Core/Foundation.js +39 -31
  73. package/es-modules/Core/Geometry/CircleUtilities.js +2 -1
  74. package/es-modules/Core/Globals.js +1 -1
  75. package/es-modules/Core/HttpUtilities.js +8 -7
  76. package/es-modules/Core/Legend/Legend.js +19 -16
  77. package/es-modules/Core/Navigator.js +41 -30
  78. package/es-modules/Core/Pointer.js +52 -45
  79. package/es-modules/Core/Renderer/HTML/AST.js +29 -14
  80. package/es-modules/Core/Renderer/HTML/HTMLElement.js +27 -20
  81. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +8 -6
  82. package/es-modules/Core/Renderer/RendererUtilities.js +2 -2
  83. package/es-modules/Core/Renderer/SVG/SVGElement.js +11 -20
  84. package/es-modules/Core/Renderer/SVG/SVGLabel.js +17 -8
  85. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +25 -29
  86. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +12 -5
  87. package/es-modules/Core/Renderer/SVG/TextBuilder.js +18 -12
  88. package/es-modules/Core/Responsive.js +2 -3
  89. package/es-modules/Core/Scrollbar.js +14 -12
  90. package/es-modules/Core/ScrollbarDefaults.js +10 -9
  91. package/es-modules/Core/Series/DataLabel.js +19 -15
  92. package/es-modules/Core/Series/Point.js +22 -19
  93. package/es-modules/Core/Series/Series.js +197 -235
  94. package/es-modules/Core/Series/SeriesDefaults.js +8 -8
  95. package/es-modules/Core/Series/SeriesRegistry.js +1 -2
  96. package/es-modules/Core/Time.js +14 -11
  97. package/es-modules/Core/Tooltip.js +63 -53
  98. package/es-modules/Core/Utilities.js +20 -24
  99. package/es-modules/Data/DataConverter.js +483 -0
  100. package/es-modules/Data/DataPromise.js +252 -0
  101. package/es-modules/Data/DataSeriesConverter.js +207 -0
  102. package/es-modules/Data/DataTable.js +1205 -0
  103. package/es-modules/Data/Modifiers/ChainModifier.js +299 -0
  104. package/es-modules/Data/Modifiers/DataModifier.js +303 -0
  105. package/es-modules/Data/Modifiers/GroupModifier.js +144 -0
  106. package/es-modules/Data/Modifiers/InvertModifier.js +254 -0
  107. package/es-modules/Data/Modifiers/RangeModifier.js +143 -0
  108. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +110 -0
  109. package/es-modules/Data/Modifiers/SortModifier.js +249 -0
  110. package/es-modules/Data/Parsers/CSVParser.js +400 -0
  111. package/es-modules/Data/Parsers/DataParser.js +101 -0
  112. package/es-modules/Data/Parsers/GoogleSheetsParser.js +223 -0
  113. package/es-modules/Data/Parsers/HTMLTableParser.js +213 -0
  114. package/es-modules/Data/Stores/CSVStore.js +317 -0
  115. package/es-modules/Data/Stores/DataStore.js +276 -0
  116. package/es-modules/Data/Stores/GoogleSheetsStore.js +169 -0
  117. package/es-modules/Data/Stores/HTMLTableStore.js +353 -0
  118. package/es-modules/Extensions/Annotations/Annotations.js +69 -18
  119. package/es-modules/Extensions/Annotations/ControlPoint.js +1 -3
  120. package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +1 -1
  121. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +199 -0
  122. package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +1 -1
  123. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +3 -6
  124. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +3 -2
  125. package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +1 -1
  126. package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +13 -4
  127. package/es-modules/Extensions/Annotations/Mixins/EventEmitterMixin.js +0 -1
  128. package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +5 -4
  129. package/es-modules/Extensions/Annotations/NavigationBindings.js +120 -53
  130. package/es-modules/Extensions/Annotations/Popup.js +494 -148
  131. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +51 -2
  132. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +5 -3
  133. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +1 -1
  134. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +2 -3
  135. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +219 -0
  136. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +1 -1
  137. package/es-modules/Extensions/Annotations/Types/Measure.js +29 -19
  138. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +7 -6
  139. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +211 -0
  140. package/es-modules/Extensions/Annotations/Types/Tunnel.js +13 -10
  141. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +1 -1
  142. package/es-modules/Extensions/Boost/BoostOptions.js +2 -2
  143. package/es-modules/Extensions/Boost/BoostOverrides.js +6 -10
  144. package/es-modules/Extensions/Boost/BoostUtils.js +0 -6
  145. package/es-modules/Extensions/Boost/WGLRenderer.js +16 -12
  146. package/es-modules/Extensions/Boost/WGLShader.js +13 -11
  147. package/es-modules/Extensions/Boost/WGLVBuffer.js +4 -7
  148. package/es-modules/Extensions/BoostCanvas.js +1 -2
  149. package/es-modules/Extensions/CurrentDateIndication.js +2 -3
  150. package/es-modules/Extensions/Data.js +4 -48
  151. package/es-modules/Extensions/DataGrouping.js +52 -32
  152. package/es-modules/Extensions/DownloadURL.js +2 -2
  153. package/es-modules/Extensions/DragPanes.js +1 -2
  154. package/es-modules/Extensions/DraggablePoints.js +7 -8
  155. package/es-modules/Extensions/Drilldown.js +11 -7
  156. package/es-modules/Extensions/ExportData.js +6 -5
  157. package/es-modules/Extensions/Exporting/Exporting.js +33 -46
  158. package/es-modules/Extensions/Exporting/ExportingDefaults.js +8 -15
  159. package/es-modules/Extensions/FullScreen.js +4 -3
  160. package/es-modules/Extensions/GeoJSON.js +42 -66
  161. package/es-modules/Extensions/MarkerClusters.js +118 -98
  162. package/es-modules/Extensions/Math3D.js +4 -4
  163. package/es-modules/Extensions/NoDataToDisplay.js +1 -2
  164. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +32 -32
  165. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  166. package/es-modules/Extensions/Oldie/Oldie.js +14 -79
  167. package/es-modules/Extensions/Oldie/VMLAxis3D.js +5 -1
  168. package/es-modules/Extensions/OverlappingDataLabels.js +10 -6
  169. package/es-modules/Extensions/Pane.js +11 -12
  170. package/es-modules/Extensions/ParallelCoordinates.js +5 -3
  171. package/es-modules/Extensions/PatternFill.js +17 -11
  172. package/es-modules/Extensions/Polar.js +7 -4
  173. package/es-modules/Extensions/PriceIndication.js +2 -1
  174. package/es-modules/Extensions/RangeSelector.js +22 -59
  175. package/es-modules/Extensions/ScrollablePlotArea.js +2 -2
  176. package/es-modules/Extensions/SeriesLabel.js +1 -1
  177. package/es-modules/Extensions/Sonification/ChartSonify.js +279 -663
  178. package/es-modules/Extensions/Sonification/Earcon.js +136 -102
  179. package/es-modules/Extensions/Sonification/Instrument.js +493 -426
  180. package/es-modules/Extensions/Sonification/MusicalFrequencies.js +10 -0
  181. package/es-modules/Extensions/Sonification/Options.js +10 -0
  182. package/es-modules/Extensions/Sonification/PointSonify.js +207 -152
  183. package/es-modules/Extensions/Sonification/SeriesSonify.js +474 -0
  184. package/es-modules/Extensions/Sonification/SignalHandler.js +122 -0
  185. package/es-modules/Extensions/Sonification/Sonification.js +27 -53
  186. package/es-modules/Extensions/Sonification/{Utilities.js → SonificationUtilities.js} +70 -88
  187. package/es-modules/Extensions/Sonification/Timeline.js +250 -567
  188. package/es-modules/Extensions/Sonification/TimelineEvent.js +157 -0
  189. package/es-modules/Extensions/Sonification/TimelinePath.js +311 -0
  190. package/es-modules/Extensions/Stacking.js +5 -23
  191. package/es-modules/Extensions/Themes/BrandDark.js +293 -0
  192. package/es-modules/Extensions/Themes/BrandLight.js +259 -0
  193. package/es-modules/Extensions/Themes/DarkUnica.js +4 -2
  194. package/es-modules/Extensions/Themes/Grid.js +4 -2
  195. package/es-modules/Extensions/Themes/GridLight.js +4 -2
  196. package/es-modules/Gantt/Connection.js +2 -2
  197. package/es-modules/Gantt/Pathfinder.js +6 -5
  198. package/es-modules/Gantt/PathfinderAlgorithms.js +12 -12
  199. package/es-modules/Maps/MapNavigation.js +30 -68
  200. package/es-modules/Maps/MapNavigationOptionsDefault.js +3 -0
  201. package/es-modules/Maps/MapPointer.js +8 -5
  202. package/es-modules/Maps/MapSymbols.js +23 -3
  203. package/es-modules/Maps/MapView.js +450 -0
  204. package/es-modules/Maps/MapViewOptionsDefault.js +97 -0
  205. package/es-modules/Maps/Projection.js +436 -0
  206. package/es-modules/Maps/ProjectionDefinition.js +9 -0
  207. package/es-modules/Maps/Projections/EqualEarth.js +42 -0
  208. package/es-modules/Maps/Projections/LambertConformalConic.js +52 -0
  209. package/es-modules/Maps/Projections/Miller.js +16 -0
  210. package/es-modules/Maps/Projections/Orthographic.js +26 -0
  211. package/es-modules/Maps/Projections/ProjectionRegistry.js +19 -0
  212. package/es-modules/Maps/Projections/WebMercator.js +24 -0
  213. package/es-modules/Series/Area/AreaSeries.js +13 -13
  214. package/es-modules/Series/Area3DSeries.js +4 -2
  215. package/es-modules/Series/AreaRange/AreaRangeSeries.js +28 -17
  216. package/es-modules/Series/Bellcurve/BellcurveSeries.js +4 -9
  217. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +1 -2
  218. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -2
  219. package/es-modules/Series/Bubble/BubbleLegendItem.js +5 -15
  220. package/es-modules/Series/Bubble/BubblePoint.js +5 -0
  221. package/es-modules/Series/Bubble/BubbleSeries.js +90 -50
  222. package/es-modules/Series/Candlestick/CandlestickSeries.js +10 -19
  223. package/es-modules/{Mixins/CenteredSeries.js → Series/CenteredUtilities.js} +45 -23
  224. package/es-modules/{Mixins/ColorMapSeries.js → Series/ColorMapMixin.js} +10 -8
  225. package/es-modules/Series/Column/ColumnDataLabel.js +5 -5
  226. package/es-modules/Series/Column/ColumnSeries.js +19 -18
  227. package/es-modules/Series/Column3D/Column3DComposition.js +1 -2
  228. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +11 -8
  229. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +2 -1
  230. package/es-modules/Series/Cylinder/CylinderComposition.js +36 -4
  231. package/es-modules/Series/DataModifyComposition.js +539 -0
  232. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +2 -6
  233. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +1 -1
  234. package/es-modules/Series/DerivedComposition.js +137 -0
  235. package/es-modules/Series/DrawPointComposition.js +111 -0
  236. package/es-modules/Series/Dumbbell/DumbbellPoint.js +0 -1
  237. package/es-modules/Series/Dumbbell/DumbbellSeries.js +2 -6
  238. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +1 -2
  239. package/es-modules/Series/Flags/FlagsSeries.js +18 -25
  240. package/es-modules/Series/Flags/FlagsSymbols.js +2 -2
  241. package/es-modules/Series/Funnel/FunnelSeries.js +6 -5
  242. package/es-modules/Series/Funnel3D/Funnel3DComposition.js +14 -8
  243. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +2 -1
  244. package/es-modules/Series/Gantt/GanttPoint.js +1 -1
  245. package/es-modules/Series/Gantt/GanttSeries.js +3 -3
  246. package/es-modules/Series/Gauge/GaugePoint.js +1 -1
  247. package/es-modules/Series/Gauge/GaugeSeries.js +7 -7
  248. package/es-modules/Series/HLC/HLCPoint.js +55 -0
  249. package/es-modules/Series/HLC/HLCSeries.js +378 -0
  250. package/es-modules/Series/Heatmap/HeatmapPoint.js +13 -14
  251. package/es-modules/Series/Heatmap/HeatmapSeries.js +24 -12
  252. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +10 -9
  253. package/es-modules/Series/Histogram/HistogramSeries.js +7 -11
  254. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +1 -4
  255. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +28 -30
  256. package/es-modules/Series/Item/ItemSeries.js +4 -5
  257. package/es-modules/Series/Line/LineSeries.js +1 -2
  258. package/es-modules/Series/Map/MapPoint.js +27 -14
  259. package/es-modules/Series/Map/MapSeries.js +283 -322
  260. package/es-modules/Series/MapBubble/MapBubblePoint.js +0 -3
  261. package/es-modules/Series/MapBubble/MapBubbleSeries.js +10 -1
  262. package/es-modules/Series/MapLine/MapLineSeries.js +2 -4
  263. package/es-modules/Series/MapPoint/MapPointPoint.js +5 -1
  264. package/es-modules/Series/MapPoint/MapPointSeries.js +99 -14
  265. package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -4
  266. package/es-modules/Series/Networkgraph/Integrations.js +8 -22
  267. package/es-modules/Series/Networkgraph/Networkgraph.js +6 -10
  268. package/es-modules/Series/Networkgraph/QuadTree.js +1 -3
  269. package/es-modules/{Mixins/Nodes.js → Series/NodesComposition.js} +78 -30
  270. package/es-modules/Series/OHLC/OHLCPoint.js +2 -7
  271. package/es-modules/Series/OHLC/OHLCSeries.js +55 -183
  272. package/es-modules/{Mixins/OnSeries.js → Series/OnSeriesComposition.js} +53 -21
  273. package/es-modules/Series/Organization/OrganizationSeries.js +6 -5
  274. package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +1 -0
  275. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
  276. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +48 -10
  277. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -7
  278. package/es-modules/Series/Pie/PieDataLabel.js +1 -2
  279. package/es-modules/Series/Pie/PiePoint.js +2 -2
  280. package/es-modules/Series/Pie/PieSeries.js +7 -8
  281. package/es-modules/Series/Pie3D/Pie3DComposition.js +2 -1
  282. package/es-modules/Series/Pie3D/Pie3DPoint.js +2 -1
  283. package/es-modules/Series/Pie3D/Pie3DSeries.js +1 -1
  284. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +2 -1
  285. package/es-modules/Series/Sankey/SankeyPoint.js +0 -4
  286. package/es-modules/Series/Sankey/SankeySeries.js +92 -22
  287. package/es-modules/Series/SolidGauge/SolidGaugeComposition.js +3 -1
  288. package/es-modules/Series/Spline/SplineSeries.js +0 -8
  289. package/es-modules/Series/Sunburst/SunburstPoint.js +2 -3
  290. package/es-modules/Series/Sunburst/SunburstSeries.js +6 -6
  291. package/es-modules/Series/Sunburst/SunburstUtilities.js +3 -2
  292. package/es-modules/Series/Tilemap/TilemapPoint.js +2 -5
  293. package/es-modules/Series/Tilemap/TilemapShapes.js +0 -7
  294. package/es-modules/Series/Timeline/TimelineSeries.js +3 -4
  295. package/es-modules/{Mixins/TreeSeries.js → Series/TreeUtilities.js} +88 -78
  296. package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
  297. package/es-modules/Series/Treemap/TreemapSeries.js +22 -25
  298. package/es-modules/Series/Variwide/VariwideSeries.js +5 -1
  299. package/es-modules/Series/Venn/VennPoint.js +16 -7
  300. package/es-modules/Series/Venn/VennSeries.js +11 -17
  301. package/es-modules/Series/Venn/VennUtils.js +551 -439
  302. package/es-modules/Series/Waterfall/WaterfallSeries.js +8 -6
  303. package/es-modules/Series/Windbarb/WindbarbSeries.js +23 -24
  304. package/es-modules/Series/Wordcloud/WordcloudPoint.js +8 -6
  305. package/es-modules/Series/Wordcloud/WordcloudSeries.js +26 -22
  306. package/es-modules/Series/Wordcloud/WordcloudUtils.js +669 -484
  307. package/es-modules/Series/XRange/XRangePoint.js +7 -12
  308. package/es-modules/Series/XRange/XRangeSeries.js +4 -20
  309. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +15 -6
  310. package/es-modules/Stock/Indicators/AO/AOIndicator.js +2 -3
  311. package/es-modules/Stock/Indicators/APO/APOIndicator.js +14 -20
  312. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +4 -6
  313. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +11 -13
  314. package/es-modules/Stock/Indicators/ArrayUtilities.js +47 -0
  315. package/es-modules/Stock/Indicators/BB/BBIndicator.js +39 -11
  316. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +35 -15
  317. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +6 -12
  318. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +1 -11
  319. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +28 -16
  320. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +18 -11
  321. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +1 -3
  322. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +6 -6
  323. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +23 -9
  324. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +16 -19
  325. package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +32 -14
  326. package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +2 -2
  327. package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +2 -2
  328. package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +2 -2
  329. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +2 -3
  330. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +294 -0
  331. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +1 -3
  332. package/es-modules/Stock/Indicators/PC/PCIndicator.js +25 -13
  333. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -11
  334. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +2 -1
  335. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +2 -1
  336. package/es-modules/Stock/Indicators/SMA/SMAComposition.js +0 -26
  337. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +32 -50
  338. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +0 -8
  339. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +18 -9
  340. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +4 -6
  341. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +26 -11
  342. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +6 -12
  343. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +26 -10
  344. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +19 -7
  345. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +2 -3
  346. package/es-modules/Stock/StockToolsBindings.js +156 -47
  347. package/es-modules/Stock/StockToolsGui.js +442 -37
  348. package/es-modules/masters/highcharts-3d.src.js +1 -1
  349. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  350. package/es-modules/masters/highcharts-more.src.js +1 -1
  351. package/es-modules/masters/highcharts.src.js +1 -1
  352. package/es-modules/masters/highmaps.src.js +1 -1
  353. package/es-modules/masters/highstock.src.js +1 -1
  354. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  355. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  356. package/es-modules/masters/indicators/ao.src.js +1 -1
  357. package/es-modules/masters/indicators/apo.src.js +1 -1
  358. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  359. package/es-modules/masters/indicators/aroon.src.js +1 -1
  360. package/es-modules/masters/indicators/atr.src.js +1 -1
  361. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  362. package/es-modules/masters/indicators/cci.src.js +1 -1
  363. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  364. package/es-modules/masters/indicators/cmf.src.js +1 -1
  365. package/es-modules/masters/indicators/cmo.src.js +1 -1
  366. package/es-modules/masters/indicators/dema.src.js +1 -1
  367. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  368. package/es-modules/masters/indicators/dmi.src.js +1 -1
  369. package/es-modules/masters/indicators/dpo.src.js +1 -1
  370. package/es-modules/masters/indicators/ema.src.js +4 -10
  371. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  372. package/es-modules/masters/indicators/indicators-all.src.js +2 -2
  373. package/es-modules/masters/indicators/indicators.src.js +2 -1
  374. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  375. package/es-modules/masters/indicators/klinger.src.js +1 -1
  376. package/es-modules/masters/indicators/macd.src.js +1 -1
  377. package/es-modules/masters/indicators/mfi.src.js +1 -1
  378. package/es-modules/masters/indicators/momentum.src.js +1 -1
  379. package/es-modules/masters/indicators/natr.src.js +1 -1
  380. package/es-modules/masters/indicators/obv.src.js +1 -1
  381. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  382. package/es-modules/masters/indicators/ppo.src.js +1 -1
  383. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  384. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  385. package/es-modules/masters/indicators/psar.src.js +1 -1
  386. package/es-modules/masters/indicators/regressions.src.js +1 -1
  387. package/es-modules/masters/indicators/roc.src.js +1 -1
  388. package/es-modules/masters/indicators/rsi.src.js +1 -1
  389. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  390. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  391. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  392. package/es-modules/masters/indicators/tema.src.js +1 -1
  393. package/es-modules/masters/indicators/trendline.src.js +1 -1
  394. package/es-modules/masters/indicators/trix.src.js +1 -1
  395. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  396. package/es-modules/masters/indicators/vwap.src.js +1 -1
  397. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  398. package/es-modules/masters/indicators/wma.src.js +1 -1
  399. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  400. package/es-modules/masters/modules/accessibility.src.js +16 -2
  401. package/es-modules/masters/modules/annotations-advanced.src.js +3 -1
  402. package/es-modules/masters/modules/annotations.src.js +1 -1
  403. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  404. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  405. package/es-modules/masters/modules/boost.src.js +1 -1
  406. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  407. package/es-modules/masters/modules/bullet.src.js +1 -1
  408. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  409. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  410. package/es-modules/masters/modules/cylinder.src.js +1 -1
  411. package/es-modules/masters/modules/data.src.js +6 -3
  412. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  413. package/es-modules/masters/modules/debugger.src.js +1 -1
  414. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  415. package/es-modules/masters/modules/dotplot.src.js +1 -1
  416. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  417. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  418. package/es-modules/masters/modules/drilldown.src.js +1 -1
  419. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  420. package/es-modules/masters/modules/export-data.src.js +1 -1
  421. package/es-modules/masters/modules/exporting.src.js +1 -1
  422. package/es-modules/masters/modules/full-screen.src.js +1 -1
  423. package/es-modules/masters/modules/funnel.src.js +1 -1
  424. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  425. package/es-modules/masters/modules/gantt.src.js +1 -1
  426. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  427. package/es-modules/masters/modules/heatmap.src.js +1 -2
  428. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  429. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  430. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  431. package/es-modules/masters/modules/item-series.src.js +1 -1
  432. package/es-modules/masters/modules/lollipop.src.js +1 -1
  433. package/es-modules/masters/modules/map.src.js +1 -3
  434. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  435. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  436. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  437. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  438. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  439. package/es-modules/masters/modules/oldie.src.js +1 -1
  440. package/es-modules/masters/modules/organization.src.js +1 -1
  441. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  442. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  443. package/es-modules/masters/modules/pareto.src.js +1 -1
  444. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  445. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  446. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  447. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  448. package/es-modules/masters/modules/sankey.src.js +1 -1
  449. package/es-modules/masters/modules/series-label.src.js +1 -1
  450. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  451. package/es-modules/masters/modules/sonification.src.js +33 -2
  452. package/es-modules/masters/modules/static-scale.src.js +1 -1
  453. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  454. package/es-modules/masters/modules/stock.src.js +4 -1
  455. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  456. package/es-modules/masters/modules/sunburst.src.js +1 -1
  457. package/es-modules/masters/modules/tilemap.src.js +1 -1
  458. package/es-modules/masters/modules/timeline.src.js +1 -1
  459. package/es-modules/masters/modules/treegrid.src.js +1 -1
  460. package/es-modules/masters/modules/treemap.src.js +1 -1
  461. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  462. package/es-modules/masters/modules/variwide.src.js +1 -1
  463. package/es-modules/masters/modules/vector.src.js +1 -1
  464. package/es-modules/masters/modules/venn.src.js +1 -1
  465. package/es-modules/masters/modules/windbarb.src.js +1 -1
  466. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  467. package/es-modules/masters/modules/xrange.src.js +1 -1
  468. package/es-modules/masters/themes/avocado.src.js +1 -1
  469. package/es-modules/masters/themes/brand-dark.src.js +14 -0
  470. package/es-modules/masters/themes/brand-light.src.js +14 -0
  471. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  472. package/es-modules/masters/themes/dark-green.src.js +1 -1
  473. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  474. package/es-modules/masters/themes/gray.src.js +1 -1
  475. package/es-modules/masters/themes/grid-light.src.js +1 -1
  476. package/es-modules/masters/themes/grid.src.js +1 -1
  477. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  478. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  479. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  480. package/es-modules/masters/themes/skies.src.js +1 -1
  481. package/es-modules/masters/themes/sunset.src.js +1 -1
  482. package/highcharts-3d.js +1 -1
  483. package/highcharts-3d.js.map +1 -1
  484. package/highcharts-3d.src.js +65 -35
  485. package/highcharts-gantt.js +800 -803
  486. package/highcharts-gantt.js.map +1 -1
  487. package/highcharts-gantt.src.js +1356 -1429
  488. package/highcharts-more.js +194 -193
  489. package/highcharts-more.js.map +1 -1
  490. package/highcharts-more.src.js +280 -222
  491. package/highcharts.d.ts +10208 -761
  492. package/highcharts.js +585 -588
  493. package/highcharts.js.map +1 -1
  494. package/highcharts.src.d.ts +10208 -761
  495. package/highcharts.src.js +992 -1066
  496. package/highmaps.js +727 -707
  497. package/highmaps.js.map +1 -1
  498. package/highmaps.src.js +3240 -2135
  499. package/highstock.js +788 -783
  500. package/highstock.js.map +1 -1
  501. package/highstock.src.js +2487 -1981
  502. package/indicators/acceleration-bands.d.ts +17 -1
  503. package/indicators/acceleration-bands.js +11 -9
  504. package/indicators/acceleration-bands.js.map +1 -1
  505. package/indicators/acceleration-bands.src.d.ts +17 -1
  506. package/indicators/acceleration-bands.src.js +238 -112
  507. package/indicators/accumulation-distribution.js +1 -1
  508. package/indicators/accumulation-distribution.src.js +1 -1
  509. package/indicators/ao.js +6 -6
  510. package/indicators/ao.js.map +1 -1
  511. package/indicators/ao.src.js +4 -4
  512. package/indicators/apo.js +5 -6
  513. package/indicators/apo.js.map +1 -1
  514. package/indicators/apo.src.js +16 -84
  515. package/indicators/aroon-oscillator.d.ts +17 -1
  516. package/indicators/aroon-oscillator.js +10 -9
  517. package/indicators/aroon-oscillator.js.map +1 -1
  518. package/indicators/aroon-oscillator.src.d.ts +17 -1
  519. package/indicators/aroon-oscillator.src.js +230 -177
  520. package/indicators/aroon.d.ts +17 -1
  521. package/indicators/aroon.js +11 -9
  522. package/indicators/aroon.js.map +1 -1
  523. package/indicators/aroon.src.d.ts +17 -1
  524. package/indicators/aroon.src.js +227 -112
  525. package/indicators/atr.js +1 -1
  526. package/indicators/atr.src.js +1 -1
  527. package/indicators/bollinger-bands.d.ts +17 -1
  528. package/indicators/bollinger-bands.js +12 -9
  529. package/indicators/bollinger-bands.js.map +1 -1
  530. package/indicators/bollinger-bands.src.d.ts +17 -1
  531. package/indicators/bollinger-bands.src.js +262 -117
  532. package/indicators/cci.js +1 -1
  533. package/indicators/cci.src.js +1 -1
  534. package/indicators/chaikin.js +8 -9
  535. package/indicators/chaikin.js.map +1 -1
  536. package/indicators/chaikin.src.js +8 -76
  537. package/indicators/cmf.js +1 -1
  538. package/indicators/cmf.js.map +1 -1
  539. package/indicators/cmf.src.js +36 -16
  540. package/indicators/cmo.js +1 -1
  541. package/indicators/cmo.src.js +1 -1
  542. package/indicators/dema.js +5 -6
  543. package/indicators/dema.js.map +1 -1
  544. package/indicators/dema.src.js +3 -75
  545. package/indicators/disparity-index.js +6 -7
  546. package/indicators/disparity-index.js.map +1 -1
  547. package/indicators/disparity-index.src.js +20 -74
  548. package/indicators/dmi.js +12 -11
  549. package/indicators/dmi.js.map +1 -1
  550. package/indicators/dmi.src.js +252 -121
  551. package/indicators/dpo.js +1 -1
  552. package/indicators/dpo.src.js +1 -1
  553. package/indicators/ema.js +1 -13
  554. package/indicators/ema.js.map +1 -1
  555. package/indicators/ema.src.js +7 -188
  556. package/indicators/ichimoku-kinko-hyo.js +1 -1
  557. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  558. package/indicators/ichimoku-kinko-hyo.src.js +7 -7
  559. package/indicators/indicators-all.d.ts +17 -1
  560. package/indicators/indicators-all.js +198 -203
  561. package/indicators/indicators-all.js.map +1 -1
  562. package/indicators/indicators-all.src.d.ts +17 -1
  563. package/indicators/indicators-all.src.js +892 -777
  564. package/indicators/indicators.js +12 -12
  565. package/indicators/indicators.js.map +1 -1
  566. package/indicators/indicators.src.js +213 -144
  567. package/indicators/keltner-channels.d.ts +17 -1
  568. package/indicators/keltner-channels.js +11 -10
  569. package/indicators/keltner-channels.js.map +1 -1
  570. package/indicators/keltner-channels.src.d.ts +17 -1
  571. package/indicators/keltner-channels.src.js +246 -118
  572. package/indicators/klinger.js +14 -13
  573. package/indicators/klinger.js.map +1 -1
  574. package/indicators/klinger.src.js +239 -187
  575. package/indicators/macd.js +2 -2
  576. package/indicators/macd.js.map +1 -1
  577. package/indicators/macd.src.js +3 -4
  578. package/indicators/mfi.js +1 -1
  579. package/indicators/mfi.src.js +1 -1
  580. package/indicators/momentum.js +1 -1
  581. package/indicators/momentum.src.js +1 -1
  582. package/indicators/natr.js +3 -3
  583. package/indicators/natr.js.map +1 -1
  584. package/indicators/natr.src.js +2 -4
  585. package/indicators/obv.js +1 -1
  586. package/indicators/obv.src.js +1 -1
  587. package/indicators/pivot-points.js +1 -1
  588. package/indicators/pivot-points.js.map +1 -1
  589. package/indicators/pivot-points.src.js +3 -2
  590. package/indicators/ppo.js +5 -6
  591. package/indicators/ppo.js.map +1 -1
  592. package/indicators/ppo.src.js +3 -75
  593. package/indicators/price-channel.d.ts +17 -1
  594. package/indicators/price-channel.js +11 -9
  595. package/indicators/price-channel.js.map +1 -1
  596. package/indicators/price-channel.src.d.ts +17 -1
  597. package/indicators/price-channel.src.js +288 -168
  598. package/indicators/price-envelopes.js +1 -1
  599. package/indicators/price-envelopes.src.js +1 -1
  600. package/indicators/psar.js +1 -1
  601. package/indicators/psar.src.js +1 -1
  602. package/indicators/regressions.js +1 -1
  603. package/indicators/regressions.js.map +1 -1
  604. package/indicators/regressions.src.js +39 -21
  605. package/indicators/roc.js +1 -1
  606. package/indicators/roc.src.js +1 -1
  607. package/indicators/rsi.js +1 -1
  608. package/indicators/rsi.js.map +1 -1
  609. package/indicators/rsi.src.js +3 -2
  610. package/indicators/slow-stochastic.js +5 -6
  611. package/indicators/slow-stochastic.js.map +1 -1
  612. package/indicators/slow-stochastic.src.js +2 -72
  613. package/indicators/stochastic.d.ts +17 -1
  614. package/indicators/stochastic.js +12 -10
  615. package/indicators/stochastic.js.map +1 -1
  616. package/indicators/stochastic.src.d.ts +17 -1
  617. package/indicators/stochastic.src.js +282 -165
  618. package/indicators/supertrend.js +10 -10
  619. package/indicators/supertrend.js.map +1 -1
  620. package/indicators/supertrend.src.js +6 -7
  621. package/indicators/tema.js +6 -7
  622. package/indicators/tema.js.map +1 -1
  623. package/indicators/tema.src.js +28 -75
  624. package/indicators/trendline.js +1 -1
  625. package/indicators/trendline.src.js +1 -1
  626. package/indicators/trix.js +4 -5
  627. package/indicators/trix.js.map +1 -1
  628. package/indicators/trix.src.js +8 -76
  629. package/indicators/volume-by-price.js +16 -16
  630. package/indicators/volume-by-price.js.map +1 -1
  631. package/indicators/volume-by-price.src.js +27 -10
  632. package/indicators/vwap.js +1 -1
  633. package/indicators/vwap.js.map +1 -1
  634. package/indicators/vwap.src.js +20 -8
  635. package/indicators/williams-r.js +5 -6
  636. package/indicators/williams-r.js.map +1 -1
  637. package/indicators/williams-r.src.js +41 -51
  638. package/indicators/wma.js +1 -1
  639. package/indicators/wma.src.js +1 -1
  640. package/indicators/zigzag.js +1 -1
  641. package/indicators/zigzag.src.js +1 -1
  642. package/modules/accessibility.d.ts +0 -30
  643. package/modules/accessibility.js +241 -216
  644. package/modules/accessibility.js.map +1 -1
  645. package/modules/accessibility.src.d.ts +0 -30
  646. package/modules/accessibility.src.js +7818 -6398
  647. package/modules/annotations-advanced.d.ts +30 -0
  648. package/modules/annotations-advanced.js +192 -165
  649. package/modules/annotations-advanced.js.map +1 -1
  650. package/modules/annotations-advanced.src.d.ts +30 -0
  651. package/modules/annotations-advanced.src.js +1716 -416
  652. package/modules/annotations.js +125 -110
  653. package/modules/annotations.js.map +1 -1
  654. package/modules/annotations.src.js +1059 -304
  655. package/modules/arrow-symbols.js +1 -1
  656. package/modules/arrow-symbols.src.js +1 -1
  657. package/modules/boost-canvas.js +15 -15
  658. package/modules/boost-canvas.js.map +1 -1
  659. package/modules/boost-canvas.src.js +3 -3
  660. package/modules/boost.js +79 -79
  661. package/modules/boost.js.map +1 -1
  662. package/modules/boost.src.js +42 -51
  663. package/modules/broken-axis.js +1 -1
  664. package/modules/broken-axis.js.map +1 -1
  665. package/modules/broken-axis.src.js +18 -12
  666. package/modules/bullet.js +1 -1
  667. package/modules/bullet.src.js +1 -1
  668. package/modules/coloraxis.js +24 -24
  669. package/modules/coloraxis.js.map +1 -1
  670. package/modules/coloraxis.src.js +77 -103
  671. package/modules/current-date-indicator.js +4 -4
  672. package/modules/current-date-indicator.js.map +1 -1
  673. package/modules/current-date-indicator.src.js +4 -4
  674. package/modules/cylinder.js +1 -1
  675. package/modules/cylinder.js.map +1 -1
  676. package/modules/cylinder.src.js +37 -5
  677. package/modules/data.d.ts +6 -6
  678. package/modules/data.js +31 -31
  679. package/modules/data.js.map +1 -1
  680. package/modules/data.src.d.ts +6 -6
  681. package/modules/data.src.js +18 -58
  682. package/modules/datagrouping.js +20 -20
  683. package/modules/datagrouping.js.map +1 -1
  684. package/modules/datagrouping.src.js +54 -33
  685. package/modules/debugger.js +1 -1
  686. package/modules/debugger.src.js +1 -1
  687. package/modules/dependency-wheel.js +11 -11
  688. package/modules/dependency-wheel.js.map +1 -1
  689. package/modules/dependency-wheel.src.js +5 -8
  690. package/modules/dotplot.js +1 -1
  691. package/modules/dotplot.src.js +1 -1
  692. package/modules/drag-panes.js +8 -8
  693. package/modules/drag-panes.js.map +1 -1
  694. package/modules/drag-panes.src.js +3 -3
  695. package/modules/draggable-points.js +1 -1
  696. package/modules/draggable-points.js.map +1 -1
  697. package/modules/draggable-points.src.js +8 -9
  698. package/modules/drilldown.js +24 -24
  699. package/modules/drilldown.js.map +1 -1
  700. package/modules/drilldown.src.js +13 -8
  701. package/modules/dumbbell.js +17 -17
  702. package/modules/dumbbell.js.map +1 -1
  703. package/modules/dumbbell.src.js +4 -8
  704. package/modules/export-data.js +19 -19
  705. package/modules/export-data.js.map +1 -1
  706. package/modules/export-data.src.js +9 -8
  707. package/modules/exporting.js +39 -38
  708. package/modules/exporting.js.map +1 -1
  709. package/modules/exporting.src.js +132 -113
  710. package/modules/full-screen.js +1 -1
  711. package/modules/full-screen.js.map +1 -1
  712. package/modules/full-screen.src.js +5 -4
  713. package/modules/funnel.js +12 -12
  714. package/modules/funnel.js.map +1 -1
  715. package/modules/funnel.src.js +9 -6
  716. package/modules/funnel3d.js +1 -1
  717. package/modules/funnel3d.js.map +1 -1
  718. package/modules/funnel3d.src.js +17 -10
  719. package/modules/gantt.js +217 -218
  720. package/modules/gantt.js.map +1 -1
  721. package/modules/gantt.src.js +364 -363
  722. package/modules/grid-axis.js +1 -1
  723. package/modules/grid-axis.js.map +1 -1
  724. package/modules/grid-axis.src.js +27 -19
  725. package/modules/heatmap.js +39 -39
  726. package/modules/heatmap.js.map +1 -1
  727. package/modules/heatmap.src.js +132 -141
  728. package/modules/heikinashi.js +1 -1
  729. package/modules/heikinashi.js.map +1 -1
  730. package/modules/heikinashi.src.js +12 -10
  731. package/modules/histogram-bellcurve.js +13 -13
  732. package/modules/histogram-bellcurve.js.map +1 -1
  733. package/modules/histogram-bellcurve.src.js +97 -91
  734. package/modules/hollowcandlestick.js +9 -9
  735. package/modules/hollowcandlestick.js.map +1 -1
  736. package/modules/hollowcandlestick.src.js +31 -35
  737. package/modules/item-series.js +6 -6
  738. package/modules/item-series.js.map +1 -1
  739. package/modules/item-series.src.js +6 -6
  740. package/modules/lollipop.js +1 -1
  741. package/modules/lollipop.src.js +1 -1
  742. package/modules/map.d.ts +138 -14
  743. package/modules/map.js +144 -122
  744. package/modules/map.js.map +1 -1
  745. package/modules/map.src.d.ts +138 -14
  746. package/modules/map.src.js +2253 -1074
  747. package/modules/marker-clusters.js +36 -36
  748. package/modules/marker-clusters.js.map +1 -1
  749. package/modules/marker-clusters.src.js +176 -143
  750. package/modules/networkgraph.d.ts +12 -1
  751. package/modules/networkgraph.js +49 -49
  752. package/modules/networkgraph.js.map +1 -1
  753. package/modules/networkgraph.src.d.ts +12 -1
  754. package/modules/networkgraph.src.js +103 -78
  755. package/modules/no-data-to-display.js +5 -5
  756. package/modules/no-data-to-display.js.map +1 -1
  757. package/modules/no-data-to-display.src.js +3 -3
  758. package/modules/offline-exporting.js +18 -18
  759. package/modules/offline-exporting.js.map +1 -1
  760. package/modules/offline-exporting.src.js +38 -43
  761. package/modules/oldie-polyfills.js +1 -1
  762. package/modules/oldie-polyfills.src.js +1 -1
  763. package/modules/oldie.js +26 -26
  764. package/modules/oldie.js.map +1 -1
  765. package/modules/oldie.src.js +21 -81
  766. package/modules/organization.js +13 -13
  767. package/modules/organization.js.map +1 -1
  768. package/modules/organization.src.js +8 -6
  769. package/modules/overlapping-datalabels.js +1 -1
  770. package/modules/overlapping-datalabels.src.js +1 -1
  771. package/modules/parallel-coordinates.js +1 -1
  772. package/modules/parallel-coordinates.js.map +1 -1
  773. package/modules/parallel-coordinates.src.js +6 -4
  774. package/modules/pareto.js +7 -7
  775. package/modules/pareto.js.map +1 -1
  776. package/modules/pareto.src.js +89 -78
  777. package/modules/pathfinder.js +1 -1
  778. package/modules/pathfinder.js.map +1 -1
  779. package/modules/pathfinder.src.js +21 -20
  780. package/modules/pattern-fill.js +1 -1
  781. package/modules/pattern-fill.js.map +1 -1
  782. package/modules/pattern-fill.src.js +18 -12
  783. package/modules/price-indicator.js +1 -1
  784. package/modules/price-indicator.js.map +1 -1
  785. package/modules/price-indicator.src.js +3 -2
  786. package/modules/pyramid3d.js +1 -1
  787. package/modules/pyramid3d.js.map +1 -1
  788. package/modules/pyramid3d.src.js +3 -2
  789. package/modules/sankey.d.ts +12 -1
  790. package/modules/sankey.js +29 -29
  791. package/modules/sankey.js.map +1 -1
  792. package/modules/sankey.src.d.ts +12 -1
  793. package/modules/sankey.src.js +307 -181
  794. package/modules/series-label.js +1 -1
  795. package/modules/series-label.js.map +1 -1
  796. package/modules/series-label.src.js +2 -2
  797. package/modules/solid-gauge.js +1 -1
  798. package/modules/solid-gauge.js.map +1 -1
  799. package/modules/solid-gauge.src.js +17 -2
  800. package/modules/sonification.js +59 -55
  801. package/modules/sonification.js.map +1 -1
  802. package/modules/sonification.src.js +3093 -2594
  803. package/modules/static-scale.js +1 -1
  804. package/modules/static-scale.src.js +1 -1
  805. package/modules/stock-tools.js +178 -163
  806. package/modules/stock-tools.js.map +1 -1
  807. package/modules/stock-tools.src.js +1136 -229
  808. package/modules/stock.d.ts +39 -6
  809. package/modules/stock.js +204 -196
  810. package/modules/stock.js.map +1 -1
  811. package/modules/stock.src.d.ts +39 -6
  812. package/modules/stock.src.js +1820 -1240
  813. package/modules/streamgraph.js +1 -1
  814. package/modules/streamgraph.src.js +1 -1
  815. package/modules/sunburst.js +60 -60
  816. package/modules/sunburst.js.map +1 -1
  817. package/modules/sunburst.src.js +281 -248
  818. package/modules/tilemap.js +17 -17
  819. package/modules/tilemap.js.map +1 -1
  820. package/modules/tilemap.src.js +3 -13
  821. package/modules/timeline.js +18 -18
  822. package/modules/timeline.js.map +1 -1
  823. package/modules/timeline.src.js +5 -5
  824. package/modules/treegrid.js +56 -57
  825. package/modules/treegrid.js.map +1 -1
  826. package/modules/treegrid.src.js +201 -169
  827. package/modules/treemap.js +41 -41
  828. package/modules/treemap.js.map +1 -1
  829. package/modules/treemap.src.js +266 -232
  830. package/modules/variable-pie.js +1 -1
  831. package/modules/variable-pie.src.js +1 -1
  832. package/modules/variwide.js +1 -1
  833. package/modules/variwide.js.map +1 -1
  834. package/modules/variwide.src.js +7 -3
  835. package/modules/vector.js +1 -1
  836. package/modules/vector.src.js +1 -1
  837. package/modules/venn.js +31 -31
  838. package/modules/venn.js.map +1 -1
  839. package/modules/venn.src.js +740 -731
  840. package/modules/windbarb.js +15 -15
  841. package/modules/windbarb.js.map +1 -1
  842. package/modules/windbarb.src.js +90 -62
  843. package/modules/wordcloud.js +23 -24
  844. package/modules/wordcloud.js.map +1 -1
  845. package/modules/wordcloud.src.js +898 -954
  846. package/modules/xrange.js +2 -2
  847. package/modules/xrange.js.map +1 -1
  848. package/modules/xrange.src.js +12 -33
  849. package/package.json +1 -1
  850. package/themes/avocado.js +1 -1
  851. package/themes/avocado.src.js +1 -1
  852. package/themes/brand-dark.js +15 -0
  853. package/themes/brand-dark.js.map +1 -0
  854. package/themes/brand-dark.src.js +328 -0
  855. package/themes/brand-light.js +15 -0
  856. package/themes/brand-light.js.map +1 -0
  857. package/themes/brand-light.src.js +294 -0
  858. package/themes/dark-blue.js +1 -1
  859. package/themes/dark-blue.src.js +1 -1
  860. package/themes/dark-green.js +1 -1
  861. package/themes/dark-green.src.js +1 -1
  862. package/themes/dark-unica.js +1 -1
  863. package/themes/dark-unica.js.map +1 -1
  864. package/themes/dark-unica.src.js +5 -3
  865. package/themes/gray.js +1 -1
  866. package/themes/gray.src.js +1 -1
  867. package/themes/grid-light.js +1 -1
  868. package/themes/grid-light.js.map +1 -1
  869. package/themes/grid-light.src.js +5 -3
  870. package/themes/grid.js +1 -1
  871. package/themes/grid.js.map +1 -1
  872. package/themes/grid.src.js +5 -3
  873. package/themes/high-contrast-dark.js +1 -1
  874. package/themes/high-contrast-dark.src.js +1 -1
  875. package/themes/high-contrast-light.js +1 -1
  876. package/themes/high-contrast-light.src.js +1 -1
  877. package/themes/sand-signika.js +1 -1
  878. package/themes/sand-signika.src.js +1 -1
  879. package/themes/skies.js +1 -1
  880. package/themes/skies.src.js +1 -1
  881. package/themes/sunset.js +1 -1
  882. package/themes/sunset.src.js +1 -1
  883. package/es-modules/Core/Axis/MapAxis.js +0 -157
  884. package/es-modules/Core/Color/Palette.js +0 -82
  885. package/es-modules/Extensions/Sonification/InstrumentDefinitions.js +0 -32
  886. package/es-modules/Mixins/ColorSeries.js +0 -77
  887. package/es-modules/Mixins/DerivedSeries.js +0 -118
  888. package/es-modules/Mixins/DrawPoint.js +0 -81
  889. package/es-modules/Mixins/IndicatorRequired.js +0 -56
  890. package/es-modules/Mixins/MultipleLines.js +0 -181
  891. package/es-modules/Mixins/Navigation.js +0 -54
  892. package/es-modules/Mixins/NelderMead.js +0 -132
  893. package/es-modules/Mixins/Polygon.js +0 -259
  894. package/es-modules/Mixins/ReduceArray.js +0 -54
@@ -21,15 +21,17 @@ var __extends = (this && this.__extends) || (function () {
21
21
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
22
22
  };
23
23
  })();
24
- import ColorMapMixin from '../../Mixins/ColorMapSeries.js';
25
- var colorMapSeriesMixin = ColorMapMixin.colorMapSeriesMixin;
24
+ import A from '../../Core/Animation/AnimationUtilities.js';
25
+ var animObject = A.animObject;
26
+ import ColorMapMixin from '../ColorMapMixin.js';
27
+ import CU from '../CenteredUtilities.js';
26
28
  import H from '../../Core/Globals.js';
27
29
  var noop = H.noop;
28
30
  import LegendSymbol from '../../Core/Legend/LegendSymbol.js';
29
31
  import MapChart from '../../Core/Chart/MapChart.js';
30
32
  var maps = MapChart.maps, splitPath = MapChart.splitPath;
31
33
  import MapPoint from './MapPoint.js';
32
- import palette from '../../Core/Color/Palette.js';
34
+ import MapView from '../../Maps/MapView.js';
33
35
  import Series from '../../Core/Series/Series.js';
34
36
  import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
35
37
  var
@@ -59,12 +61,6 @@ var MapSeries = /** @class */ (function (_super) {
59
61
  *
60
62
  * */
61
63
  var _this = _super !== null && _super.apply(this, arguments) || this;
62
- /* *
63
- *
64
- * Properties
65
- *
66
- * */
67
- _this.baseTrans = void 0;
68
64
  _this.chart = void 0;
69
65
  _this.data = void 0;
70
66
  _this.group = void 0;
@@ -88,19 +84,14 @@ var MapSeries = /** @class */ (function (_super) {
88
84
  * @private
89
85
  */
90
86
  MapSeries.prototype.animate = function (init) {
91
- var chart = this.chart, animation = this.options.animation, group = this.group, xAxis = this.xAxis, yAxis = this.yAxis, left = xAxis.pos, top = yAxis.pos;
87
+ var _a = this, chart = _a.chart, group = _a.group, animation = animObject(this.options.animation);
92
88
  if (chart.renderer.isSVG) {
93
- if (animation === true) {
94
- animation = {
95
- duration: 1000
96
- };
97
- }
98
89
  // Initialize the animation
99
90
  if (init) {
100
91
  // Scale down the group and place it in the center
101
92
  group.attr({
102
- translateX: left + xAxis.len / 2,
103
- translateY: top + yAxis.len / 2,
93
+ translateX: chart.plotLeft + chart.plotWidth / 2,
94
+ translateY: chart.plotTop + chart.plotHeight / 2,
104
95
  scaleX: 0.001,
105
96
  scaleY: 0.001
106
97
  });
@@ -108,8 +99,8 @@ var MapSeries = /** @class */ (function (_super) {
108
99
  }
109
100
  else {
110
101
  group.animate({
111
- translateX: left,
112
- translateY: top,
102
+ translateX: chart.plotLeft,
103
+ translateY: chart.plotTop,
113
104
  scaleX: 1,
114
105
  scaleY: 1
115
106
  }, animation);
@@ -117,32 +108,34 @@ var MapSeries = /** @class */ (function (_super) {
117
108
  }
118
109
  };
119
110
  /**
120
- * Animate in the new series from the clicked point in the old series.
121
- * Depends on the drilldown.js module
111
+ * Animate in the new series. Depends on the drilldown.js module.
122
112
  * @private
123
113
  */
124
114
  MapSeries.prototype.animateDrilldown = function (init) {
125
- var toBox = this.chart.plotBox, level = this.chart.drilldownLevels[this.chart.drilldownLevels.length - 1], fromBox = level.bBox, animationOptions = this.chart.options.drilldown.animation, scale;
126
- if (!init) {
127
- scale = Math.min(fromBox.width / toBox.width, fromBox.height / toBox.height);
128
- level.shapeArgs = {
129
- scaleX: scale,
130
- scaleY: scale,
131
- translateX: fromBox.x,
132
- translateY: fromBox.y
133
- };
134
- this.points.forEach(function (point) {
135
- if (point.graphic) {
136
- point.graphic
137
- .attr(level.shapeArgs)
138
- .animate({
139
- scaleX: 1,
140
- scaleY: 1,
141
- translateX: 0,
142
- translateY: 0
143
- }, animationOptions);
144
- }
145
- });
115
+ var chart = this.chart, group = this.group;
116
+ if (chart.renderer.isSVG) {
117
+ // Initialize the animation
118
+ if (init) {
119
+ // Scale down the group and place it in the center. This is a
120
+ // regression from <= v9.2, when it animated from the old point.
121
+ group.attr({
122
+ translateX: chart.plotLeft + chart.plotWidth / 2,
123
+ translateY: chart.plotTop + chart.plotHeight / 2,
124
+ scaleX: 0.1,
125
+ scaleY: 0.1,
126
+ opacity: 0.01
127
+ });
128
+ // Run the animation
129
+ }
130
+ else {
131
+ group.animate({
132
+ translateX: chart.plotLeft,
133
+ translateY: chart.plotTop,
134
+ scaleX: 1,
135
+ scaleY: 1,
136
+ opacity: 1
137
+ });
138
+ }
146
139
  }
147
140
  };
148
141
  /**
@@ -150,8 +143,17 @@ var MapSeries = /** @class */ (function (_super) {
150
143
  * series and animate them into the origin point in the upper series.
151
144
  * @private
152
145
  */
153
- MapSeries.prototype.animateDrillupFrom = function (level) {
154
- ColumnSeries.prototype.animateDrillupFrom.call(this, level);
146
+ MapSeries.prototype.animateDrillupFrom = function () {
147
+ var chart = this.chart;
148
+ if (chart.renderer.isSVG) {
149
+ this.group.animate({
150
+ translateX: chart.plotLeft + chart.plotWidth / 2,
151
+ translateY: chart.plotTop + chart.plotHeight / 2,
152
+ scaleX: 0.1,
153
+ scaleY: 0.1,
154
+ opacity: 0.01
155
+ });
156
+ }
155
157
  };
156
158
  /**
157
159
  * When drilling up, keep the upper series invisible until the lower series
@@ -161,16 +163,23 @@ var MapSeries = /** @class */ (function (_super) {
161
163
  MapSeries.prototype.animateDrillupTo = function (init) {
162
164
  ColumnSeries.prototype.animateDrillupTo.call(this, init);
163
165
  };
166
+ MapSeries.prototype.clearBounds = function () {
167
+ this.points.forEach(function (point) {
168
+ delete point.bounds;
169
+ delete point.projectedPath;
170
+ });
171
+ delete this.bounds;
172
+ };
164
173
  /**
165
174
  * Allow a quick redraw by just translating the area group. Used for zooming
166
175
  * and panning in capable browsers.
167
176
  * @private
168
177
  */
169
178
  MapSeries.prototype.doFullTranslate = function () {
170
- return (this.isDirtyData ||
179
+ return Boolean(this.isDirtyData ||
171
180
  this.chart.isResizing ||
172
181
  this.chart.renderer.isVML ||
173
- !this.baseTrans);
182
+ !this.hasRendered);
174
183
  };
175
184
  /**
176
185
  * Draw the data labels. Special for maps is the time that the data labels
@@ -189,35 +198,32 @@ var MapSeries = /** @class */ (function (_super) {
189
198
  * @private
190
199
  */
191
200
  MapSeries.prototype.drawPoints = function () {
192
- var series = this, xAxis = series.xAxis, yAxis = series.yAxis, group = series.group, chart = series.chart, renderer = chart.renderer, scaleX, scaleY, translateX, translateY, baseTrans = this.baseTrans, transformGroup, startTranslateX, startTranslateY, startScaleX, startScaleY;
201
+ var _this = this;
202
+ var _a = this, chart = _a.chart, group = _a.group, svgTransform = _a.svgTransform;
203
+ var mapView = chart.mapView, renderer = chart.renderer;
193
204
  // Set a group that handles transform during zooming and panning in
194
205
  // order to preserve clipping on series.group
195
- if (!series.transformGroup) {
196
- series.transformGroup = renderer.g()
197
- .attr({
198
- scaleX: 1,
199
- scaleY: 1
200
- })
201
- .add(group);
202
- series.transformGroup.survive = true;
206
+ if (!this.transformGroup) {
207
+ this.transformGroup = renderer.g().add(group);
208
+ this.transformGroup.survive = true;
203
209
  }
204
210
  // Draw the shapes again
205
- if (series.doFullTranslate()) {
211
+ if (this.doFullTranslate()) {
206
212
  // Individual point actions.
207
213
  if (chart.hasRendered && !chart.styledMode) {
208
- series.points.forEach(function (point) {
214
+ this.points.forEach(function (point) {
209
215
  // Restore state color on update/redraw (#3529)
210
216
  if (point.shapeArgs) {
211
- point.shapeArgs.fill = series.pointAttribs(point, point.state).fill;
217
+ point.shapeArgs.fill = _this.pointAttribs(point, point.state).fill;
212
218
  }
213
219
  });
214
220
  }
215
221
  // Draw them in transformGroup
216
- series.group = series.transformGroup;
217
- ColumnSeries.prototype.drawPoints.apply(series);
218
- series.group = group; // Reset
222
+ this.group = this.transformGroup;
223
+ ColumnSeries.prototype.drawPoints.apply(this);
224
+ this.group = group; // Reset
219
225
  // Add class names
220
- series.points.forEach(function (point) {
226
+ this.points.forEach(function (point) {
221
227
  if (point.graphic) {
222
228
  var className = '';
223
229
  if (point.name) {
@@ -236,187 +242,125 @@ var MapSeries = /** @class */ (function (_super) {
236
242
  }
237
243
  // In styled mode, apply point colors by CSS
238
244
  if (chart.styledMode) {
239
- point.graphic.css(series.pointAttribs(point, point.selected && 'select' || void 0));
245
+ point.graphic.css(_this.pointAttribs(point, point.selected && 'select' || void 0));
240
246
  }
241
247
  }
242
248
  });
243
- // Set the base for later scale-zooming. The originX and originY
244
- // properties are the axis values in the plot area's upper left
245
- // corner.
246
- this.baseTrans = {
247
- originX: (xAxis.min -
248
- xAxis.minPixelPadding / xAxis.transA),
249
- originY: (yAxis.min -
250
- yAxis.minPixelPadding / yAxis.transA +
251
- (yAxis.reversed ? 0 : yAxis.len / yAxis.transA)),
252
- transAX: xAxis.transA,
253
- transAY: yAxis.transA
254
- };
255
- // Reset transformation in case we're doing a full translate
256
- // (#3789)
257
- this.transformGroup.animate({
258
- translateX: 0,
259
- translateY: 0,
260
- scaleX: 1,
261
- scaleY: 1
262
- });
263
- // Just update the scale and transform for better performance
264
249
  }
265
- else {
266
- scaleX = xAxis.transA / baseTrans.transAX;
267
- scaleY = yAxis.transA / baseTrans.transAY;
268
- translateX = xAxis.toPixels(baseTrans.originX, true);
269
- translateY = yAxis.toPixels(baseTrans.originY, true);
270
- // Handle rounding errors in normal view (#3789)
271
- if (scaleX > 0.99 &&
272
- scaleX < 1.01 &&
273
- scaleY > 0.99 &&
274
- scaleY < 1.01) {
275
- scaleX = 1;
276
- scaleY = 1;
277
- translateX = Math.round(translateX);
278
- translateY = Math.round(translateY);
279
- }
280
- /* Animate or move to the new zoom level. In order to prevent
281
- flickering as the different transform components are set out
282
- of sync (#5991), we run a fake animator attribute and set
283
- scale and translation synchronously in the same step.
250
+ // Apply the SVG transform
251
+ if (mapView && svgTransform) {
252
+ var strokeWidth_1 = pick(this.options[(this.pointAttrToOptions &&
253
+ this.pointAttrToOptions['stroke-width']) || 'borderWidth'], 1 // Styled mode
254
+ );
255
+ /*
256
+ Animate or move to the new zoom level. In order to prevent
257
+ flickering as the different transform components are set out of sync
258
+ (#5991), we run a fake animator attribute and set scale and
259
+ translation synchronously in the same step.
284
260
 
285
- A possible improvement to the API would be to handle this in
286
- the renderer or animation engine itself, to ensure that when
287
- we are animating multiple properties, we make sure that each
288
- step for each property is performed in the same step. Also,
289
- for symbols and for transform properties, it should induce a
290
- single updateTransform and symbolAttr call. */
291
- transformGroup = this.transformGroup;
292
- if (chart.renderer.globalAnimation) {
293
- startTranslateX = transformGroup.attr('translateX');
294
- startTranslateY = transformGroup.attr('translateY');
295
- startScaleX = transformGroup.attr('scaleX');
296
- startScaleY = transformGroup.attr('scaleY');
297
- transformGroup
261
+ A possible improvement to the API would be to handle this in the
262
+ renderer or animation engine itself, to ensure that when we are
263
+ animating multiple properties, we make sure that each step for each
264
+ property is performed in the same step. Also, for symbols and for
265
+ transform properties, it should induce a single updateTransform and
266
+ symbolAttr call.
267
+ */
268
+ var scale_1 = svgTransform.scaleX;
269
+ var flipFactor_1 = svgTransform.scaleY > 0 ? 1 : -1;
270
+ var transformGroup_1 = this.transformGroup;
271
+ if (renderer.globalAnimation && chart.hasRendered) {
272
+ var startTranslateX_1 = Number(transformGroup_1.attr('translateX')), startTranslateY_1 = Number(transformGroup_1.attr('translateY')), startScale_1 = Number(transformGroup_1.attr('scaleX'));
273
+ var step = function (now, fx) {
274
+ var scaleStep = startScale_1 +
275
+ (scale_1 - startScale_1) * fx.pos;
276
+ transformGroup_1.attr({
277
+ translateX: (startTranslateX_1 +
278
+ (svgTransform.translateX - startTranslateX_1) * fx.pos),
279
+ translateY: (startTranslateY_1 +
280
+ (svgTransform.translateY - startTranslateY_1) * fx.pos),
281
+ scaleX: scaleStep,
282
+ scaleY: scaleStep * flipFactor_1
283
+ });
284
+ group.element.setAttribute('stroke-width', strokeWidth_1 / scaleStep);
285
+ };
286
+ transformGroup_1
298
287
  .attr({ animator: 0 })
299
- .animate({
300
- animator: 1
301
- }, {
302
- step: function (now, fx) {
303
- transformGroup.attr({
304
- translateX: (startTranslateX +
305
- (translateX - startTranslateX) * fx.pos),
306
- translateY: (startTranslateY +
307
- (translateY - startTranslateY) * fx.pos),
308
- scaleX: (startScaleX +
309
- (scaleX - startScaleX) *
310
- fx.pos),
311
- scaleY: (startScaleY +
312
- (scaleY - startScaleY) * fx.pos)
313
- });
314
- }
315
- });
316
- // When dragging, animation is off.
288
+ .animate({ animator: 1 }, { step: step });
289
+ // When dragging or first rendering, animation is off
317
290
  }
318
291
  else {
319
- transformGroup.attr({
320
- translateX: translateX,
321
- translateY: translateY,
322
- scaleX: scaleX,
323
- scaleY: scaleY
324
- });
292
+ transformGroup_1.attr(svgTransform);
293
+ // Set the stroke-width directly on the group element so the
294
+ // children inherit it. We need to use setAttribute directly,
295
+ // because the stroke-widthSetter method expects a stroke color
296
+ // also to be set.
297
+ group.element.setAttribute('stroke-width', strokeWidth_1 / scale_1);
325
298
  }
326
299
  }
327
- /* Set the stroke-width directly on the group element so the
328
- children inherit it. We need to use setAttribute directly,
329
- because the stroke-widthSetter method expects a stroke color also
330
- to be set. */
331
- if (!chart.styledMode) {
332
- group.element.setAttribute('stroke-width', (pick(series.options[(series.pointAttrToOptions &&
333
- series.pointAttrToOptions['stroke-width']) || 'borderWidth'], 1 // Styled mode
334
- ) / (scaleX || 1)));
335
- }
336
300
  this.drawMapDataLabels();
337
301
  };
338
302
  /**
339
303
  * Get the bounding box of all paths in the map combined.
340
- * @private
304
+ *
341
305
  */
342
- MapSeries.prototype.getBox = function (paths) {
343
- var MAX_VALUE = Number.MAX_VALUE, maxX = -MAX_VALUE, minX = MAX_VALUE, maxY = -MAX_VALUE, minY = MAX_VALUE, minRange = MAX_VALUE, xAxis = this.xAxis, yAxis = this.yAxis, hasBox;
344
- // Find the bounding box
345
- (paths || []).forEach(function (point) {
346
- if (point.path) {
347
- if (typeof point.path === 'string') {
348
- point.path = splitPath(point.path);
349
- // Legacy one-dimensional array
350
- }
351
- else if (point.path[0] === 'M') {
352
- point.path = SVGRenderer.prototype.pathToSegments(point.path);
353
- }
354
- var path = point.path || [], pointMaxX_1 = -MAX_VALUE, pointMinX_1 = MAX_VALUE, pointMaxY_1 = -MAX_VALUE, pointMinY_1 = MAX_VALUE, properties = point.properties;
355
- // The first time a map point is used, analyze its box
356
- if (!point._foundBox) {
357
- path.forEach(function (seg) {
358
- var x = seg[seg.length - 2];
359
- var y = seg[seg.length - 1];
360
- if (typeof x === 'number' && typeof y === 'number') {
361
- pointMinX_1 = Math.min(pointMinX_1, x);
362
- pointMaxX_1 = Math.max(pointMaxX_1, x);
363
- pointMinY_1 = Math.min(pointMinY_1, y);
364
- pointMaxY_1 = Math.max(pointMaxY_1, y);
306
+ MapSeries.prototype.getProjectedBounds = function () {
307
+ if (!this.bounds) {
308
+ var MAX_VALUE_1 = Number.MAX_VALUE, projection_1 = this.chart.mapView &&
309
+ this.chart.mapView.projection, allBounds_1 = [];
310
+ // Find the bounding box of each point
311
+ (this.points || []).forEach(function (point) {
312
+ if (point.path || point.geometry) {
313
+ // @todo Try to puth these two conversions in
314
+ // MapPoint.applyOptions
315
+ if (typeof point.path === 'string') {
316
+ point.path = splitPath(point.path);
317
+ // Legacy one-dimensional array
318
+ }
319
+ else if (isArray(point.path) &&
320
+ point.path[0] === 'M') {
321
+ point.path = SVGRenderer.prototype.pathToSegments(point.path);
322
+ }
323
+ // The first time a map point is used, analyze its box
324
+ if (!point.bounds) {
325
+ var path = MapPoint.getProjectedPath(point, projection_1), properties = point.properties;
326
+ var x2_1 = -MAX_VALUE_1, x1_1 = MAX_VALUE_1, y2_1 = -MAX_VALUE_1, y1_1 = MAX_VALUE_1, validBounds_1;
327
+ path.forEach(function (seg) {
328
+ var x = seg[seg.length - 2];
329
+ var y = seg[seg.length - 1];
330
+ if (typeof x === 'number' &&
331
+ typeof y === 'number') {
332
+ x1_1 = Math.min(x1_1, x);
333
+ x2_1 = Math.max(x2_1, x);
334
+ y1_1 = Math.min(y1_1, y);
335
+ y2_1 = Math.max(y2_1, y);
336
+ validBounds_1 = true;
337
+ }
338
+ });
339
+ if (validBounds_1) {
340
+ // Cache point bounding box for use to position data
341
+ // labels, bubbles etc
342
+ var propMiddleX = (properties && properties['hc-middle-x']), midX = (x1_1 + (x2_1 - x1_1) * pick(point.middleX, isNumber(propMiddleX) ?
343
+ propMiddleX : 0.5)), propMiddleY = (properties && properties['hc-middle-y']);
344
+ var middleYFraction = pick(point.middleY, isNumber(propMiddleY) ? propMiddleY : 0.5);
345
+ // No geographic geometry, only path given => flip
346
+ if (!point.geometry) {
347
+ middleYFraction = 1 - middleYFraction;
348
+ }
349
+ var midY = y2_1 - (y2_1 - y1_1) * middleYFraction;
350
+ point.bounds = { midX: midX, midY: midY, x1: x1_1, y1: y1_1, x2: x2_1, y2: y2_1 };
351
+ point.labelrank = pick(point.labelrank,
352
+ // Bigger shape, higher rank
353
+ (x2_1 - x1_1) * (y2_1 - y1_1));
365
354
  }
366
- });
367
- // Cache point bounding box for use to position data
368
- // labels, bubbles etc
369
- point._midX = (pointMinX_1 + (pointMaxX_1 - pointMinX_1) * pick(point.middleX, properties &&
370
- properties['hc-middle-x'], 0.5));
371
- point._midY = (pointMinY_1 + (pointMaxY_1 - pointMinY_1) * pick(point.middleY, properties &&
372
- properties['hc-middle-y'], 0.5));
373
- point._maxX = pointMaxX_1;
374
- point._minX = pointMinX_1;
375
- point._maxY = pointMaxY_1;
376
- point._minY = pointMinY_1;
377
- point.labelrank = pick(point.labelrank, (pointMaxX_1 - pointMinX_1) * (pointMaxY_1 - pointMinY_1));
378
- point._foundBox = true;
355
+ }
356
+ if (point.bounds) {
357
+ allBounds_1.push(point.bounds);
358
+ }
379
359
  }
380
- maxX = Math.max(maxX, point._maxX);
381
- minX = Math.min(minX, point._minX);
382
- maxY = Math.max(maxY, point._maxY);
383
- minY = Math.min(minY, point._minY);
384
- minRange = Math.min(point._maxX - point._minX, point._maxY - point._minY, minRange);
385
- hasBox = true;
386
- }
387
- });
388
- // Set the box for the whole series
389
- if (hasBox) {
390
- this.minY = Math.min(minY, pick(this.minY, MAX_VALUE));
391
- this.maxY = Math.max(maxY, pick(this.maxY, -MAX_VALUE));
392
- this.minX = Math.min(minX, pick(this.minX, MAX_VALUE));
393
- this.maxX = Math.max(maxX, pick(this.maxX, -MAX_VALUE));
394
- // If no minRange option is set, set the default minimum zooming
395
- // range to 5 times the size of the smallest element
396
- if (xAxis && typeof xAxis.options.minRange === 'undefined') {
397
- xAxis.minRange = Math.min(5 * minRange, (this.maxX - this.minX) / 5, xAxis.minRange || MAX_VALUE);
398
- }
399
- if (yAxis && typeof yAxis.options.minRange === 'undefined') {
400
- yAxis.minRange = Math.min(5 * minRange, (this.maxY - this.minY) / 5, yAxis.minRange || MAX_VALUE);
401
- }
402
- }
403
- };
404
- MapSeries.prototype.getExtremes = function () {
405
- // Get the actual value extremes for colors
406
- var _a = Series.prototype.getExtremes
407
- .call(this, this.valueData), dataMin = _a.dataMin, dataMax = _a.dataMax;
408
- // Recalculate box on updated data
409
- if (this.chart.hasRendered && this.isDirtyData) {
410
- this.getBox(this.options.data);
411
- }
412
- if (isNumber(dataMin)) {
413
- this.valueMin = dataMin;
414
- }
415
- if (isNumber(dataMax)) {
416
- this.valueMax = dataMax;
360
+ });
361
+ this.bounds = MapView.compositeBounds(allBounds_1);
417
362
  }
418
- // Extremes for the mock Y axis
419
- return { dataMin: this.minY, dataMax: this.maxY };
363
+ return this.bounds;
420
364
  };
421
365
  /**
422
366
  * Define hasData function for non-cartesian series. Returns true if the
@@ -433,32 +377,27 @@ var MapSeries = /** @class */ (function (_super) {
433
377
  * @private
434
378
  */
435
379
  MapSeries.prototype.pointAttribs = function (point, state) {
436
- var attr = point.series.chart.styledMode ?
380
+ var _a = point.series.chart, mapView = _a.mapView, styledMode = _a.styledMode;
381
+ var attr = styledMode ?
437
382
  this.colorAttribs(point) :
438
383
  ColumnSeries.prototype.pointAttribs.call(this, point, state);
439
- // Set the stroke-width on the group element and let all point
440
- // graphics inherit. That way we don't have to iterate over all
441
- // points to update the stroke-width on zooming.
442
- attr['stroke-width'] = pick(point.options[(this.pointAttrToOptions &&
443
- this.pointAttrToOptions['stroke-width']) || 'borderWidth'], 'inherit');
444
- return attr;
445
- };
446
- /**
447
- * Override render to throw in an async call in IE8. Otherwise it chokes on
448
- * the US counties demo.
449
- * @private
450
- */
451
- MapSeries.prototype.render = function () {
452
- var series = this, render = Series.prototype.render;
453
- // Give IE8 some time to breathe.
454
- if (series.chart.renderer.isVML && series.data.length > 3000) {
455
- setTimeout(function () {
456
- render.call(series);
457
- });
384
+ // Individual stroke width
385
+ var pointStrokeWidth = point.options[(this.pointAttrToOptions &&
386
+ this.pointAttrToOptions['stroke-width']) || 'borderWidth'];
387
+ if (pointStrokeWidth && mapView) {
388
+ pointStrokeWidth /= mapView.getScale();
458
389
  }
459
- else {
460
- render.call(series);
390
+ // In order for dash style to avoid being scaled, set the transformed
391
+ // stroke width on the item
392
+ if (attr.dashstyle && mapView && this.options.borderWidth) {
393
+ pointStrokeWidth = this.options.borderWidth / mapView.getScale();
461
394
  }
395
+ attr['stroke-width'] = pick(pointStrokeWidth,
396
+ // By default set the stroke-width on the group element and let all
397
+ // point graphics inherit. That way we don't have to iterate over
398
+ // all points to update the stroke-width on zooming.
399
+ 'inherit');
400
+ return attr;
462
401
  };
463
402
  /**
464
403
  * Extend setData to join in mapData. If the allAreas option is true, all
@@ -514,7 +453,7 @@ var MapSeries = /** @class */ (function (_super) {
514
453
  }
515
454
  });
516
455
  }
517
- this.getBox(data);
456
+ // this.getBox(data as any);
518
457
  // Pick up transform definitions for chart
519
458
  this.chart.mapTransforms = mapTransforms =
520
459
  chartOptions.mapTransforms ||
@@ -558,7 +497,7 @@ var MapSeries = /** @class */ (function (_super) {
558
497
  });
559
498
  }
560
499
  if (options.allAreas) {
561
- this.getBox(mapData);
500
+ // this.getBox(mapData);
562
501
  data = data || [];
563
502
  // Registered the point codes that actually hold data
564
503
  if (joinBy[1]) {
@@ -582,12 +521,13 @@ var MapSeries = /** @class */ (function (_super) {
582
521
  updatePoints = false;
583
522
  }
584
523
  });
585
- }
586
- else {
524
+ } /* else {
587
525
  this.getBox(dataUsed); // Issue #4784
588
- }
526
+ } */
589
527
  }
590
528
  Series.prototype.setData.call(this, data, redraw, animation, updatePoints);
529
+ this.processData();
530
+ this.generatePoints();
591
531
  };
592
532
  /**
593
533
  * Extend setOptions by picking up the joinBy option and applying it to a
@@ -611,74 +551,51 @@ var MapSeries = /** @class */ (function (_super) {
611
551
  * @private
612
552
  */
613
553
  MapSeries.prototype.translate = function () {
614
- var series = this, xAxis = series.xAxis, yAxis = series.yAxis, doFullTranslate = series.doFullTranslate();
615
- series.generatePoints();
616
- series.data.forEach(function (point) {
554
+ var series = this, doFullTranslate = series.doFullTranslate(), mapView = this.chart.mapView, projection = mapView && mapView.projection;
555
+ // Recalculate box on updated data
556
+ if (this.chart.hasRendered && (this.isDirtyData || !this.hasRendered)) {
557
+ this.processData();
558
+ this.generatePoints();
559
+ delete this.bounds;
560
+ this.getProjectedBounds();
561
+ }
562
+ // Calculate the SVG transform
563
+ var svgTransform;
564
+ if (mapView) {
565
+ var scale = mapView.getScale();
566
+ var _a = mapView.projection.forward(mapView.center), x = _a[0], y = _a[1];
567
+ // When dealing with unprojected coordinates, y axis is flipped.
568
+ var flipFactor = mapView.projection.hasCoordinates ? -1 : 1;
569
+ var translateX = this.chart.plotWidth / 2 - x * scale, translateY = this.chart.plotHeight / 2 - y * scale * flipFactor;
570
+ svgTransform = {
571
+ scaleX: scale,
572
+ scaleY: scale * flipFactor,
573
+ translateX: translateX,
574
+ translateY: translateY
575
+ };
576
+ this.svgTransform = svgTransform;
577
+ }
578
+ series.points.forEach(function (point) {
617
579
  // Record the middle point (loosely based on centroid),
618
580
  // determined by the middleX and middleY options.
619
- if (isNumber(point._midX) && isNumber(point._midY)) {
620
- point.plotX = xAxis.toPixels(point._midX, true);
621
- point.plotY = yAxis.toPixels(point._midY, true);
581
+ if (svgTransform &&
582
+ point.bounds &&
583
+ isNumber(point.bounds.midX) &&
584
+ isNumber(point.bounds.midY)) {
585
+ point.plotX = point.bounds.midX * svgTransform.scaleX +
586
+ svgTransform.translateX;
587
+ point.plotY = point.bounds.midY * svgTransform.scaleY +
588
+ svgTransform.translateY;
622
589
  }
623
590
  if (doFullTranslate) {
624
591
  point.shapeType = 'path';
625
592
  point.shapeArgs = {
626
- d: series.translatePath(point.path)
593
+ d: MapPoint.getProjectedPath(point, projection)
627
594
  };
628
595
  }
629
596
  });
630
597
  fireEvent(series, 'afterTranslate');
631
598
  };
632
- /**
633
- * Translate the path, so it automatically fits into the plot area box.
634
- * @private
635
- */
636
- MapSeries.prototype.translatePath = function (path) {
637
- var series = this, xAxis = series.xAxis, yAxis = series.yAxis, xMin = xAxis.min, xTransA = xAxis.transA, xMinPixelPadding = xAxis.minPixelPadding, yMin = yAxis.min, yTransA = yAxis.transA, yMinPixelPadding = yAxis.minPixelPadding, ret = []; // Preserve the original
638
- // Do the translation
639
- if (path) {
640
- path.forEach(function (seg) {
641
- if (seg[0] === 'M') {
642
- ret.push([
643
- 'M',
644
- (seg[1] - (xMin || 0)) * xTransA + xMinPixelPadding,
645
- (seg[2] - (yMin || 0)) * yTransA + yMinPixelPadding
646
- ]);
647
- }
648
- else if (seg[0] === 'L') {
649
- ret.push([
650
- 'L',
651
- (seg[1] - (xMin || 0)) * xTransA + xMinPixelPadding,
652
- (seg[2] - (yMin || 0)) * yTransA + yMinPixelPadding
653
- ]);
654
- }
655
- else if (seg[0] === 'C') {
656
- ret.push([
657
- 'C',
658
- (seg[1] - (xMin || 0)) * xTransA + xMinPixelPadding,
659
- (seg[2] - (yMin || 0)) * yTransA + yMinPixelPadding,
660
- (seg[3] - (xMin || 0)) * xTransA + xMinPixelPadding,
661
- (seg[4] - (yMin || 0)) * yTransA + yMinPixelPadding,
662
- (seg[5] - (xMin || 0)) * xTransA + xMinPixelPadding,
663
- (seg[6] - (yMin || 0)) * yTransA + yMinPixelPadding
664
- ]);
665
- }
666
- else if (seg[0] === 'Q') {
667
- ret.push([
668
- 'Q',
669
- (seg[1] - (xMin || 0)) * xTransA + xMinPixelPadding,
670
- (seg[2] - (yMin || 0)) * yTransA + yMinPixelPadding,
671
- (seg[3] - (xMin || 0)) * xTransA + xMinPixelPadding,
672
- (seg[4] - (yMin || 0)) * yTransA + yMinPixelPadding
673
- ]);
674
- }
675
- else if (seg[0] === 'Z') {
676
- ret.push(['Z']);
677
- }
678
- });
679
- }
680
- return ret;
681
- };
682
599
  /**
683
600
  * The map series is used for basic choropleth maps, where each map area has
684
601
  * a color based on its value.
@@ -724,7 +641,7 @@ var MapSeries = /** @class */ (function (_super) {
724
641
  *
725
642
  * @private
726
643
  */
727
- nullColor: palette.neutralColor3,
644
+ nullColor: "#f7f7f7" /* neutralColor3 */,
728
645
  /**
729
646
  * Whether to allow pointer interaction like tooltips and mouse events
730
647
  * on null points.
@@ -778,7 +695,7 @@ var MapSeries = /** @class */ (function (_super) {
778
695
  *
779
696
  * @private
780
697
  */
781
- borderColor: palette.neutralColor20,
698
+ borderColor: "#cccccc" /* neutralColor20 */,
782
699
  /**
783
700
  * The border width of each map area.
784
701
  *
@@ -909,11 +826,11 @@ var MapSeries = /** @class */ (function (_super) {
909
826
  select: {
910
827
  /**
911
828
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
912
- * @default ${palette.neutralColor20}
829
+ * @default #cccccc
913
830
  * @product highmaps
914
831
  * @apioption plotOptions.series.states.select.color
915
832
  */
916
- color: palette.neutralColor20
833
+ color: "#cccccc" /* neutralColor20 */
917
834
  },
918
835
  inactive: {
919
836
  opacity: 1
@@ -924,9 +841,9 @@ var MapSeries = /** @class */ (function (_super) {
924
841
  }(ScatterSeries));
925
842
  extend(MapSeries.prototype, {
926
843
  type: 'map',
927
- axisTypes: colorMapSeriesMixin.axisTypes,
928
- colorAttribs: colorMapSeriesMixin.colorAttribs,
929
- colorKey: colorMapSeriesMixin.colorKey,
844
+ axisTypes: ColorMapMixin.SeriesMixin.axisTypes,
845
+ colorAttribs: ColorMapMixin.SeriesMixin.colorAttribs,
846
+ colorKey: ColorMapMixin.SeriesMixin.colorKey,
930
847
  // When tooltip is not shared, this series (and derivatives) requires
931
848
  // direct touch/hover. KD-tree does not apply.
932
849
  directTouch: true,
@@ -937,15 +854,17 @@ extend(MapSeries.prototype, {
937
854
  drawGraph: noop,
938
855
  drawLegendSymbol: LegendSymbol.drawRectangle,
939
856
  forceDL: true,
857
+ getCenter: CU.getCenter,
940
858
  getExtremesFromAll: true,
941
- getSymbol: colorMapSeriesMixin.getSymbol,
942
- parallelArrays: colorMapSeriesMixin.parallelArrays,
943
- pointArrayMap: colorMapSeriesMixin.pointArrayMap,
859
+ getSymbol: ColorMapMixin.SeriesMixin.getSymbol,
860
+ isCartesian: false,
861
+ parallelArrays: ColorMapMixin.SeriesMixin.parallelArrays,
862
+ pointArrayMap: ColorMapMixin.SeriesMixin.pointArrayMap,
944
863
  pointClass: MapPoint,
945
864
  // X axis and Y axis must have same translation slope
946
865
  preserveAspectRatio: true,
947
866
  searchPoint: noop,
948
- trackerGroups: colorMapSeriesMixin.trackerGroups,
867
+ trackerGroups: ColorMapMixin.SeriesMixin.trackerGroups,
949
868
  // Get axis extremes from paths, not values
950
869
  useMapGeometry: true
951
870
  });
@@ -962,8 +881,8 @@ export default MapSeries;
962
881
  *
963
882
  * */
964
883
  /**
965
- * A map data object containing a `path` definition and optionally additional
966
- * properties to join in the data as per the `joinBy` option.
884
+ * A map data object containing a `geometry` or `path` definition and optionally
885
+ * additional properties to join in the `data` as per the `joinBy` option.
967
886
  *
968
887
  * @sample maps/demo/category-map/
969
888
  * Map data and joinBy
@@ -1054,6 +973,45 @@ export default MapSeries;
1054
973
  * @product highmaps
1055
974
  * @apioption series.map.data.drilldown
1056
975
  */
976
+ /**
977
+ * For map and mapline series types, the geometry of a point.
978
+ *
979
+ * To achieve a better separation between the structure and the data,
980
+ * it is recommended to use `mapData` to define the geometry instead
981
+ * of defining it on the data points themselves.
982
+ *
983
+ * The geometry object is compatible to that of a `feature` in geoJSON, so
984
+ * features of geoJSON can be passed directly into the `data`, optionally
985
+ * after first filtering and processing it.
986
+ *
987
+ * @sample maps/series/data-geometry/
988
+ * Geometry defined in data
989
+ *
990
+ * @type {Object}
991
+ * @since 9.3.0
992
+ * @product highmaps
993
+ * @apioption series.map.data.geometry
994
+ */
995
+ /**
996
+ * The geometry type. Can be one of `LineString`, `Polygon`, `MultiLineString`
997
+ * or `MultiPolygon`.
998
+ *
999
+ * @type {string}
1000
+ * @since 9.3.0
1001
+ * @product highmaps
1002
+ * @validvalue ["LineString", "Polygon", "MultiLineString", "MultiPolygon"]
1003
+ * @apioption series.map.data.geometry.type
1004
+ */
1005
+ /**
1006
+ * The geometry coordinates in terms of arrays of `[longitude, latitude]`, or
1007
+ * a two dimensional array of the same. The dimensionality must comply with the
1008
+ * `type`.
1009
+ *
1010
+ * @type {Array<LonLatArray>|Array<Array<LonLatArray>>}
1011
+ * @since 9.3.0
1012
+ * @product highmaps
1013
+ * @apioption series.map.data.geometry.coordinates
1014
+ */
1057
1015
  /**
1058
1016
  * An id for the point. This can be used after render time to get a
1059
1017
  * pointer to the point object through `chart.get()`.
@@ -1115,6 +1073,9 @@ export default MapSeries;
1115
1073
  * it is recommended to use `mapData` to define that paths instead
1116
1074
  * of defining them on the data points themselves.
1117
1075
  *
1076
+ * For providing true geographical shapes based on longitude and latitude, use
1077
+ * the `geometry` option instead.
1078
+ *
1118
1079
  * @sample maps/series/data-path/
1119
1080
  * Paths defined in data
1120
1081
  *