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 Highcharts JS v8.1.0 (2020-05-05)
2
+ * @license Highcharts JS v8.2.2 (2020-10-22)
3
3
  *
4
4
  * Old IE (v6, v7, v8) module for Highcharts v6+.
5
5
  *
@@ -29,7 +29,1382 @@
29
29
  obj[path] = fn.apply(null, args);
30
30
  }
31
31
  }
32
- _registerModule(_modules, 'modules/oldie.src.js', [_modules['parts/Globals.js'], _modules['parts/Color.js'], _modules['parts/Utilities.js']], function (H, Color, U) {
32
+ _registerModule(_modules, 'Extensions/Math3D.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (H, U) {
33
+ /* *
34
+ *
35
+ * (c) 2010-2020 Torstein Honsi
36
+ *
37
+ * License: www.highcharts.com/license
38
+ *
39
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
40
+ *
41
+ * */
42
+ var pick = U.pick;
43
+ // Mathematical Functionility
44
+ var deg2rad = H.deg2rad;
45
+ /* eslint-disable max-len */
46
+ /**
47
+ * Apply 3-D rotation
48
+ * Euler Angles (XYZ):
49
+ * cosA = cos(Alfa|Roll)
50
+ * cosB = cos(Beta|Pitch)
51
+ * cosG = cos(Gamma|Yaw)
52
+ *
53
+ * Composite rotation:
54
+ * | cosB * cosG | cosB * sinG | -sinB |
55
+ * | sinA * sinB * cosG - cosA * sinG | sinA * sinB * sinG + cosA * cosG | sinA * cosB |
56
+ * | cosA * sinB * cosG + sinA * sinG | cosA * sinB * sinG - sinA * cosG | cosA * cosB |
57
+ *
58
+ * Now, Gamma/Yaw is not used (angle=0), so we assume cosG = 1 and sinG = 0, so
59
+ * we get:
60
+ * | cosB | 0 | - sinB |
61
+ * | sinA * sinB | cosA | sinA * cosB |
62
+ * | cosA * sinB | - sinA | cosA * cosB |
63
+ *
64
+ * But in browsers, y is reversed, so we get sinA => -sinA. The general result
65
+ * is:
66
+ * | cosB | 0 | - sinB | | x | | px |
67
+ * | - sinA * sinB | cosA | - sinA * cosB | x | y | = | py |
68
+ * | cosA * sinB | sinA | cosA * cosB | | z | | pz |
69
+ *
70
+ * @private
71
+ * @function rotate3D
72
+ */
73
+ /* eslint-enable max-len */
74
+ /**
75
+ * @private
76
+ * @param {number} x
77
+ * X coordinate
78
+ * @param {number} y
79
+ * Y coordinate
80
+ * @param {number} z
81
+ * Z coordinate
82
+ * @param {Highcharts.Rotation3dObject} angles
83
+ * Rotation angles
84
+ * @return {Highcharts.Rotation3dObject}
85
+ * Rotated position
86
+ */
87
+ function rotate3D(x, y, z, angles) {
88
+ return {
89
+ x: angles.cosB * x - angles.sinB * z,
90
+ y: -angles.sinA * angles.sinB * x + angles.cosA * y -
91
+ angles.cosB * angles.sinA * z,
92
+ z: angles.cosA * angles.sinB * x + angles.sinA * y +
93
+ angles.cosA * angles.cosB * z
94
+ };
95
+ }
96
+ /**
97
+ * Perspective3D function is available in global Highcharts scope because is
98
+ * needed also outside of perspective() function (#8042).
99
+ * @private
100
+ * @function Highcharts.perspective3D
101
+ *
102
+ * @param {Highcharts.Position3dObject} coordinate
103
+ * 3D position
104
+ *
105
+ * @param {Highcharts.Position3dObject} origin
106
+ * 3D root position
107
+ *
108
+ * @param {number} distance
109
+ * Perspective distance
110
+ *
111
+ * @return {Highcharts.PositionObject}
112
+ * Perspective 3D Position
113
+ *
114
+ * @requires highcharts-3d
115
+ */
116
+ var perspective3D = H.perspective3D = function (coordinate,
117
+ origin,
118
+ distance) {
119
+ var projection = ((distance > 0) && (distance < Number.POSITIVE_INFINITY)) ?
120
+ distance / (coordinate.z + origin.z + distance) :
121
+ 1;
122
+ return {
123
+ x: coordinate.x * projection,
124
+ y: coordinate.y * projection
125
+ };
126
+ };
127
+ /**
128
+ * Transforms a given array of points according to the angles in chart.options.
129
+ *
130
+ * @private
131
+ * @function Highcharts.perspective
132
+ *
133
+ * @param {Array<Highcharts.Position3dObject>} points
134
+ * The array of points
135
+ *
136
+ * @param {Highcharts.Chart} chart
137
+ * The chart
138
+ *
139
+ * @param {boolean} [insidePlotArea]
140
+ * Whether to verifiy that the points are inside the plotArea
141
+ *
142
+ * @param {boolean} [useInvertedPersp]
143
+ * Whether to use inverted perspective in calculations
144
+ *
145
+ * @return {Array<Highcharts.Position3dObject>}
146
+ * An array of transformed points
147
+ *
148
+ * @requires highcharts-3d
149
+ */
150
+ var perspective = H.perspective = function (points,
151
+ chart,
152
+ insidePlotArea,
153
+ useInvertedPersp) {
154
+ var options3d = chart.options.chart.options3d,
155
+ /* The useInvertedPersp argument is used for
156
+ * inverted charts with already inverted elements,
157
+ * such as dataLabels or tooltip positions.
158
+ */
159
+ inverted = pick(useInvertedPersp,
160
+ insidePlotArea ? chart.inverted : false),
161
+ origin = {
162
+ x: chart.plotWidth / 2,
163
+ y: chart.plotHeight / 2,
164
+ z: options3d.depth / 2,
165
+ vd: pick(options3d.depth, 1) * pick(options3d.viewDistance, 0)
166
+ },
167
+ scale = chart.scale3d || 1,
168
+ beta = deg2rad * options3d.beta * (inverted ? -1 : 1),
169
+ alpha = deg2rad * options3d.alpha * (inverted ? -1 : 1),
170
+ angles = {
171
+ cosA: Math.cos(alpha),
172
+ cosB: Math.cos(-beta),
173
+ sinA: Math.sin(alpha),
174
+ sinB: Math.sin(-beta)
175
+ };
176
+ if (!insidePlotArea) {
177
+ origin.x += chart.plotLeft;
178
+ origin.y += chart.plotTop;
179
+ }
180
+ // Transform each point
181
+ return points.map(function (point) {
182
+ var rotated = rotate3D((inverted ? point.y : point.x) - origin.x, (inverted ? point.x : point.y) - origin.y, (point.z || 0) - origin.z,
183
+ angles),
184
+ // Apply perspective
185
+ coordinate = perspective3D(rotated,
186
+ origin,
187
+ origin.vd);
188
+ // Apply translation
189
+ coordinate.x = coordinate.x * scale + origin.x;
190
+ coordinate.y = coordinate.y * scale + origin.y;
191
+ coordinate.z = rotated.z * scale + origin.z;
192
+ return {
193
+ x: (inverted ? coordinate.y : coordinate.x),
194
+ y: (inverted ? coordinate.x : coordinate.y),
195
+ z: coordinate.z
196
+ };
197
+ });
198
+ };
199
+ /**
200
+ * Calculate a distance from camera to points - made for calculating zIndex of
201
+ * scatter points.
202
+ *
203
+ * @private
204
+ * @function Highcharts.pointCameraDistance
205
+ *
206
+ * @param {Highcharts.Dictionary<number>} coordinates
207
+ * Coordinates of the specific point
208
+ *
209
+ * @param {Highcharts.Chart} chart
210
+ * Related chart
211
+ *
212
+ * @return {number}
213
+ * Distance from camera to point
214
+ *
215
+ * @requires highcharts-3d
216
+ */
217
+ var pointCameraDistance = H.pointCameraDistance = function (coordinates,
218
+ chart) {
219
+ var options3d = chart.options.chart.options3d,
220
+ cameraPosition = {
221
+ x: chart.plotWidth / 2,
222
+ y: chart.plotHeight / 2,
223
+ z: pick(options3d.depth, 1) * pick(options3d.viewDistance, 0) +
224
+ options3d.depth
225
+ },
226
+ // Added support for objects with plotX or x coordinates.
227
+ distance = Math.sqrt(Math.pow(cameraPosition.x - pick(coordinates.plotX,
228
+ coordinates.x), 2) +
229
+ Math.pow(cameraPosition.y - pick(coordinates.plotY,
230
+ coordinates.y), 2) +
231
+ Math.pow(cameraPosition.z - pick(coordinates.plotZ,
232
+ coordinates.z), 2));
233
+ return distance;
234
+ };
235
+ /**
236
+ * Calculate area of a 2D polygon using Shoelace algorithm
237
+ * https://en.wikipedia.org/wiki/Shoelace_formula
238
+ *
239
+ * @private
240
+ * @function Highcharts.shapeArea
241
+ *
242
+ * @param {Array<Highcharts.PositionObject>} vertexes
243
+ * 2D Polygon
244
+ *
245
+ * @return {number}
246
+ * Calculated area
247
+ *
248
+ * @requires highcharts-3d
249
+ */
250
+ var shapeArea = H.shapeArea = function (vertexes) {
251
+ var area = 0,
252
+ i,
253
+ j;
254
+ for (i = 0; i < vertexes.length; i++) {
255
+ j = (i + 1) % vertexes.length;
256
+ area += vertexes[i].x * vertexes[j].y - vertexes[j].x * vertexes[i].y;
257
+ }
258
+ return area / 2;
259
+ };
260
+ /**
261
+ * Calculate area of a 3D polygon after perspective projection
262
+ *
263
+ * @private
264
+ * @function Highcharts.shapeArea3d
265
+ *
266
+ * @param {Array<Highcharts.Position3dObject>} vertexes
267
+ * 3D Polygon
268
+ *
269
+ * @param {Highcharts.Chart} chart
270
+ * Related chart
271
+ *
272
+ * @param {boolean} [insidePlotArea]
273
+ * Whether to verifiy that the points are inside the plotArea
274
+ *
275
+ * @return {number}
276
+ * Calculated area
277
+ *
278
+ * @requires highcharts-3d
279
+ */
280
+ var shapeArea3D = H.shapeArea3d = function (vertexes,
281
+ chart,
282
+ insidePlotArea) {
283
+ return shapeArea(perspective(vertexes,
284
+ chart,
285
+ insidePlotArea));
286
+ };
287
+ var mathModule = {
288
+ perspective: perspective,
289
+ perspective3D: perspective3D,
290
+ pointCameraDistance: pointCameraDistance,
291
+ shapeArea: shapeArea,
292
+ shapeArea3D: shapeArea3D
293
+ };
294
+
295
+ return mathModule;
296
+ });
297
+ _registerModule(_modules, 'Core/Renderer/SVG/SVGRenderer3D.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Extensions/Math3D.js'], _modules['Core/Renderer/SVG/SVGElement.js'], _modules['Core/Renderer/SVG/SVGRenderer.js'], _modules['Core/Utilities.js']], function (A, Color, H, Math3D, SVGElement, SVGRenderer, U) {
298
+ /* *
299
+ *
300
+ * (c) 2010-2020 Torstein Honsi
301
+ *
302
+ * Extensions to the SVGRenderer class to enable 3D shapes
303
+ *
304
+ * License: www.highcharts.com/license
305
+ *
306
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
307
+ *
308
+ * */
309
+ var animObject = A.animObject;
310
+ var color = Color.parse;
311
+ var perspective = Math3D.perspective,
312
+ shapeArea = Math3D.shapeArea;
313
+ var defined = U.defined,
314
+ extend = U.extend,
315
+ merge = U.merge,
316
+ objectEach = U.objectEach,
317
+ pick = U.pick;
318
+ var cos = Math.cos,
319
+ PI = Math.PI,
320
+ sin = Math.sin;
321
+ var charts = H.charts,
322
+ deg2rad = H.deg2rad,
323
+ // internal:
324
+ dFactor,
325
+ element3dMethods,
326
+ cuboidMethods;
327
+ /*
328
+ EXTENSION TO THE SVG-RENDERER TO ENABLE 3D SHAPES
329
+ */
330
+ // HELPER METHODS
331
+ dFactor = (4 * (Math.sqrt(2) - 1) / 3) / (PI / 2);
332
+ /* eslint-disable no-invalid-this, valid-jsdoc */
333
+ /**
334
+ * Method to construct a curved path. Can 'wrap' around more then 180 degrees.
335
+ * @private
336
+ */
337
+ function curveTo(cx, cy, rx, ry, start, end, dx, dy) {
338
+ var result = [],
339
+ arcAngle = end - start;
340
+ if ((end > start) && (end - start > Math.PI / 2 + 0.0001)) {
341
+ result = result.concat(curveTo(cx, cy, rx, ry, start, start + (Math.PI / 2), dx, dy));
342
+ result = result.concat(curveTo(cx, cy, rx, ry, start + (Math.PI / 2), end, dx, dy));
343
+ return result;
344
+ }
345
+ if ((end < start) && (start - end > Math.PI / 2 + 0.0001)) {
346
+ result = result.concat(curveTo(cx, cy, rx, ry, start, start - (Math.PI / 2), dx, dy));
347
+ result = result.concat(curveTo(cx, cy, rx, ry, start - (Math.PI / 2), end, dx, dy));
348
+ return result;
349
+ }
350
+ return [[
351
+ 'C',
352
+ cx + (rx * Math.cos(start)) -
353
+ ((rx * dFactor * arcAngle) * Math.sin(start)) + dx,
354
+ cy + (ry * Math.sin(start)) +
355
+ ((ry * dFactor * arcAngle) * Math.cos(start)) + dy,
356
+ cx + (rx * Math.cos(end)) +
357
+ ((rx * dFactor * arcAngle) * Math.sin(end)) + dx,
358
+ cy + (ry * Math.sin(end)) -
359
+ ((ry * dFactor * arcAngle) * Math.cos(end)) + dy,
360
+ cx + (rx * Math.cos(end)) + dx,
361
+ cy + (ry * Math.sin(end)) + dy
362
+ ]];
363
+ }
364
+ SVGRenderer.prototype.toLinePath = function (points, closed) {
365
+ var result = [];
366
+ // Put "L x y" for each point
367
+ points.forEach(function (point) {
368
+ result.push(['L', point.x, point.y]);
369
+ });
370
+ if (points.length) {
371
+ // Set the first element to M
372
+ result[0][0] = 'M';
373
+ // If it is a closed line, add Z
374
+ if (closed) {
375
+ result.push(['Z']);
376
+ }
377
+ }
378
+ return result;
379
+ };
380
+ SVGRenderer.prototype.toLineSegments = function (points) {
381
+ var result = [],
382
+ m = true;
383
+ points.forEach(function (point) {
384
+ result.push(m ? ['M', point.x, point.y] : ['L', point.x, point.y]);
385
+ m = !m;
386
+ });
387
+ return result;
388
+ };
389
+ // A 3-D Face is defined by it's 3D vertexes, and is only visible if it's
390
+ // vertexes are counter-clockwise (Back-face culling). It is used as a
391
+ // polyhedron Element
392
+ SVGRenderer.prototype.face3d = function (args) {
393
+ var renderer = this,
394
+ ret = this.createElement('path');
395
+ ret.vertexes = [];
396
+ ret.insidePlotArea = false;
397
+ ret.enabled = true;
398
+ ret.attr = function (hash) {
399
+ if (typeof hash === 'object' &&
400
+ (defined(hash.enabled) ||
401
+ defined(hash.vertexes) ||
402
+ defined(hash.insidePlotArea))) {
403
+ this.enabled = pick(hash.enabled, this.enabled);
404
+ this.vertexes = pick(hash.vertexes, this.vertexes);
405
+ this.insidePlotArea = pick(hash.insidePlotArea, this.insidePlotArea);
406
+ delete hash.enabled;
407
+ delete hash.vertexes;
408
+ delete hash.insidePlotArea;
409
+ var chart = charts[renderer.chartIndex],
410
+ vertexes2d = perspective(this.vertexes,
411
+ chart,
412
+ this.insidePlotArea),
413
+ path = renderer.toLinePath(vertexes2d,
414
+ true),
415
+ area = shapeArea(vertexes2d),
416
+ visibility = (this.enabled && area > 0) ? 'visible' : 'hidden';
417
+ hash.d = path;
418
+ hash.visibility = visibility;
419
+ }
420
+ return SVGElement.prototype.attr.apply(this, arguments);
421
+ };
422
+ ret.animate = function (params) {
423
+ if (typeof params === 'object' &&
424
+ (defined(params.enabled) ||
425
+ defined(params.vertexes) ||
426
+ defined(params.insidePlotArea))) {
427
+ this.enabled = pick(params.enabled, this.enabled);
428
+ this.vertexes = pick(params.vertexes, this.vertexes);
429
+ this.insidePlotArea = pick(params.insidePlotArea, this.insidePlotArea);
430
+ delete params.enabled;
431
+ delete params.vertexes;
432
+ delete params.insidePlotArea;
433
+ var chart = charts[renderer.chartIndex],
434
+ vertexes2d = perspective(this.vertexes,
435
+ chart,
436
+ this.insidePlotArea),
437
+ path = renderer.toLinePath(vertexes2d,
438
+ true),
439
+ area = shapeArea(vertexes2d),
440
+ visibility = (this.enabled && area > 0) ? 'visible' : 'hidden';
441
+ params.d = path;
442
+ this.attr('visibility', visibility);
443
+ }
444
+ return SVGElement.prototype.animate.apply(this, arguments);
445
+ };
446
+ return ret.attr(args);
447
+ };
448
+ // A Polyhedron is a handy way of defining a group of 3-D faces. It's only
449
+ // attribute is `faces`, an array of attributes of each one of it's Face3D
450
+ // instances.
451
+ SVGRenderer.prototype.polyhedron = function (args) {
452
+ var renderer = this,
453
+ result = this.g(),
454
+ destroy = result.destroy;
455
+ if (!this.styledMode) {
456
+ result.attr({
457
+ 'stroke-linejoin': 'round'
458
+ });
459
+ }
460
+ result.faces = [];
461
+ // destroy all children
462
+ result.destroy = function () {
463
+ for (var i = 0; i < result.faces.length; i++) {
464
+ result.faces[i].destroy();
465
+ }
466
+ return destroy.call(this);
467
+ };
468
+ result.attr = function (hash, val, complete, continueAnimation) {
469
+ if (typeof hash === 'object' && defined(hash.faces)) {
470
+ while (result.faces.length > hash.faces.length) {
471
+ result.faces.pop().destroy();
472
+ }
473
+ while (result.faces.length < hash.faces.length) {
474
+ result.faces.push(renderer.face3d().add(result));
475
+ }
476
+ for (var i = 0; i < hash.faces.length; i++) {
477
+ if (renderer.styledMode) {
478
+ delete hash.faces[i].fill;
479
+ }
480
+ result.faces[i].attr(hash.faces[i], null, complete, continueAnimation);
481
+ }
482
+ delete hash.faces;
483
+ }
484
+ return SVGElement.prototype.attr.apply(this, arguments);
485
+ };
486
+ result.animate = function (params, duration, complete) {
487
+ if (params && params.faces) {
488
+ while (result.faces.length > params.faces.length) {
489
+ result.faces.pop().destroy();
490
+ }
491
+ while (result.faces.length < params.faces.length) {
492
+ result.faces.push(renderer.face3d().add(result));
493
+ }
494
+ for (var i = 0; i < params.faces.length; i++) {
495
+ result.faces[i].animate(params.faces[i], duration, complete);
496
+ }
497
+ delete params.faces;
498
+ }
499
+ return SVGElement.prototype.animate.apply(this, arguments);
500
+ };
501
+ return result.attr(args);
502
+ };
503
+ // Base, abstract prototype member for 3D elements
504
+ element3dMethods = {
505
+ /**
506
+ * The init is used by base - renderer.Element
507
+ * @private
508
+ */
509
+ initArgs: function (args) {
510
+ var elem3d = this,
511
+ renderer = elem3d.renderer,
512
+ paths = renderer[elem3d.pathType + 'Path'](args),
513
+ zIndexes = paths.zIndexes;
514
+ // build parts
515
+ elem3d.parts.forEach(function (part) {
516
+ elem3d[part] = renderer.path(paths[part]).attr({
517
+ 'class': 'highcharts-3d-' + part,
518
+ zIndex: zIndexes[part] || 0
519
+ }).add(elem3d);
520
+ });
521
+ elem3d.attr({
522
+ 'stroke-linejoin': 'round',
523
+ zIndex: zIndexes.group
524
+ });
525
+ // store original destroy
526
+ elem3d.originalDestroy = elem3d.destroy;
527
+ elem3d.destroy = elem3d.destroyParts;
528
+ // Store information if any side of element was rendered by force.
529
+ elem3d.forcedSides = paths.forcedSides;
530
+ },
531
+ /**
532
+ * Single property setter that applies options to each part
533
+ * @private
534
+ */
535
+ singleSetterForParts: function (prop, val, values, verb, duration, complete) {
536
+ var elem3d = this,
537
+ newAttr = {},
538
+ optionsToApply = [null,
539
+ null, (verb || 'attr'),
540
+ duration,
541
+ complete],
542
+ hasZIndexes = values && values.zIndexes;
543
+ if (!values) {
544
+ newAttr[prop] = val;
545
+ optionsToApply[0] = newAttr;
546
+ }
547
+ else {
548
+ // It is needed to deal with the whole group zIndexing
549
+ // in case of graph rotation
550
+ if (hasZIndexes && hasZIndexes.group) {
551
+ this.attr({
552
+ zIndex: hasZIndexes.group
553
+ });
554
+ }
555
+ objectEach(values, function (partVal, part) {
556
+ newAttr[part] = {};
557
+ newAttr[part][prop] = partVal;
558
+ // include zIndexes if provided
559
+ if (hasZIndexes) {
560
+ newAttr[part].zIndex = values.zIndexes[part] || 0;
561
+ }
562
+ });
563
+ optionsToApply[1] = newAttr;
564
+ }
565
+ return elem3d.processParts.apply(elem3d, optionsToApply);
566
+ },
567
+ /**
568
+ * Calls function for each part. Used for attr, animate and destroy.
569
+ * @private
570
+ */
571
+ processParts: function (props, partsProps, verb, duration, complete) {
572
+ var elem3d = this;
573
+ elem3d.parts.forEach(function (part) {
574
+ // if different props for different parts
575
+ if (partsProps) {
576
+ props = pick(partsProps[part], false);
577
+ }
578
+ // only if something to set, but allow undefined
579
+ if (props !== false) {
580
+ elem3d[part][verb](props, duration, complete);
581
+ }
582
+ });
583
+ return elem3d;
584
+ },
585
+ /**
586
+ * Destroy all parts
587
+ * @private
588
+ */
589
+ destroyParts: function () {
590
+ this.processParts(null, null, 'destroy');
591
+ return this.originalDestroy();
592
+ }
593
+ };
594
+ // CUBOID
595
+ cuboidMethods = merge(element3dMethods, {
596
+ parts: ['front', 'top', 'side'],
597
+ pathType: 'cuboid',
598
+ attr: function (args, val, complete, continueAnimation) {
599
+ // Resolve setting attributes by string name
600
+ if (typeof args === 'string' && typeof val !== 'undefined') {
601
+ var key = args;
602
+ args = {};
603
+ args[key] = val;
604
+ }
605
+ if (args.shapeArgs || defined(args.x)) {
606
+ return this.singleSetterForParts('d', null, this.renderer[this.pathType + 'Path'](args.shapeArgs || args));
607
+ }
608
+ return SVGElement.prototype.attr.call(this, args, void 0, complete, continueAnimation);
609
+ },
610
+ animate: function (args, duration, complete) {
611
+ if (defined(args.x) && defined(args.y)) {
612
+ var paths = this.renderer[this.pathType + 'Path'](args),
613
+ forcedSides = paths.forcedSides;
614
+ this.singleSetterForParts('d', null, paths, 'animate', duration, complete);
615
+ this.attr({
616
+ zIndex: paths.zIndexes.group
617
+ });
618
+ // If sides that are forced to render changed, recalculate colors.
619
+ if (forcedSides !== this.forcedSides) {
620
+ this.forcedSides = forcedSides;
621
+ cuboidMethods.fillSetter.call(this, this.fill);
622
+ }
623
+ }
624
+ else {
625
+ SVGElement.prototype.animate.call(this, args, duration, complete);
626
+ }
627
+ return this;
628
+ },
629
+ fillSetter: function (fill) {
630
+ var elem3d = this;
631
+ elem3d.forcedSides = elem3d.forcedSides || [];
632
+ elem3d.singleSetterForParts('fill', null, {
633
+ front: fill,
634
+ // Do not change color if side was forced to render.
635
+ top: color(fill).brighten(elem3d.forcedSides.indexOf('top') >= 0 ? 0 : 0.1).get(),
636
+ side: color(fill).brighten(elem3d.forcedSides.indexOf('side') >= 0 ? 0 : -0.1).get()
637
+ });
638
+ // fill for animation getter (#6776)
639
+ elem3d.color = elem3d.fill = fill;
640
+ return elem3d;
641
+ }
642
+ });
643
+ // set them up
644
+ SVGRenderer.prototype.elements3d = {
645
+ base: element3dMethods,
646
+ cuboid: cuboidMethods
647
+ };
648
+ /**
649
+ * return result, generalization
650
+ * @private
651
+ * @requires highcharts-3d
652
+ */
653
+ SVGRenderer.prototype.element3d = function (type, shapeArgs) {
654
+ // base
655
+ var ret = this.g();
656
+ // extend
657
+ extend(ret, this.elements3d[type]);
658
+ // init
659
+ ret.initArgs(shapeArgs);
660
+ // return
661
+ return ret;
662
+ };
663
+ // generelized, so now use simply
664
+ SVGRenderer.prototype.cuboid = function (shapeArgs) {
665
+ return this.element3d('cuboid', shapeArgs);
666
+ };
667
+ // Generates a cuboid path and zIndexes
668
+ SVGRenderer.prototype.cuboidPath = function (shapeArgs) {
669
+ var x = shapeArgs.x,
670
+ y = shapeArgs.y,
671
+ z = shapeArgs.z || 0,
672
+ // For side calculation (right/left)
673
+ // there is a need for height (and other shapeArgs arguments)
674
+ // to be at least 1px
675
+ h = shapeArgs.height,
676
+ w = shapeArgs.width,
677
+ d = shapeArgs.depth,
678
+ chart = charts[this.chartIndex],
679
+ front,
680
+ back,
681
+ top,
682
+ bottom,
683
+ left,
684
+ right,
685
+ shape,
686
+ path1,
687
+ path2,
688
+ path3,
689
+ isFront,
690
+ isTop,
691
+ isRight,
692
+ options3d = chart.options.chart.options3d,
693
+ alpha = options3d.alpha,
694
+ // Priority for x axis is the biggest,
695
+ // because of x direction has biggest influence on zIndex
696
+ incrementX = 1000000,
697
+ // y axis has the smallest priority in case of our charts
698
+ // (needs to be set because of stacking)
699
+ incrementY = 10,
700
+ incrementZ = 100,
701
+ zIndex = 0,
702
+ // The 8 corners of the cube
703
+ pArr = [{
704
+ x: x,
705
+ y: y,
706
+ z: z
707
+ }, {
708
+ x: x + w,
709
+ y: y,
710
+ z: z
711
+ }, {
712
+ x: x + w,
713
+ y: y + h,
714
+ z: z
715
+ }, {
716
+ x: x,
717
+ y: y + h,
718
+ z: z
719
+ }, {
720
+ x: x,
721
+ y: y + h,
722
+ z: z + d
723
+ }, {
724
+ x: x + w,
725
+ y: y + h,
726
+ z: z + d
727
+ }, {
728
+ x: x + w,
729
+ y: y,
730
+ z: z + d
731
+ }, {
732
+ x: x,
733
+ y: y,
734
+ z: z + d
735
+ }],
736
+ forcedSides = [],
737
+ pickShape;
738
+ // apply perspective
739
+ pArr = perspective(pArr, chart, shapeArgs.insidePlotArea);
740
+ /**
741
+ * helper method to decide which side is visible
742
+ * @private
743
+ */
744
+ function mapSidePath(i) {
745
+ // Added support for 0 value in columns, where height is 0
746
+ // but the shape is rendered.
747
+ // Height is used from 1st to 6th element of pArr
748
+ if (h === 0 && i > 1 && i < 6) { // [2, 3, 4, 5]
749
+ return {
750
+ x: pArr[i].x,
751
+ // when height is 0 instead of cuboid we render plane
752
+ // so it is needed to add fake 10 height to imitate cuboid
753
+ // for side calculation
754
+ y: pArr[i].y + 10,
755
+ z: pArr[i].z
756
+ };
757
+ }
758
+ // It is needed to calculate dummy sides (front/back) for breaking
759
+ // points in case of x and depth values. If column has side,
760
+ // it means that x values of front and back side are different.
761
+ if (pArr[0].x === pArr[7].x && i >= 4) { // [4, 5, 6, 7]
762
+ return {
763
+ x: pArr[i].x + 10,
764
+ // when height is 0 instead of cuboid we render plane
765
+ // so it is needed to add fake 10 height to imitate cuboid
766
+ // for side calculation
767
+ y: pArr[i].y,
768
+ z: pArr[i].z
769
+ };
770
+ }
771
+ // Added dummy depth
772
+ if (d === 0 && i < 2 || i > 5) { // [0, 1, 6, 7]
773
+ return {
774
+ x: pArr[i].x,
775
+ // when height is 0 instead of cuboid we render plane
776
+ // so it is needed to add fake 10 height to imitate cuboid
777
+ // for side calculation
778
+ y: pArr[i].y,
779
+ z: pArr[i].z + 10
780
+ };
781
+ }
782
+ return pArr[i];
783
+ }
784
+ /**
785
+ * method creating the final side
786
+ * @private
787
+ */
788
+ function mapPath(i) {
789
+ return pArr[i];
790
+ }
791
+ /**
792
+ * First value - path with specific face
793
+ * Second value - added information about side for later calculations.
794
+ * Possible second values are 0 for path1, 1 for path2 and -1 for no path
795
+ * chosen.
796
+ * Third value - string containing information about current side
797
+ * of cuboid for forcing side rendering.
798
+ * @private
799
+ */
800
+ pickShape = function (verticesIndex1, verticesIndex2, side) {
801
+ var ret = [[], -1],
802
+ // An array of vertices for cuboid face
803
+ face1 = verticesIndex1.map(mapPath),
804
+ face2 = verticesIndex2.map(mapPath),
805
+ // dummy face is calculated the same way as standard face,
806
+ // but if cuboid height is 0 additional height is added so it is
807
+ // possible to use this vertices array for visible face calculation
808
+ dummyFace1 = verticesIndex1.map(mapSidePath),
809
+ dummyFace2 = verticesIndex2.map(mapSidePath);
810
+ if (shapeArea(face1) < 0) {
811
+ ret = [face1, 0];
812
+ }
813
+ else if (shapeArea(face2) < 0) {
814
+ ret = [face2, 1];
815
+ }
816
+ else if (side) {
817
+ forcedSides.push(side);
818
+ if (shapeArea(dummyFace1) < 0) {
819
+ ret = [face1, 0];
820
+ }
821
+ else if (shapeArea(dummyFace2) < 0) {
822
+ ret = [face2, 1];
823
+ }
824
+ else {
825
+ ret = [face1, 0]; // force side calculation.
826
+ }
827
+ }
828
+ return ret;
829
+ };
830
+ // front or back
831
+ front = [3, 2, 1, 0];
832
+ back = [7, 6, 5, 4];
833
+ shape = pickShape(front, back, 'front');
834
+ path1 = shape[0];
835
+ isFront = shape[1];
836
+ // top or bottom
837
+ top = [1, 6, 7, 0];
838
+ bottom = [4, 5, 2, 3];
839
+ shape = pickShape(top, bottom, 'top');
840
+ path2 = shape[0];
841
+ isTop = shape[1];
842
+ // side
843
+ right = [1, 2, 5, 6];
844
+ left = [0, 7, 4, 3];
845
+ shape = pickShape(right, left, 'side');
846
+ path3 = shape[0];
847
+ isRight = shape[1];
848
+ /* New block used for calculating zIndex. It is basing on X, Y and Z
849
+ position of specific columns. All zIndexes (for X, Y and Z values) are
850
+ added to the final zIndex, where every value has different priority. The
851
+ biggest priority is in X and Z directions, the lowest index is for
852
+ stacked columns (Y direction and the same X and Z positions). Big
853
+ differences between priorities is made because we need to ensure that
854
+ even for big changes in Y and Z parameters all columns will be drawn
855
+ correctly. */
856
+ if (isRight === 1) {
857
+ // It is needed to connect value with current chart width
858
+ // for big chart size.
859
+ zIndex += incrementX * (chart.plotWidth - x);
860
+ }
861
+ else if (!isRight) {
862
+ zIndex += incrementX * x;
863
+ }
864
+ zIndex += incrementY * (!isTop ||
865
+ // Numbers checked empirically
866
+ (alpha >= 0 && alpha <= 180 || alpha < 360 && alpha > 357.5) ?
867
+ chart.plotHeight - y : 10 + y);
868
+ if (isFront === 1) {
869
+ zIndex += incrementZ * (z);
870
+ }
871
+ else if (!isFront) {
872
+ zIndex += incrementZ * (1000 - z);
873
+ }
874
+ return {
875
+ front: this.toLinePath(path1, true),
876
+ top: this.toLinePath(path2, true),
877
+ side: this.toLinePath(path3, true),
878
+ zIndexes: {
879
+ group: Math.round(zIndex)
880
+ },
881
+ forcedSides: forcedSides,
882
+ // additional info about zIndexes
883
+ isFront: isFront,
884
+ isTop: isTop
885
+ }; // #4774
886
+ };
887
+ // SECTORS //
888
+ SVGRenderer.prototype.arc3d = function (attribs) {
889
+ var wrapper = this.g(), renderer = wrapper.renderer, customAttribs = ['x', 'y', 'r', 'innerR', 'start', 'end', 'depth'];
890
+ /**
891
+ * Get custom attributes. Don't mutate the original object and return an
892
+ * object with only custom attr.
893
+ * @private
894
+ */
895
+ function suckOutCustom(params) {
896
+ var hasCA = false,
897
+ ca = {},
898
+ key;
899
+ params = merge(params); // Don't mutate the original object
900
+ for (key in params) {
901
+ if (customAttribs.indexOf(key) !== -1) {
902
+ ca[key] = params[key];
903
+ delete params[key];
904
+ hasCA = true;
905
+ }
906
+ }
907
+ return hasCA ? [ca, params] : false;
908
+ }
909
+ attribs = merge(attribs);
910
+ attribs.alpha = (attribs.alpha || 0) * deg2rad;
911
+ attribs.beta = (attribs.beta || 0) * deg2rad;
912
+ // Create the different sub sections of the shape
913
+ wrapper.top = renderer.path();
914
+ wrapper.side1 = renderer.path();
915
+ wrapper.side2 = renderer.path();
916
+ wrapper.inn = renderer.path();
917
+ wrapper.out = renderer.path();
918
+ // Add all faces
919
+ wrapper.onAdd = function () {
920
+ var parent = wrapper.parentGroup,
921
+ className = wrapper.attr('class');
922
+ wrapper.top.add(wrapper);
923
+ // These faces are added outside the wrapper group because the z index
924
+ // relates to neighbour elements as well
925
+ ['out', 'inn', 'side1', 'side2'].forEach(function (face) {
926
+ wrapper[face]
927
+ .attr({
928
+ 'class': className + ' highcharts-3d-side'
929
+ })
930
+ .add(parent);
931
+ });
932
+ };
933
+ // Cascade to faces
934
+ ['addClass', 'removeClass'].forEach(function (fn) {
935
+ wrapper[fn] = function () {
936
+ var args = arguments;
937
+ ['top', 'out', 'inn', 'side1', 'side2'].forEach(function (face) {
938
+ wrapper[face][fn].apply(wrapper[face], args);
939
+ });
940
+ };
941
+ });
942
+ /**
943
+ * Compute the transformed paths and set them to the composite shapes
944
+ * @private
945
+ */
946
+ wrapper.setPaths = function (attribs) {
947
+ var paths = wrapper.renderer.arc3dPath(attribs),
948
+ zIndex = paths.zTop * 100;
949
+ wrapper.attribs = attribs;
950
+ wrapper.top.attr({ d: paths.top, zIndex: paths.zTop });
951
+ wrapper.inn.attr({ d: paths.inn, zIndex: paths.zInn });
952
+ wrapper.out.attr({ d: paths.out, zIndex: paths.zOut });
953
+ wrapper.side1.attr({ d: paths.side1, zIndex: paths.zSide1 });
954
+ wrapper.side2.attr({ d: paths.side2, zIndex: paths.zSide2 });
955
+ // show all children
956
+ wrapper.zIndex = zIndex;
957
+ wrapper.attr({ zIndex: zIndex });
958
+ // Set the radial gradient center the first time
959
+ if (attribs.center) {
960
+ wrapper.top.setRadialReference(attribs.center);
961
+ delete attribs.center;
962
+ }
963
+ };
964
+ wrapper.setPaths(attribs);
965
+ /**
966
+ * Apply the fill to the top and a darker shade to the sides
967
+ * @private
968
+ */
969
+ wrapper.fillSetter = function (value) {
970
+ var darker = color(value).brighten(-0.1).get();
971
+ this.fill = value;
972
+ this.side1.attr({ fill: darker });
973
+ this.side2.attr({ fill: darker });
974
+ this.inn.attr({ fill: darker });
975
+ this.out.attr({ fill: darker });
976
+ this.top.attr({ fill: value });
977
+ return this;
978
+ };
979
+ // Apply the same value to all. These properties cascade down to the
980
+ // children when set to the composite arc3d.
981
+ ['opacity', 'translateX', 'translateY', 'visibility'].forEach(function (setter) {
982
+ wrapper[setter + 'Setter'] = function (value, key) {
983
+ wrapper[key] = value;
984
+ ['out', 'inn', 'side1', 'side2', 'top'].forEach(function (el) {
985
+ wrapper[el].attr(key, value);
986
+ });
987
+ };
988
+ });
989
+ // Override attr to remove shape attributes and use those to set child paths
990
+ wrapper.attr = function (params) {
991
+ var ca,
992
+ paramArr;
993
+ if (typeof params === 'object') {
994
+ paramArr = suckOutCustom(params);
995
+ if (paramArr) {
996
+ ca = paramArr[0];
997
+ arguments[0] = paramArr[1];
998
+ extend(wrapper.attribs, ca);
999
+ wrapper.setPaths(wrapper.attribs);
1000
+ }
1001
+ }
1002
+ return SVGElement.prototype.attr.apply(wrapper, arguments);
1003
+ };
1004
+ // Override the animate function by sucking out custom parameters related to
1005
+ // the shapes directly, and update the shapes from the animation step.
1006
+ wrapper.animate = function (params, animation, complete) {
1007
+ var paramArr,
1008
+ from = this.attribs,
1009
+ to,
1010
+ anim,
1011
+ randomProp = 'data-' + Math.random().toString(26).substring(2, 9);
1012
+ // Attribute-line properties connected to 3D. These shouldn't have been
1013
+ // in the attribs collection in the first place.
1014
+ delete params.center;
1015
+ delete params.z;
1016
+ delete params.alpha;
1017
+ delete params.beta;
1018
+ anim = animObject(pick(animation, this.renderer.globalAnimation));
1019
+ if (anim.duration) {
1020
+ paramArr = suckOutCustom(params);
1021
+ // Params need to have a property in order for the step to run
1022
+ // (#5765, #7097, #7437)
1023
+ wrapper[randomProp] = 0;
1024
+ params[randomProp] = 1;
1025
+ wrapper[randomProp + 'Setter'] = H.noop;
1026
+ if (paramArr) {
1027
+ to = paramArr[0]; // custom attr
1028
+ anim.step = function (a, fx) {
1029
+ /**
1030
+ * @private
1031
+ */
1032
+ function interpolate(key) {
1033
+ return from[key] + (pick(to[key], from[key]) -
1034
+ from[key]) * fx.pos;
1035
+ }
1036
+ if (fx.prop === randomProp) {
1037
+ fx.elem.setPaths(merge(from, {
1038
+ x: interpolate('x'),
1039
+ y: interpolate('y'),
1040
+ r: interpolate('r'),
1041
+ innerR: interpolate('innerR'),
1042
+ start: interpolate('start'),
1043
+ end: interpolate('end'),
1044
+ depth: interpolate('depth')
1045
+ }));
1046
+ }
1047
+ };
1048
+ }
1049
+ animation = anim; // Only when duration (#5572)
1050
+ }
1051
+ return SVGElement.prototype.animate.call(this, params, animation, complete);
1052
+ };
1053
+ // destroy all children
1054
+ wrapper.destroy = function () {
1055
+ this.top.destroy();
1056
+ this.out.destroy();
1057
+ this.inn.destroy();
1058
+ this.side1.destroy();
1059
+ this.side2.destroy();
1060
+ return SVGElement.prototype.destroy.call(this);
1061
+ };
1062
+ // hide all children
1063
+ wrapper.hide = function () {
1064
+ this.top.hide();
1065
+ this.out.hide();
1066
+ this.inn.hide();
1067
+ this.side1.hide();
1068
+ this.side2.hide();
1069
+ };
1070
+ wrapper.show = function (inherit) {
1071
+ this.top.show(inherit);
1072
+ this.out.show(inherit);
1073
+ this.inn.show(inherit);
1074
+ this.side1.show(inherit);
1075
+ this.side2.show(inherit);
1076
+ };
1077
+ return wrapper;
1078
+ };
1079
+ // Generate the paths required to draw a 3D arc
1080
+ SVGRenderer.prototype.arc3dPath = function (shapeArgs) {
1081
+ var cx = shapeArgs.x, // x coordinate of the center
1082
+ cy = shapeArgs.y, // y coordinate of the center
1083
+ start = shapeArgs.start, // start angle
1084
+ end = shapeArgs.end - 0.00001, // end angle
1085
+ r = shapeArgs.r, // radius
1086
+ ir = shapeArgs.innerR || 0, // inner radius
1087
+ d = shapeArgs.depth || 0, // depth
1088
+ alpha = shapeArgs.alpha, // alpha rotation of the chart
1089
+ beta = shapeArgs.beta; // beta rotation of the chart
1090
+ // Derived Variables
1091
+ var cs = Math.cos(start), // cosinus of the start angle
1092
+ ss = Math.sin(start), // sinus of the start angle
1093
+ ce = Math.cos(end), // cosinus of the end angle
1094
+ se = Math.sin(end), // sinus of the end angle
1095
+ rx = r * Math.cos(beta), // x-radius
1096
+ ry = r * Math.cos(alpha), // y-radius
1097
+ irx = ir * Math.cos(beta), // x-radius (inner)
1098
+ iry = ir * Math.cos(alpha), // y-radius (inner)
1099
+ dx = d * Math.sin(beta), // distance between top and bottom in x
1100
+ dy = d * Math.sin(alpha); // distance between top and bottom in y
1101
+ // TOP
1102
+ var top = [
1103
+ ['M',
1104
+ cx + (rx * cs),
1105
+ cy + (ry * ss)]
1106
+ ];
1107
+ top = top.concat(curveTo(cx, cy, rx, ry, start, end, 0, 0));
1108
+ top.push([
1109
+ 'L', cx + (irx * ce), cy + (iry * se)
1110
+ ]);
1111
+ top = top.concat(curveTo(cx, cy, irx, iry, end, start, 0, 0));
1112
+ top.push(['Z']);
1113
+ // OUTSIDE
1114
+ var b = (beta > 0 ? Math.PI / 2 : 0),
1115
+ a = (alpha > 0 ? 0 : Math.PI / 2);
1116
+ var start2 = start > -b ? start : (end > -b ? -b : start),
1117
+ end2 = end < PI - a ? end : (start < PI - a ? PI - a : end),
1118
+ midEnd = 2 * PI - a;
1119
+ // When slice goes over bottom middle, need to add both, left and right
1120
+ // outer side. Additionally, when we cross right hand edge, create sharp
1121
+ // edge. Outer shape/wall:
1122
+ //
1123
+ // -------
1124
+ // / ^ \
1125
+ // 4) / / \ \ 1)
1126
+ // / / \ \
1127
+ // / / \ \
1128
+ // (c)=> ==== ==== <=(d)
1129
+ // \ \ / /
1130
+ // \ \<=(a)/ /
1131
+ // \ \ / / <=(b)
1132
+ // 3) \ v / 2)
1133
+ // -------
1134
+ //
1135
+ // (a) - inner side
1136
+ // (b) - outer side
1137
+ // (c) - left edge (sharp)
1138
+ // (d) - right edge (sharp)
1139
+ // 1..n - rendering order for startAngle = 0, when set to e.g 90, order
1140
+ // changes clockwise (1->2, 2->3, n->1) and counterclockwise for negative
1141
+ // startAngle
1142
+ var out = [
1143
+ ['M',
1144
+ cx + (rx * cos(start2)),
1145
+ cy + (ry * sin(start2))]
1146
+ ];
1147
+ out = out.concat(curveTo(cx, cy, rx, ry, start2, end2, 0, 0));
1148
+ // When shape is wide, it can cross both, (c) and (d) edges, when using
1149
+ // startAngle
1150
+ if (end > midEnd && start < midEnd) {
1151
+ // Go to outer side
1152
+ out.push([
1153
+ 'L', cx + (rx * cos(end2)) + dx, cy + (ry * sin(end2)) + dy
1154
+ ]);
1155
+ // Curve to the right edge of the slice (d)
1156
+ out = out.concat(curveTo(cx, cy, rx, ry, end2, midEnd, dx, dy));
1157
+ // Go to the inner side
1158
+ out.push([
1159
+ 'L', cx + (rx * cos(midEnd)), cy + (ry * sin(midEnd))
1160
+ ]);
1161
+ // Curve to the true end of the slice
1162
+ out = out.concat(curveTo(cx, cy, rx, ry, midEnd, end, 0, 0));
1163
+ // Go to the outer side
1164
+ out.push([
1165
+ 'L', cx + (rx * cos(end)) + dx, cy + (ry * sin(end)) + dy
1166
+ ]);
1167
+ // Go back to middle (d)
1168
+ out = out.concat(curveTo(cx, cy, rx, ry, end, midEnd, dx, dy));
1169
+ out.push([
1170
+ 'L', cx + (rx * cos(midEnd)), cy + (ry * sin(midEnd))
1171
+ ]);
1172
+ // Go back to the left edge
1173
+ out = out.concat(curveTo(cx, cy, rx, ry, midEnd, end2, 0, 0));
1174
+ // But shape can cross also only (c) edge:
1175
+ }
1176
+ else if (end > PI - a && start < PI - a) {
1177
+ // Go to outer side
1178
+ out.push([
1179
+ 'L',
1180
+ cx + (rx * Math.cos(end2)) + dx,
1181
+ cy + (ry * Math.sin(end2)) + dy
1182
+ ]);
1183
+ // Curve to the true end of the slice
1184
+ out = out.concat(curveTo(cx, cy, rx, ry, end2, end, dx, dy));
1185
+ // Go to the inner side
1186
+ out.push([
1187
+ 'L', cx + (rx * Math.cos(end)), cy + (ry * Math.sin(end))
1188
+ ]);
1189
+ // Go back to the artifical end2
1190
+ out = out.concat(curveTo(cx, cy, rx, ry, end, end2, 0, 0));
1191
+ }
1192
+ out.push([
1193
+ 'L', cx + (rx * Math.cos(end2)) + dx, cy + (ry * Math.sin(end2)) + dy
1194
+ ]);
1195
+ out = out.concat(curveTo(cx, cy, rx, ry, end2, start2, dx, dy));
1196
+ out.push(['Z']);
1197
+ // INSIDE
1198
+ var inn = [
1199
+ ['M',
1200
+ cx + (irx * cs),
1201
+ cy + (iry * ss)]
1202
+ ];
1203
+ inn = inn.concat(curveTo(cx, cy, irx, iry, start, end, 0, 0));
1204
+ inn.push([
1205
+ 'L', cx + (irx * Math.cos(end)) + dx, cy + (iry * Math.sin(end)) + dy
1206
+ ]);
1207
+ inn = inn.concat(curveTo(cx, cy, irx, iry, end, start, dx, dy));
1208
+ inn.push(['Z']);
1209
+ // SIDES
1210
+ var side1 = [
1211
+ ['M',
1212
+ cx + (rx * cs),
1213
+ cy + (ry * ss)],
1214
+ ['L',
1215
+ cx + (rx * cs) + dx,
1216
+ cy + (ry * ss) + dy],
1217
+ ['L',
1218
+ cx + (irx * cs) + dx,
1219
+ cy + (iry * ss) + dy],
1220
+ ['L',
1221
+ cx + (irx * cs),
1222
+ cy + (iry * ss)],
1223
+ ['Z']
1224
+ ];
1225
+ var side2 = [
1226
+ ['M',
1227
+ cx + (rx * ce),
1228
+ cy + (ry * se)],
1229
+ ['L',
1230
+ cx + (rx * ce) + dx,
1231
+ cy + (ry * se) + dy],
1232
+ ['L',
1233
+ cx + (irx * ce) + dx,
1234
+ cy + (iry * se) + dy],
1235
+ ['L',
1236
+ cx + (irx * ce),
1237
+ cy + (iry * se)],
1238
+ ['Z']
1239
+ ];
1240
+ // correction for changed position of vanishing point caused by alpha and
1241
+ // beta rotations
1242
+ var angleCorr = Math.atan2(dy, -dx),
1243
+ angleEnd = Math.abs(end + angleCorr),
1244
+ angleStart = Math.abs(start + angleCorr),
1245
+ angleMid = Math.abs((start + end) / 2 + angleCorr);
1246
+ /**
1247
+ * set to 0-PI range
1248
+ * @private
1249
+ */
1250
+ function toZeroPIRange(angle) {
1251
+ angle = angle % (2 * Math.PI);
1252
+ if (angle > Math.PI) {
1253
+ angle = 2 * Math.PI - angle;
1254
+ }
1255
+ return angle;
1256
+ }
1257
+ angleEnd = toZeroPIRange(angleEnd);
1258
+ angleStart = toZeroPIRange(angleStart);
1259
+ angleMid = toZeroPIRange(angleMid);
1260
+ // *1e5 is to compensate pInt in zIndexSetter
1261
+ var incPrecision = 1e5,
1262
+ a1 = angleMid * incPrecision,
1263
+ a2 = angleStart * incPrecision,
1264
+ a3 = angleEnd * incPrecision;
1265
+ return {
1266
+ top: top,
1267
+ // max angle is PI, so this is always higher
1268
+ zTop: Math.PI * incPrecision + 1,
1269
+ out: out,
1270
+ zOut: Math.max(a1, a2, a3),
1271
+ inn: inn,
1272
+ zInn: Math.max(a1, a2, a3),
1273
+ side1: side1,
1274
+ zSide1: a3 * 0.99,
1275
+ side2: side2,
1276
+ zSide2: a2 * 0.99
1277
+ };
1278
+ };
1279
+
1280
+ return SVGRenderer;
1281
+ });
1282
+ _registerModule(_modules, 'Extensions/Oldie/VMLAxis3D.js', [_modules['Core/Utilities.js']], function (U) {
1283
+ /* *
1284
+ *
1285
+ * (c) 2010-2020 Torstein Honsi
1286
+ *
1287
+ * Extension to the VML Renderer
1288
+ *
1289
+ * License: www.highcharts.com/license
1290
+ *
1291
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
1292
+ *
1293
+ * */
1294
+ var addEvent = U.addEvent;
1295
+ /* eslint-disable valid-jsdoc */
1296
+ var VMLAxis3DAdditions = /** @class */ (function () {
1297
+ /* *
1298
+ *
1299
+ * Constructors
1300
+ *
1301
+ * */
1302
+ function VMLAxis3DAdditions(axis) {
1303
+ this.axis = axis;
1304
+ }
1305
+ return VMLAxis3DAdditions;
1306
+ }());
1307
+ var VMLAxis3D = /** @class */ (function () {
1308
+ function VMLAxis3D() {
1309
+ }
1310
+ /* *
1311
+ *
1312
+ * Static Properties
1313
+ *
1314
+ * */
1315
+ VMLAxis3D.compose = function (AxisClass) {
1316
+ AxisClass.keepProps.push('vml');
1317
+ addEvent(AxisClass, 'init', VMLAxis3D.onInit);
1318
+ addEvent(AxisClass, 'render', VMLAxis3D.onRender);
1319
+ };
1320
+ /**
1321
+ * @private
1322
+ */
1323
+ VMLAxis3D.onInit = function () {
1324
+ var axis = this;
1325
+ if (!axis.vml) {
1326
+ axis.vml = new VMLAxis3DAdditions(axis);
1327
+ }
1328
+ };
1329
+ /**
1330
+ * @private
1331
+ */
1332
+ VMLAxis3D.onRender = function () {
1333
+ var axis = this;
1334
+ var vml = axis.vml;
1335
+ // VML doesn't support a negative z-index
1336
+ if (vml.sideFrame) {
1337
+ vml.sideFrame.css({ zIndex: 0 });
1338
+ vml.sideFrame.front.attr({
1339
+ fill: vml.sideFrame.color
1340
+ });
1341
+ }
1342
+ if (vml.bottomFrame) {
1343
+ vml.bottomFrame.css({ zIndex: 1 });
1344
+ vml.bottomFrame.front.attr({
1345
+ fill: vml.bottomFrame.color
1346
+ });
1347
+ }
1348
+ if (vml.backFrame) {
1349
+ vml.backFrame.css({ zIndex: 0 });
1350
+ vml.backFrame.front.attr({
1351
+ fill: vml.backFrame.color
1352
+ });
1353
+ }
1354
+ };
1355
+ return VMLAxis3D;
1356
+ }());
1357
+
1358
+ return VMLAxis3D;
1359
+ });
1360
+ _registerModule(_modules, 'Extensions/Oldie/VMLRenderer3D.js', [_modules['Core/Axis/Axis.js'], _modules['Core/Utilities.js'], _modules['Extensions/Oldie/VMLAxis3D.js']], function (Axis, U, VMLAxis3D) {
1361
+ /* *
1362
+ *
1363
+ * (c) 2010-2020 Torstein Honsi
1364
+ *
1365
+ * Extension to the VML Renderer
1366
+ *
1367
+ * License: www.highcharts.com/license
1368
+ *
1369
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
1370
+ *
1371
+ * */
1372
+ var setOptions = U.setOptions;
1373
+ var VMLRenderer3D = /** @class */ (function () {
1374
+ function VMLRenderer3D() {
1375
+ }
1376
+ /* *
1377
+ *
1378
+ * Static Properties
1379
+ *
1380
+ * */
1381
+ VMLRenderer3D.compose = function (vmlClass, svgClass) {
1382
+ var svgProto = svgClass.prototype;
1383
+ var vmlProto = vmlClass.prototype;
1384
+ setOptions({ animate: false });
1385
+ vmlProto.face3d = svgProto.face3d;
1386
+ vmlProto.polyhedron = svgProto.polyhedron;
1387
+ vmlProto.elements3d = svgProto.elements3d;
1388
+ vmlProto.element3d = svgProto.element3d;
1389
+ vmlProto.cuboid = svgProto.cuboid;
1390
+ vmlProto.cuboidPath = svgProto.cuboidPath;
1391
+ vmlProto.toLinePath = svgProto.toLinePath;
1392
+ vmlProto.toLineSegments = svgProto.toLineSegments;
1393
+ vmlProto.arc3d = function (shapeArgs) {
1394
+ var result = svgProto.arc3d.call(this,
1395
+ shapeArgs);
1396
+ result.css({ zIndex: result.zIndex });
1397
+ return result;
1398
+ };
1399
+ vmlProto.arc3dPath = svgProto.arc3dPath;
1400
+ VMLAxis3D.compose(Axis);
1401
+ };
1402
+ return VMLRenderer3D;
1403
+ }());
1404
+
1405
+ return VMLRenderer3D;
1406
+ });
1407
+ _registerModule(_modules, 'Extensions/Oldie/Oldie.js', [_modules['Core/Chart/Chart.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Core/Pointer.js'], _modules['Core/Renderer/SVG/SVGElement.js'], _modules['Core/Renderer/SVG/SVGRenderer3D.js'], _modules['Core/Utilities.js'], _modules['Extensions/Oldie/VMLRenderer3D.js']], function (Chart, Color, H, Pointer, SVGElement, SVGRenderer, U, VMLRenderer3D) {
33
1408
  /* *
34
1409
  *
35
1410
  * (c) 2010-2020 Torstein Honsi
@@ -42,6 +1417,11 @@
42
1417
  *
43
1418
  * */
44
1419
  var color = Color.parse;
1420
+ var deg2rad = H.deg2rad,
1421
+ doc = H.doc,
1422
+ noop = H.noop,
1423
+ svg = H.svg,
1424
+ win = H.win;
45
1425
  var addEvent = U.addEvent,
46
1426
  createElement = U.createElement,
47
1427
  css = U.css,
@@ -50,6 +1430,7 @@
50
1430
  erase = U.erase,
51
1431
  extend = U.extend,
52
1432
  extendClass = U.extendClass,
1433
+ getOptions = U.getOptions,
53
1434
  isArray = U.isArray,
54
1435
  isNumber = U.isNumber,
55
1436
  isObject = U.isObject,
@@ -57,18 +1438,10 @@
57
1438
  offset = U.offset,
58
1439
  pick = U.pick,
59
1440
  pInt = U.pInt,
1441
+ setOptions = U.setOptions,
60
1442
  uniqueKey = U.uniqueKey;
61
1443
  var VMLRenderer,
62
- VMLRendererExtension,
63
- VMLElement,
64
- Chart = H.Chart,
65
- deg2rad = H.deg2rad,
66
- doc = H.doc,
67
- noop = H.noop,
68
- svg = H.svg,
69
- SVGElement = H.SVGElement,
70
- SVGRenderer = H.SVGRenderer,
71
- win = H.win;
1444
+ VMLElement;
72
1445
  /**
73
1446
  * Path to the pattern image required by VML browsers in order to
74
1447
  * draw radial gradients.
@@ -79,8 +1452,8 @@
79
1452
  * @requires modules/oldie
80
1453
  * @apioption global.VMLRadialGradientURL
81
1454
  */
82
- H.getOptions().global.VMLRadialGradientURL =
83
- 'http://code.highcharts.com/8.1.0/gfx/vml-radial-gradient.png';
1455
+ getOptions().global.VMLRadialGradientURL =
1456
+ 'http://code.highcharts.com/8.2.2/gfx/vml-radial-gradient.png';
84
1457
  // Utilites
85
1458
  if (doc && !doc.defaultView) {
86
1459
  H.getStyle = U.getStyle = function (el, prop) {
@@ -134,7 +1507,7 @@
134
1507
  * @param {boolean} [chartPosition=false]
135
1508
  * @return {Highcharts.PointerEventObject}
136
1509
  */
137
- H.Pointer.prototype.normalize = function (e, chartPosition) {
1510
+ Pointer.prototype.normalize = function (e, chartPosition) {
138
1511
  e = e || win.event;
139
1512
  if (!e.target) {
140
1513
  e.target = e.srcElement;
@@ -782,23 +2155,25 @@
782
2155
  *
783
2156
  * @augments Highcharts.SVGRenderer
784
2157
  */
785
- VMLRendererExtension = {
786
- Element: VMLElement,
787
- isIE8: win.navigator.userAgent.indexOf('MSIE 8.0') > -1,
788
- /**
789
- * Initialize the VMLRenderer.
790
- *
791
- * @function Highcharts.VMLRenderer#init
792
- * @param {Highcharts.HTMLDOMElement} container
793
- * @param {number} width
794
- * @param {number} height
795
- * @return {void}
796
- */
797
- init: function (container, width, height) {
798
- var renderer = this,
799
- boxWrapper,
800
- box,
801
- css;
2158
+ var VMLRendererExtension = {
2159
+ Element: VMLElement,
2160
+ isIE8: win.navigator.userAgent.indexOf('MSIE 8.0') > -1,
2161
+ /**
2162
+ * Initialize the VMLRenderer.
2163
+ *
2164
+ * @function Highcharts.VMLRenderer#init
2165
+ * @param {Highcharts.HTMLDOMElement} container
2166
+ * @param {number} width
2167
+ * @param {number} height
2168
+ * @return {void}
2169
+ */
2170
+ init: function (container,
2171
+ width,
2172
+ height) {
2173
+ var renderer = this,
2174
+ boxWrapper,
2175
+ box,
2176
+ css;
802
2177
  // Extended SVGRenderer member
803
2178
  this.crispPolyLine = SVGRenderer.prototype.crispPolyLine;
804
2179
  renderer.alignedObjects = [];
@@ -1006,7 +2381,7 @@
1006
2381
  sizey *= radialReference[2] / bBox.height;
1007
2382
  }
1008
2383
  fillAttr =
1009
- 'src="' + H.getOptions().global.VMLRadialGradientURL +
2384
+ 'src="' + getOptions().global.VMLRadialGradientURL +
1010
2385
  '" ' +
1011
2386
  'size="' + sizex + ',' + sizey + '" ' +
1012
2387
  'origin="0.5,0.5" ' +
@@ -1321,9 +2696,11 @@
1321
2696
  H.VMLRenderer = VMLRenderer = function () {
1322
2697
  this.init.apply(this, arguments);
1323
2698
  };
1324
- VMLRenderer.prototype = merge(SVGRenderer.prototype, VMLRendererExtension);
2699
+ VMLRenderer.prototype = merge(VMLRenderer.prototype, SVGRenderer.prototype, VMLRendererExtension);
1325
2700
  // general renderer
1326
2701
  H.Renderer = VMLRenderer;
2702
+ // 3D additions
2703
+ VMLRenderer3D.compose(VMLRenderer, SVGRenderer);
1327
2704
  }
1328
2705
  SVGRenderer.prototype.getSpanWidth = function (wrapper, tspan) {
1329
2706
  var renderer = this,