ps-toolkit-ui 0.0.209 → 0.0.210

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 (1057) hide show
  1. package/bundles/ps-toolkit-ui.umd.js +20 -2
  2. package/bundles/ps-toolkit-ui.umd.js.map +1 -1
  3. package/bundles/ps-toolkit-ui.umd.min.js +1 -1
  4. package/bundles/ps-toolkit-ui.umd.min.js.map +1 -1
  5. package/esm2015/lib/classes/chart.class.js +140 -0
  6. package/esm2015/lib/components/chart/chart.component.js +17 -0
  7. package/esm2015/lib/ps-toolkit-ui.module.js +4 -3
  8. package/esm2015/ps-toolkit-ui.js +2 -1
  9. package/fesm2015/ps-toolkit-ui.js +19 -3
  10. package/fesm2015/ps-toolkit-ui.js.map +1 -1
  11. package/lib/classes/chart.class.d.ts +11 -0
  12. package/lib/components/chart/chart.component.d.ts +5 -0
  13. package/package.json +1 -1
  14. package/ps-toolkit-ui.d.ts +1 -0
  15. package/ps-toolkit-ui.metadata.json +1 -1
  16. package/src/assets/plugins/highcharts/code/css/annotations/popup.css +276 -0
  17. package/src/assets/plugins/highcharts/code/css/annotations/popup.scss +289 -0
  18. package/src/assets/plugins/highcharts/code/css/highcharts.css +1013 -0
  19. package/src/assets/plugins/highcharts/code/css/highcharts.scss +896 -0
  20. package/src/assets/plugins/highcharts/code/css/stocktools/gui.css +271 -0
  21. package/src/assets/plugins/highcharts/code/css/stocktools/gui.scss +271 -0
  22. package/src/assets/plugins/highcharts/code/css/themes/dark-unica.css +1074 -0
  23. package/src/assets/plugins/highcharts/code/css/themes/dark-unica.scss +122 -0
  24. package/src/assets/plugins/highcharts/code/css/themes/grid-light.css +1027 -0
  25. package/src/assets/plugins/highcharts/code/css/themes/grid-light.scss +33 -0
  26. package/src/assets/plugins/highcharts/code/css/themes/sand-signika.css +1043 -0
  27. package/src/assets/plugins/highcharts/code/css/themes/sand-signika.scss +74 -0
  28. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/A11yI18n.js +299 -0
  29. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Accessibility.js +401 -0
  30. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/AccessibilityComponent.js +153 -0
  31. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/AnnotationsA11y.js +160 -0
  32. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/ContainerComponent.js +159 -0
  33. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/InfoRegionsComponent.js +543 -0
  34. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/LegendComponent.js +478 -0
  35. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/MenuComponent.js +451 -0
  36. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/RangeSelectorComponent.js +506 -0
  37. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +217 -0
  38. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +324 -0
  39. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +148 -0
  40. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +390 -0
  41. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +650 -0
  42. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/ZoomComponent.js +375 -0
  43. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/FocusBorder.js +302 -0
  44. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/HighContrastMode.js +96 -0
  45. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/HighContrastTheme.js +221 -0
  46. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/KeyboardNavigation.js +449 -0
  47. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/KeyboardNavigationHandler.js +128 -0
  48. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Options/DeprecatedOptions.js +250 -0
  49. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Options/LangOptions.js +339 -0
  50. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Options/Options.js +831 -0
  51. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/ProxyElement.js +218 -0
  52. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/ProxyProvider.js +302 -0
  53. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/Announcer.js +91 -0
  54. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/ChartUtilities.js +294 -0
  55. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/DOMElementProvider.js +62 -0
  56. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/EventProvider.js +58 -0
  57. package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/HTMLUtilities.js +305 -0
  58. package/src/assets/plugins/highcharts/code/es-modules/Core/Animation/AnimationUtilities.js +200 -0
  59. package/src/assets/plugins/highcharts/code/es-modules/Core/Animation/Fx.js +387 -0
  60. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Axis.js +3225 -0
  61. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Axis3D.js +612 -0
  62. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/AxisDefaults.js +2935 -0
  63. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/BrokenAxis.js +601 -0
  64. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Color/ColorAxis.js +668 -0
  65. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Color/ColorAxisComposition.js +287 -0
  66. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Color/ColorAxisDefaults.js +434 -0
  67. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/DateTimeAxis.js +196 -0
  68. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/GridAxis.js +1046 -0
  69. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/LogarithmicAxis.js +202 -0
  70. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/NavigatorAxis.js +159 -0
  71. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/OrdinalAxis.js +992 -0
  72. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +873 -0
  73. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +287 -0
  74. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/RadialAxis.js +954 -0
  75. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/ScrollbarAxis.js +182 -0
  76. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/SolidGaugeAxis.js +127 -0
  77. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/StackingAxis.js +216 -0
  78. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Tick.js +723 -0
  79. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Tick3D.js +68 -0
  80. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/TreeGridAxis.js +720 -0
  81. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/TreeGridTick.js +306 -0
  82. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/WaterfallAxis.js +149 -0
  83. package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/ZAxis.js +156 -0
  84. package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/Chart.js +2909 -0
  85. package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/Chart3D.js +1695 -0
  86. package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/ChartDefaults.js +1053 -0
  87. package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/ChartNavigationComposition.js +92 -0
  88. package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/GanttChart.js +177 -0
  89. package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/MapChart.js +179 -0
  90. package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/StockChart.js +644 -0
  91. package/src/assets/plugins/highcharts/code/es-modules/Core/Color/Color.js +419 -0
  92. package/src/assets/plugins/highcharts/code/es-modules/Core/Color/Palettes.js +22 -0
  93. package/src/assets/plugins/highcharts/code/es-modules/Core/DefaultOptions.js +2743 -0
  94. package/src/assets/plugins/highcharts/code/es-modules/Core/FormatUtilities.js +246 -0
  95. package/src/assets/plugins/highcharts/code/es-modules/Core/Foundation.js +61 -0
  96. package/src/assets/plugins/highcharts/code/es-modules/Core/Geometry/CircleUtilities.js +386 -0
  97. package/src/assets/plugins/highcharts/code/es-modules/Core/Geometry/GeometryUtilities.js +83 -0
  98. package/src/assets/plugins/highcharts/code/es-modules/Core/Globals.js +131 -0
  99. package/src/assets/plugins/highcharts/code/es-modules/Core/HttpUtilities.js +195 -0
  100. package/src/assets/plugins/highcharts/code/es-modules/Core/Legend/Legend.js +1284 -0
  101. package/src/assets/plugins/highcharts/code/es-modules/Core/Legend/LegendSymbol.js +109 -0
  102. package/src/assets/plugins/highcharts/code/es-modules/Core/MSPointer.js +170 -0
  103. package/src/assets/plugins/highcharts/code/es-modules/Core/Navigator.js +1958 -0
  104. package/src/assets/plugins/highcharts/code/es-modules/Core/Pointer.js +1518 -0
  105. package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/HTML/AST.js +475 -0
  106. package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/HTML/HTMLElement.js +261 -0
  107. package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/HTML/HTMLRenderer.js +272 -0
  108. package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/RendererRegistry.js +77 -0
  109. package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/RendererUtilities.js +159 -0
  110. package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGElement.js +2176 -0
  111. package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGElement3D.js +160 -0
  112. package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGLabel.js +408 -0
  113. package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGRenderer.js +1900 -0
  114. package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +842 -0
  115. package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/Symbols.js +197 -0
  116. package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/TextBuilder.js +452 -0
  117. package/src/assets/plugins/highcharts/code/es-modules/Core/Responsive.js +334 -0
  118. package/src/assets/plugins/highcharts/code/es-modules/Core/Scrollbar.js +658 -0
  119. package/src/assets/plugins/highcharts/code/es-modules/Core/ScrollbarDefaults.js +218 -0
  120. package/src/assets/plugins/highcharts/code/es-modules/Core/Series/DataLabel.js +568 -0
  121. package/src/assets/plugins/highcharts/code/es-modules/Core/Series/Point.js +1307 -0
  122. package/src/assets/plugins/highcharts/code/es-modules/Core/Series/Series.js +3718 -0
  123. package/src/assets/plugins/highcharts/code/es-modules/Core/Series/Series3D.js +126 -0
  124. package/src/assets/plugins/highcharts/code/es-modules/Core/Series/SeriesDefaults.js +2293 -0
  125. package/src/assets/plugins/highcharts/code/es-modules/Core/Series/SeriesRegistry.js +127 -0
  126. package/src/assets/plugins/highcharts/code/es-modules/Core/Time.js +741 -0
  127. package/src/assets/plugins/highcharts/code/es-modules/Core/Tooltip.js +1378 -0
  128. package/src/assets/plugins/highcharts/code/es-modules/Core/Utilities.js +1967 -0
  129. package/src/assets/plugins/highcharts/code/es-modules/Data/DataConverter.js +483 -0
  130. package/src/assets/plugins/highcharts/code/es-modules/Data/DataPromise.js +252 -0
  131. package/src/assets/plugins/highcharts/code/es-modules/Data/DataSeriesConverter.js +207 -0
  132. package/src/assets/plugins/highcharts/code/es-modules/Data/DataTable.js +1205 -0
  133. package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/ChainModifier.js +299 -0
  134. package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/DataModifier.js +303 -0
  135. package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/GroupModifier.js +144 -0
  136. package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/InvertModifier.js +254 -0
  137. package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/RangeModifier.js +143 -0
  138. package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/SeriesPointsModifier.js +110 -0
  139. package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/SortModifier.js +249 -0
  140. package/src/assets/plugins/highcharts/code/es-modules/Data/Parsers/CSVParser.js +400 -0
  141. package/src/assets/plugins/highcharts/code/es-modules/Data/Parsers/DataParser.js +101 -0
  142. package/src/assets/plugins/highcharts/code/es-modules/Data/Parsers/GoogleSheetsParser.js +223 -0
  143. package/src/assets/plugins/highcharts/code/es-modules/Data/Parsers/HTMLTableParser.js +213 -0
  144. package/src/assets/plugins/highcharts/code/es-modules/Data/Stores/CSVStore.js +317 -0
  145. package/src/assets/plugins/highcharts/code/es-modules/Data/Stores/DataStore.js +276 -0
  146. package/src/assets/plugins/highcharts/code/es-modules/Data/Stores/GoogleSheetsStore.js +169 -0
  147. package/src/assets/plugins/highcharts/code/es-modules/Data/Stores/HTMLTableStore.js +353 -0
  148. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Annotations.js +1442 -0
  149. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/ControlPoint.js +141 -0
  150. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +117 -0
  151. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +199 -0
  152. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +111 -0
  153. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +387 -0
  154. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +181 -0
  155. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +121 -0
  156. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +378 -0
  157. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Mixins/EventEmitterMixin.js +221 -0
  158. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +179 -0
  159. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/MockPoint.js +428 -0
  160. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/NavigationBindings.js +1212 -0
  161. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Popup.js +1123 -0
  162. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +237 -0
  163. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/CrookedLine.js +185 -0
  164. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/ElliottWave.js +95 -0
  165. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/Fibonacci.js +205 -0
  166. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +219 -0
  167. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/InfinityLine.js +161 -0
  168. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/Measure.js +791 -0
  169. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/Pitchfork.js +194 -0
  170. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/TimeCycles.js +211 -0
  171. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/Tunnel.js +211 -0
  172. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/VerticalLine.js +156 -0
  173. package/src/assets/plugins/highcharts/code/es-modules/Extensions/ArrowSymbols.js +166 -0
  174. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/Boost.js +34 -0
  175. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostAttach.js +150 -0
  176. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostInit.js +318 -0
  177. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostOptions.js +219 -0
  178. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostOverrides.js +386 -0
  179. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostUtils.js +255 -0
  180. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostableMap.js +18 -0
  181. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/Boostables.js +25 -0
  182. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/NamedColors.js +162 -0
  183. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/WGLRenderer.js +1188 -0
  184. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/WGLShader.js +470 -0
  185. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/WGLVBuffer.js +153 -0
  186. package/src/assets/plugins/highcharts/code/es-modules/Extensions/BoostCanvas.js +509 -0
  187. package/src/assets/plugins/highcharts/code/es-modules/Extensions/CurrentDateIndication.js +100 -0
  188. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Data.js +2037 -0
  189. package/src/assets/plugins/highcharts/code/es-modules/Extensions/DataGrouping.js +1134 -0
  190. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Debugger/Debugger.js +101 -0
  191. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Debugger/ErrorMessages.js +106 -0
  192. package/src/assets/plugins/highcharts/code/es-modules/Extensions/DownloadURL.js +106 -0
  193. package/src/assets/plugins/highcharts/code/es-modules/Extensions/DragPanes.js +512 -0
  194. package/src/assets/plugins/highcharts/code/es-modules/Extensions/DraggablePoints.js +2259 -0
  195. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Drilldown.js +1170 -0
  196. package/src/assets/plugins/highcharts/code/es-modules/Extensions/ExportData.js +997 -0
  197. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Exporting/Exporting.js +1260 -0
  198. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Exporting/ExportingDefaults.js +796 -0
  199. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Exporting/ExportingSymbols.js +73 -0
  200. package/src/assets/plugins/highcharts/code/es-modules/Extensions/FullScreen.js +240 -0
  201. package/src/assets/plugins/highcharts/code/es-modules/Extensions/GeoJSON.js +436 -0
  202. package/src/assets/plugins/highcharts/code/es-modules/Extensions/MarkerClusters.js +1436 -0
  203. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Math3D.js +245 -0
  204. package/src/assets/plugins/highcharts/code/es-modules/Extensions/NoDataToDisplay.js +189 -0
  205. package/src/assets/plugins/highcharts/code/es-modules/Extensions/OfflineExporting/OfflineExporting.js +617 -0
  206. package/src/assets/plugins/highcharts/code/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +58 -0
  207. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Oldie/Oldie.js +1182 -0
  208. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Oldie/VMLAxis3D.js +101 -0
  209. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Oldie/VMLRenderer3D.js +47 -0
  210. package/src/assets/plugins/highcharts/code/es-modules/Extensions/OldiePolyfills.js +167 -0
  211. package/src/assets/plugins/highcharts/code/es-modules/Extensions/OverlappingDataLabels.js +226 -0
  212. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Pane.js +404 -0
  213. package/src/assets/plugins/highcharts/code/es-modules/Extensions/ParallelCoordinates.js +464 -0
  214. package/src/assets/plugins/highcharts/code/es-modules/Extensions/PatternFill.js +580 -0
  215. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Polar.js +740 -0
  216. package/src/assets/plugins/highcharts/code/es-modules/Extensions/PriceIndication.js +292 -0
  217. package/src/assets/plugins/highcharts/code/es-modules/Extensions/RangeSelector.js +2175 -0
  218. package/src/assets/plugins/highcharts/code/es-modules/Extensions/ScrollablePlotArea.js +387 -0
  219. package/src/assets/plugins/highcharts/code/es-modules/Extensions/SeriesLabel.js +765 -0
  220. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/ChartSonify.js +724 -0
  221. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Earcon.js +197 -0
  222. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Instrument.js +606 -0
  223. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/MusicalFrequencies.js +122 -0
  224. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Options.js +44 -0
  225. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/PointSonify.js +391 -0
  226. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/SeriesSonify.js +474 -0
  227. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/SignalHandler.js +122 -0
  228. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Sonification.js +97 -0
  229. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/SonificationUtilities.js +150 -0
  230. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Timeline.js +308 -0
  231. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/TimelineEvent.js +157 -0
  232. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/TimelinePath.js +311 -0
  233. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Stacking.js +516 -0
  234. package/src/assets/plugins/highcharts/code/es-modules/Extensions/StaticScale.js +76 -0
  235. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Avocado.js +67 -0
  236. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/BrandDark.js +293 -0
  237. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/BrandLight.js +259 -0
  238. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/DarkBlue.js +279 -0
  239. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/DarkGreen.js +279 -0
  240. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/DarkUnica.js +249 -0
  241. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Gray.js +287 -0
  242. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Grid.js +140 -0
  243. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/GridLight.js +111 -0
  244. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/HighContrastDark.js +239 -0
  245. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/HighContrastLight.js +69 -0
  246. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/SandSignika.js +144 -0
  247. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Skies.js +131 -0
  248. package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Sunset.js +66 -0
  249. package/src/assets/plugins/highcharts/code/es-modules/Gantt/Connection.js +838 -0
  250. package/src/assets/plugins/highcharts/code/es-modules/Gantt/Pathfinder.js +818 -0
  251. package/src/assets/plugins/highcharts/code/es-modules/Gantt/PathfinderAlgorithms.js +657 -0
  252. package/src/assets/plugins/highcharts/code/es-modules/Gantt/Tree.js +110 -0
  253. package/src/assets/plugins/highcharts/code/es-modules/Maps/MapNavigation.js +278 -0
  254. package/src/assets/plugins/highcharts/code/es-modules/Maps/MapNavigationOptionsDefault.js +264 -0
  255. package/src/assets/plugins/highcharts/code/es-modules/Maps/MapPointer.js +83 -0
  256. package/src/assets/plugins/highcharts/code/es-modules/Maps/MapSymbols.js +80 -0
  257. package/src/assets/plugins/highcharts/code/es-modules/Maps/MapView.js +450 -0
  258. package/src/assets/plugins/highcharts/code/es-modules/Maps/MapViewOptionsDefault.js +97 -0
  259. package/src/assets/plugins/highcharts/code/es-modules/Maps/Projection.js +436 -0
  260. package/src/assets/plugins/highcharts/code/es-modules/Maps/ProjectionDefinition.js +9 -0
  261. package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/EqualEarth.js +42 -0
  262. package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/LambertConformalConic.js +52 -0
  263. package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/Miller.js +16 -0
  264. package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/Orthographic.js +26 -0
  265. package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/ProjectionRegistry.js +19 -0
  266. package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/WebMercator.js +24 -0
  267. package/src/assets/plugins/highcharts/code/es-modules/Series/Area/AreaSeries.js +563 -0
  268. package/src/assets/plugins/highcharts/code/es-modules/Series/Area3DSeries.js +70 -0
  269. package/src/assets/plugins/highcharts/code/es-modules/Series/AreaRange/AreaRangePoint.js +129 -0
  270. package/src/assets/plugins/highcharts/code/es-modules/Series/AreaRange/AreaRangeSeries.js +650 -0
  271. package/src/assets/plugins/highcharts/code/es-modules/Series/AreaSpline/AreaSplineSeries.js +203 -0
  272. package/src/assets/plugins/highcharts/code/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +199 -0
  273. package/src/assets/plugins/highcharts/code/es-modules/Series/Bar/BarSeries.js +171 -0
  274. package/src/assets/plugins/highcharts/code/es-modules/Series/Bellcurve/BellcurveSeries.js +241 -0
  275. package/src/assets/plugins/highcharts/code/es-modules/Series/BoxPlot/BoxPlotSeries.js +681 -0
  276. package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubbleLegendComposition.js +279 -0
  277. package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubbleLegendDefaults.js +266 -0
  278. package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubbleLegendItem.js +462 -0
  279. package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubblePoint.js +77 -0
  280. package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubbleSeries.js +676 -0
  281. package/src/assets/plugins/highcharts/code/es-modules/Series/Bullet/BulletPoint.js +62 -0
  282. package/src/assets/plugins/highcharts/code/es-modules/Series/Bullet/BulletSeries.js +365 -0
  283. package/src/assets/plugins/highcharts/code/es-modules/Series/Candlestick/CandlestickSeries.js +333 -0
  284. package/src/assets/plugins/highcharts/code/es-modules/Series/CenteredUtilities.js +128 -0
  285. package/src/assets/plugins/highcharts/code/es-modules/Series/ColorMapMixin.js +84 -0
  286. package/src/assets/plugins/highcharts/code/es-modules/Series/Column/ColumnDataLabel.js +109 -0
  287. package/src/assets/plugins/highcharts/code/es-modules/Series/Column/ColumnSeries.js +1171 -0
  288. package/src/assets/plugins/highcharts/code/es-modules/Series/Column3D/Column3DComposition.js +508 -0
  289. package/src/assets/plugins/highcharts/code/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +308 -0
  290. package/src/assets/plugins/highcharts/code/es-modules/Series/ColumnRange/ColumnRangePoint.js +62 -0
  291. package/src/assets/plugins/highcharts/code/es-modules/Series/ColumnRange/ColumnRangeSeries.js +308 -0
  292. package/src/assets/plugins/highcharts/code/es-modules/Series/Cylinder/CylinderComposition.js +274 -0
  293. package/src/assets/plugins/highcharts/code/es-modules/Series/Cylinder/CylinderPoint.js +60 -0
  294. package/src/assets/plugins/highcharts/code/es-modules/Series/Cylinder/CylinderSeries.js +175 -0
  295. package/src/assets/plugins/highcharts/code/es-modules/Series/DataModifyComposition.js +539 -0
  296. package/src/assets/plugins/highcharts/code/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +100 -0
  297. package/src/assets/plugins/highcharts/code/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +368 -0
  298. package/src/assets/plugins/highcharts/code/es-modules/Series/DerivedComposition.js +137 -0
  299. package/src/assets/plugins/highcharts/code/es-modules/Series/DotPlot/DotPlotSeries.js +158 -0
  300. package/src/assets/plugins/highcharts/code/es-modules/Series/DrawPointComposition.js +111 -0
  301. package/src/assets/plugins/highcharts/code/es-modules/Series/Dumbbell/DumbbellPoint.js +104 -0
  302. package/src/assets/plugins/highcharts/code/es-modules/Series/Dumbbell/DumbbellSeries.js +464 -0
  303. package/src/assets/plugins/highcharts/code/es-modules/Series/ErrorBar/ErrorBarSeries.js +228 -0
  304. package/src/assets/plugins/highcharts/code/es-modules/Series/Flags/FlagsPoint.js +74 -0
  305. package/src/assets/plugins/highcharts/code/es-modules/Series/Flags/FlagsSeries.js +614 -0
  306. package/src/assets/plugins/highcharts/code/es-modules/Series/Flags/FlagsSymbols.js +90 -0
  307. package/src/assets/plugins/highcharts/code/es-modules/Series/Funnel/FunnelSeries.js +517 -0
  308. package/src/assets/plugins/highcharts/code/es-modules/Series/Funnel3D/Funnel3DComposition.js +383 -0
  309. package/src/assets/plugins/highcharts/code/es-modules/Series/Funnel3D/Funnel3DPoint.js +62 -0
  310. package/src/assets/plugins/highcharts/code/es-modules/Series/Funnel3D/Funnel3DSeries.js +447 -0
  311. package/src/assets/plugins/highcharts/code/es-modules/Series/Gantt/GanttPoint.js +109 -0
  312. package/src/assets/plugins/highcharts/code/es-modules/Series/Gantt/GanttSeries.js +352 -0
  313. package/src/assets/plugins/highcharts/code/es-modules/Series/Gauge/GaugePoint.js +66 -0
  314. package/src/assets/plugins/highcharts/code/es-modules/Series/Gauge/GaugeSeries.js +568 -0
  315. package/src/assets/plugins/highcharts/code/es-modules/Series/HLC/HLCPoint.js +55 -0
  316. package/src/assets/plugins/highcharts/code/es-modules/Series/HLC/HLCSeries.js +378 -0
  317. package/src/assets/plugins/highcharts/code/es-modules/Series/Heatmap/HeatmapPoint.js +144 -0
  318. package/src/assets/plugins/highcharts/code/es-modules/Series/Heatmap/HeatmapSeries.js +946 -0
  319. package/src/assets/plugins/highcharts/code/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +60 -0
  320. package/src/assets/plugins/highcharts/code/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +278 -0
  321. package/src/assets/plugins/highcharts/code/es-modules/Series/Histogram/HistogramSeries.js +253 -0
  322. package/src/assets/plugins/highcharts/code/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +80 -0
  323. package/src/assets/plugins/highcharts/code/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +368 -0
  324. package/src/assets/plugins/highcharts/code/es-modules/Series/Item/ItemPoint.js +59 -0
  325. package/src/assets/plugins/highcharts/code/es-modules/Series/Item/ItemSeries.js +505 -0
  326. package/src/assets/plugins/highcharts/code/es-modules/Series/Line/LineSeries.js +541 -0
  327. package/src/assets/plugins/highcharts/code/es-modules/Series/Lollipop/LollipopPoint.js +60 -0
  328. package/src/assets/plugins/highcharts/code/es-modules/Series/Lollipop/LollipopSeries.js +209 -0
  329. package/src/assets/plugins/highcharts/code/es-modules/Series/Map/MapPoint.js +136 -0
  330. package/src/assets/plugins/highcharts/code/es-modules/Series/Map/MapSeries.js +1100 -0
  331. package/src/assets/plugins/highcharts/code/es-modules/Series/MapBubble/MapBubblePoint.js +73 -0
  332. package/src/assets/plugins/highcharts/code/es-modules/Series/MapBubble/MapBubbleSeries.js +283 -0
  333. package/src/assets/plugins/highcharts/code/es-modules/Series/MapLine/MapLineSeries.js +181 -0
  334. package/src/assets/plugins/highcharts/code/es-modules/Series/MapPoint/MapPointPoint.js +71 -0
  335. package/src/assets/plugins/highcharts/code/es-modules/Series/MapPoint/MapPointSeries.js +309 -0
  336. package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/DraggableNodes.js +132 -0
  337. package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/Integrations.js +348 -0
  338. package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/Layouts.js +555 -0
  339. package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/Networkgraph.js +1178 -0
  340. package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/QuadTree.js +352 -0
  341. package/src/assets/plugins/highcharts/code/es-modules/Series/NodesComposition.js +229 -0
  342. package/src/assets/plugins/highcharts/code/es-modules/Series/OHLC/OHLCPoint.js +116 -0
  343. package/src/assets/plugins/highcharts/code/es-modules/Series/OHLC/OHLCSeries.js +254 -0
  344. package/src/assets/plugins/highcharts/code/es-modules/Series/OnSeriesComposition.js +168 -0
  345. package/src/assets/plugins/highcharts/code/es-modules/Series/Organization/OrganizationPoint.js +71 -0
  346. package/src/assets/plugins/highcharts/code/es-modules/Series/Organization/OrganizationSeries.js +594 -0
  347. package/src/assets/plugins/highcharts/code/es-modules/Series/PackedBubble/PackedBubbleComposition.js +172 -0
  348. package/src/assets/plugins/highcharts/code/es-modules/Series/PackedBubble/PackedBubblePoint.js +98 -0
  349. package/src/assets/plugins/highcharts/code/es-modules/Series/PackedBubble/PackedBubbleSeries.js +1284 -0
  350. package/src/assets/plugins/highcharts/code/es-modules/Series/ParetoSeries/ParetoSeries.js +195 -0
  351. package/src/assets/plugins/highcharts/code/es-modules/Series/Pie/PieDataLabel.js +447 -0
  352. package/src/assets/plugins/highcharts/code/es-modules/Series/Pie/PiePoint.js +270 -0
  353. package/src/assets/plugins/highcharts/code/es-modules/Series/Pie/PieSeries.js +1074 -0
  354. package/src/assets/plugins/highcharts/code/es-modules/Series/Pie3D/Pie3DComposition.js +27 -0
  355. package/src/assets/plugins/highcharts/code/es-modules/Series/Pie3D/Pie3DPoint.js +72 -0
  356. package/src/assets/plugins/highcharts/code/es-modules/Series/Pie3D/Pie3DSeries.js +200 -0
  357. package/src/assets/plugins/highcharts/code/es-modules/Series/Polygon/PolygonSeries.js +195 -0
  358. package/src/assets/plugins/highcharts/code/es-modules/Series/Pyramid/PyramidSeries.js +161 -0
  359. package/src/assets/plugins/highcharts/code/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +172 -0
  360. package/src/assets/plugins/highcharts/code/es-modules/Series/Sankey/SankeyPoint.js +97 -0
  361. package/src/assets/plugins/highcharts/code/es-modules/Series/Sankey/SankeySeries.js +1195 -0
  362. package/src/assets/plugins/highcharts/code/es-modules/Series/Scatter/ScatterSeries.js +306 -0
  363. package/src/assets/plugins/highcharts/code/es-modules/Series/Scatter3D/Scatter3DPoint.js +66 -0
  364. package/src/assets/plugins/highcharts/code/es-modules/Series/Scatter3D/Scatter3DSeries.js +194 -0
  365. package/src/assets/plugins/highcharts/code/es-modules/Series/SolidGauge/SolidGaugeComposition.js +62 -0
  366. package/src/assets/plugins/highcharts/code/es-modules/Series/SolidGauge/SolidGaugeSeries.js +358 -0
  367. package/src/assets/plugins/highcharts/code/es-modules/Series/Spline/SplineSeries.js +279 -0
  368. package/src/assets/plugins/highcharts/code/es-modules/Series/Streamgraph/StreamgraphSeries.js +213 -0
  369. package/src/assets/plugins/highcharts/code/es-modules/Series/Sunburst/SunburstPoint.js +115 -0
  370. package/src/assets/plugins/highcharts/code/es-modules/Series/Sunburst/SunburstSeries.js +907 -0
  371. package/src/assets/plugins/highcharts/code/es-modules/Series/Sunburst/SunburstUtilities.js +138 -0
  372. package/src/assets/plugins/highcharts/code/es-modules/Series/Tilemap/TilemapComposition.js +61 -0
  373. package/src/assets/plugins/highcharts/code/es-modules/Series/Tilemap/TilemapPoint.js +77 -0
  374. package/src/assets/plugins/highcharts/code/es-modules/Series/Tilemap/TilemapSeries.js +368 -0
  375. package/src/assets/plugins/highcharts/code/es-modules/Series/Tilemap/TilemapShapes.js +275 -0
  376. package/src/assets/plugins/highcharts/code/es-modules/Series/Timeline/TimelinePoint.js +168 -0
  377. package/src/assets/plugins/highcharts/code/es-modules/Series/Timeline/TimelineSeries.js +552 -0
  378. package/src/assets/plugins/highcharts/code/es-modules/Series/TreeUtilities.js +192 -0
  379. package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapAlgorithmGroup.js +93 -0
  380. package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapComposition.js +58 -0
  381. package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapPoint.js +107 -0
  382. package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapSeries.js +1473 -0
  383. package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapUtilities.js +65 -0
  384. package/src/assets/plugins/highcharts/code/es-modules/Series/VariablePie/VariablePieSeries.js +446 -0
  385. package/src/assets/plugins/highcharts/code/es-modules/Series/Variwide/VariwideComposition.js +78 -0
  386. package/src/assets/plugins/highcharts/code/es-modules/Series/Variwide/VariwidePoint.js +63 -0
  387. package/src/assets/plugins/highcharts/code/es-modules/Series/Variwide/VariwideSeries.js +317 -0
  388. package/src/assets/plugins/highcharts/code/es-modules/Series/Vector/VectorSeries.js +362 -0
  389. package/src/assets/plugins/highcharts/code/es-modules/Series/Venn/VennPoint.js +76 -0
  390. package/src/assets/plugins/highcharts/code/es-modules/Series/Venn/VennSeries.js +633 -0
  391. package/src/assets/plugins/highcharts/code/es-modules/Series/Venn/VennUtils.js +607 -0
  392. package/src/assets/plugins/highcharts/code/es-modules/Series/Waterfall/WaterfallPoint.js +68 -0
  393. package/src/assets/plugins/highcharts/code/es-modules/Series/Waterfall/WaterfallSeries.js +743 -0
  394. package/src/assets/plugins/highcharts/code/es-modules/Series/Windbarb/WindbarbPoint.js +64 -0
  395. package/src/assets/plugins/highcharts/code/es-modules/Series/Windbarb/WindbarbSeries.js +462 -0
  396. package/src/assets/plugins/highcharts/code/es-modules/Series/Wordcloud/WordcloudPoint.js +66 -0
  397. package/src/assets/plugins/highcharts/code/es-modules/Series/Wordcloud/WordcloudSeries.js +503 -0
  398. package/src/assets/plugins/highcharts/code/es-modules/Series/Wordcloud/WordcloudUtils.js +718 -0
  399. package/src/assets/plugins/highcharts/code/es-modules/Series/XRange/XRangeComposition.js +49 -0
  400. package/src/assets/plugins/highcharts/code/es-modules/Series/XRange/XRangePoint.js +168 -0
  401. package/src/assets/plugins/highcharts/code/es-modules/Series/XRange/XRangeSeries.js +608 -0
  402. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +243 -0
  403. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/AD/ADIndicator.js +160 -0
  404. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/AO/AOIndicator.js +212 -0
  405. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/APO/APOIndicator.js +167 -0
  406. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/ATR/ATRIndicator.js +162 -0
  407. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +197 -0
  408. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +141 -0
  409. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/ArrayUtilities.js +47 -0
  410. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/BB/BBIndicator.js +241 -0
  411. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/CCI/CCIIndicator.js +154 -0
  412. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/CMF/CMFIndicator.js +243 -0
  413. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/CMO/CMOIndicator.js +166 -0
  414. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +187 -0
  415. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +149 -0
  416. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/DMI/DMIIndicator.js +276 -0
  417. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/DPO/DPOIndicator.js +163 -0
  418. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +179 -0
  419. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/EMA/EMAIndicator.js +154 -0
  420. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/IKH/IKHIndicator.js +682 -0
  421. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +217 -0
  422. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +270 -0
  423. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +282 -0
  424. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +119 -0
  425. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +104 -0
  426. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +104 -0
  427. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/MACD/MACDIndicator.js +402 -0
  428. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/MFI/MFIIndicator.js +198 -0
  429. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +121 -0
  430. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/MultipleLinesComposition.js +294 -0
  431. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/NATR/NATRIndicator.js +111 -0
  432. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/OBV/OBVIndicator.js +170 -0
  433. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PC/PCIndicator.js +197 -0
  434. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PPO/PPOIndicator.js +164 -0
  435. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +280 -0
  436. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +310 -0
  437. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +78 -0
  438. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +240 -0
  439. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/ROC/ROCIndicator.js +176 -0
  440. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/RSI/RSIIndicator.js +171 -0
  441. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/SMA/SMAComposition.js +12 -0
  442. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/SMA/SMAIndicator.js +367 -0
  443. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +134 -0
  444. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +208 -0
  445. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +485 -0
  446. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +208 -0
  447. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +98 -0
  448. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +148 -0
  449. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/VBP/VBPIndicator.js +556 -0
  450. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/VBP/VBPPoint.js +49 -0
  451. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +193 -0
  452. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/WMA/WMAIndicator.js +153 -0
  453. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +135 -0
  454. package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +228 -0
  455. package/src/assets/plugins/highcharts/code/es-modules/Stock/StockToolsBindings.js +2009 -0
  456. package/src/assets/plugins/highcharts/code/es-modules/Stock/StockToolsGui.js +1816 -0
  457. package/src/assets/plugins/highcharts/code/es-modules/masters/highcharts-3d.src.js +28 -0
  458. package/src/assets/plugins/highcharts/code/es-modules/masters/highcharts-more.src.js +28 -0
  459. package/src/assets/plugins/highcharts/code/es-modules/masters/highcharts.src.js +147 -0
  460. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/accessibility.src.js +28 -0
  461. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/annotations-advanced.src.js +26 -0
  462. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/annotations.src.js +15 -0
  463. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/arrow-symbols.src.js +13 -0
  464. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/boost-canvas.src.js +14 -0
  465. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/boost.src.js +15 -0
  466. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/broken-axis.src.js +15 -0
  467. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/bullet.src.js +13 -0
  468. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/coloraxis.src.js +17 -0
  469. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/current-date-indicator.src.js +13 -0
  470. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/cylinder.src.js +14 -0
  471. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/data.src.js +23 -0
  472. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/datagrouping.src.js +14 -0
  473. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/debugger.src.js +16 -0
  474. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/dependency-wheel.src.js +14 -0
  475. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/dotplot.src.js +13 -0
  476. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/drag-panes.src.js +15 -0
  477. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/draggable-points.src.js +11 -0
  478. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/drilldown.src.js +13 -0
  479. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/dumbbell.src.js +11 -0
  480. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/export-data.src.js +14 -0
  481. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/exporting.src.js +22 -0
  482. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/full-screen.src.js +14 -0
  483. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/funnel.src.js +14 -0
  484. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/funnel3d.src.js +18 -0
  485. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/gantt.src.js +26 -0
  486. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/grid-axis.src.js +17 -0
  487. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/heatmap.src.js +16 -0
  488. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/heikinashi.src.js +14 -0
  489. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/histogram-bellcurve.src.js +13 -0
  490. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/hollowcandlestick.src.js +14 -0
  491. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/item-series.src.js +13 -0
  492. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/lollipop.src.js +11 -0
  493. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/marker-clusters.src.js +13 -0
  494. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/networkgraph.src.js +13 -0
  495. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/no-data-to-display.src.js +14 -0
  496. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/offline-exporting.src.js +20 -0
  497. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/oldie-polyfills.src.js +14 -0
  498. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/oldie.src.js +14 -0
  499. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/organization.src.js +13 -0
  500. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/overlapping-datalabels.src.js +11 -0
  501. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/parallel-coordinates.src.js +13 -0
  502. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/pareto.src.js +13 -0
  503. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/pathfinder.src.js +13 -0
  504. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/pattern-fill.src.js +14 -0
  505. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/price-indicator.src.js +15 -0
  506. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/pyramid3d.src.js +16 -0
  507. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/sankey.src.js +13 -0
  508. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/series-label.src.js +11 -0
  509. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/solid-gauge.src.js +14 -0
  510. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/sonification.src.js +44 -0
  511. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/static-scale.src.js +13 -0
  512. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/stock-tools.src.js +16 -0
  513. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/stock.src.js +33 -0
  514. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/streamgraph.src.js +13 -0
  515. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/sunburst.src.js +13 -0
  516. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/tilemap.src.js +14 -0
  517. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/timeline.src.js +14 -0
  518. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/treegrid.src.js +17 -0
  519. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/treemap.src.js +12 -0
  520. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/variable-pie.src.js +13 -0
  521. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/variwide.src.js +13 -0
  522. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/vector.src.js +13 -0
  523. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/venn.src.js +12 -0
  524. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/windbarb.src.js +13 -0
  525. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/wordcloud.src.js +12 -0
  526. package/src/assets/plugins/highcharts/code/es-modules/masters/modules/xrange.src.js +13 -0
  527. package/src/assets/plugins/highcharts/code/es-modules/masters/themes/avocado.src.js +14 -0
  528. package/src/assets/plugins/highcharts/code/es-modules/masters/themes/brand-dark.src.js +14 -0
  529. package/src/assets/plugins/highcharts/code/es-modules/masters/themes/brand-light.src.js +14 -0
  530. package/src/assets/plugins/highcharts/code/es-modules/masters/themes/dark-blue.src.js +14 -0
  531. package/src/assets/plugins/highcharts/code/es-modules/masters/themes/dark-green.src.js +14 -0
  532. package/src/assets/plugins/highcharts/code/es-modules/masters/themes/dark-unica.src.js +14 -0
  533. package/src/assets/plugins/highcharts/code/es-modules/masters/themes/gray.src.js +14 -0
  534. package/src/assets/plugins/highcharts/code/es-modules/masters/themes/grid-light.src.js +14 -0
  535. package/src/assets/plugins/highcharts/code/es-modules/masters/themes/grid.src.js +14 -0
  536. package/src/assets/plugins/highcharts/code/es-modules/masters/themes/high-contrast-dark.src.js +14 -0
  537. package/src/assets/plugins/highcharts/code/es-modules/masters/themes/high-contrast-light.src.js +14 -0
  538. package/src/assets/plugins/highcharts/code/es-modules/masters/themes/sand-signika.src.js +14 -0
  539. package/src/assets/plugins/highcharts/code/es-modules/masters/themes/skies.src.js +14 -0
  540. package/src/assets/plugins/highcharts/code/es-modules/masters/themes/sunset.src.js +14 -0
  541. package/src/assets/plugins/highcharts/code/highcharts-3d.js +105 -0
  542. package/src/assets/plugins/highcharts/code/highcharts-3d.js.map +1 -0
  543. package/src/assets/plugins/highcharts/code/highcharts-3d.src.js +5439 -0
  544. package/src/assets/plugins/highcharts/code/highcharts-more.js +201 -0
  545. package/src/assets/plugins/highcharts/code/highcharts-more.js.map +1 -0
  546. package/src/assets/plugins/highcharts/code/highcharts-more.src.js +12004 -0
  547. package/src/assets/plugins/highcharts/code/highcharts.js +593 -0
  548. package/src/assets/plugins/highcharts/code/highcharts.js.map +1 -0
  549. package/src/assets/plugins/highcharts/code/highcharts.src.js +47519 -0
  550. package/src/assets/plugins/highcharts/code/lib/canvg.js +8 -0
  551. package/src/assets/plugins/highcharts/code/lib/jspdf.js +283 -0
  552. package/src/assets/plugins/highcharts/code/lib/jspdf.src.js +21627 -0
  553. package/src/assets/plugins/highcharts/code/lib/svg2pdf.js +38 -0
  554. package/src/assets/plugins/highcharts/code/lib/svg2pdf.src.js +4390 -0
  555. package/src/assets/plugins/highcharts/code/modules/accessibility.js +256 -0
  556. package/src/assets/plugins/highcharts/code/modules/accessibility.js.map +1 -0
  557. package/src/assets/plugins/highcharts/code/modules/accessibility.src.js +11868 -0
  558. package/src/assets/plugins/highcharts/code/modules/annotations-advanced.js +201 -0
  559. package/src/assets/plugins/highcharts/code/modules/annotations-advanced.js.map +1 -0
  560. package/src/assets/plugins/highcharts/code/modules/annotations-advanced.src.js +9616 -0
  561. package/src/assets/plugins/highcharts/code/modules/annotations.js +135 -0
  562. package/src/assets/plugins/highcharts/code/modules/annotations.js.map +1 -0
  563. package/src/assets/plugins/highcharts/code/modules/annotations.src.js +6712 -0
  564. package/src/assets/plugins/highcharts/code/modules/arrow-symbols.js +12 -0
  565. package/src/assets/plugins/highcharts/code/modules/arrow-symbols.js.map +1 -0
  566. package/src/assets/plugins/highcharts/code/modules/arrow-symbols.src.js +202 -0
  567. package/src/assets/plugins/highcharts/code/modules/boost-canvas.js +25 -0
  568. package/src/assets/plugins/highcharts/code/modules/boost-canvas.js.map +1 -0
  569. package/src/assets/plugins/highcharts/code/modules/boost-canvas.src.js +593 -0
  570. package/src/assets/plugins/highcharts/code/modules/boost.js +90 -0
  571. package/src/assets/plugins/highcharts/code/modules/boost.js.map +1 -0
  572. package/src/assets/plugins/highcharts/code/modules/boost.src.js +3834 -0
  573. package/src/assets/plugins/highcharts/code/modules/broken-axis.js +20 -0
  574. package/src/assets/plugins/highcharts/code/modules/broken-axis.js.map +1 -0
  575. package/src/assets/plugins/highcharts/code/modules/broken-axis.src.js +682 -0
  576. package/src/assets/plugins/highcharts/code/modules/bullet.js +18 -0
  577. package/src/assets/plugins/highcharts/code/modules/bullet.js.map +1 -0
  578. package/src/assets/plugins/highcharts/code/modules/bullet.src.js +489 -0
  579. package/src/assets/plugins/highcharts/code/modules/coloraxis.js +33 -0
  580. package/src/assets/plugins/highcharts/code/modules/coloraxis.js.map +1 -0
  581. package/src/assets/plugins/highcharts/code/modules/coloraxis.src.js +1484 -0
  582. package/src/assets/plugins/highcharts/code/modules/current-date-indicator.js +13 -0
  583. package/src/assets/plugins/highcharts/code/modules/current-date-indicator.js.map +1 -0
  584. package/src/assets/plugins/highcharts/code/modules/current-date-indicator.src.js +138 -0
  585. package/src/assets/plugins/highcharts/code/modules/cylinder.js +20 -0
  586. package/src/assets/plugins/highcharts/code/modules/cylinder.js.map +1 -0
  587. package/src/assets/plugins/highcharts/code/modules/cylinder.src.js +585 -0
  588. package/src/assets/plugins/highcharts/code/modules/data.js +42 -0
  589. package/src/assets/plugins/highcharts/code/modules/data.js.map +1 -0
  590. package/src/assets/plugins/highcharts/code/modules/data.src.js +2383 -0
  591. package/src/assets/plugins/highcharts/code/modules/datagrouping.js +29 -0
  592. package/src/assets/plugins/highcharts/code/modules/datagrouping.js.map +1 -0
  593. package/src/assets/plugins/highcharts/code/modules/datagrouping.src.js +1275 -0
  594. package/src/assets/plugins/highcharts/code/modules/debugger.js +30 -0
  595. package/src/assets/plugins/highcharts/code/modules/debugger.js.map +1 -0
  596. package/src/assets/plugins/highcharts/code/modules/debugger.src.js +250 -0
  597. package/src/assets/plugins/highcharts/code/modules/dependency-wheel.js +20 -0
  598. package/src/assets/plugins/highcharts/code/modules/dependency-wheel.js.map +1 -0
  599. package/src/assets/plugins/highcharts/code/modules/dependency-wheel.src.js +533 -0
  600. package/src/assets/plugins/highcharts/code/modules/dotplot.js +15 -0
  601. package/src/assets/plugins/highcharts/code/modules/dotplot.js.map +1 -0
  602. package/src/assets/plugins/highcharts/code/modules/dotplot.src.js +216 -0
  603. package/src/assets/plugins/highcharts/code/modules/drag-panes.js +20 -0
  604. package/src/assets/plugins/highcharts/code/modules/drag-panes.js.map +1 -0
  605. package/src/assets/plugins/highcharts/code/modules/drag-panes.src.js +586 -0
  606. package/src/assets/plugins/highcharts/code/modules/draggable-points.js +41 -0
  607. package/src/assets/plugins/highcharts/code/modules/draggable-points.js.map +1 -0
  608. package/src/assets/plugins/highcharts/code/modules/draggable-points.src.js +2405 -0
  609. package/src/assets/plugins/highcharts/code/modules/drilldown.js +34 -0
  610. package/src/assets/plugins/highcharts/code/modules/drilldown.js.map +1 -0
  611. package/src/assets/plugins/highcharts/code/modules/drilldown.src.js +1266 -0
  612. package/src/assets/plugins/highcharts/code/modules/dumbbell.js +24 -0
  613. package/src/assets/plugins/highcharts/code/modules/dumbbell.js.map +1 -0
  614. package/src/assets/plugins/highcharts/code/modules/dumbbell.src.js +798 -0
  615. package/src/assets/plugins/highcharts/code/modules/export-data.js +30 -0
  616. package/src/assets/plugins/highcharts/code/modules/export-data.js.map +1 -0
  617. package/src/assets/plugins/highcharts/code/modules/export-data.src.js +1203 -0
  618. package/src/assets/plugins/highcharts/code/modules/exporting.js +48 -0
  619. package/src/assets/plugins/highcharts/code/modules/exporting.js.map +1 -0
  620. package/src/assets/plugins/highcharts/code/modules/exporting.src.js +2789 -0
  621. package/src/assets/plugins/highcharts/code/modules/full-screen.js +17 -0
  622. package/src/assets/plugins/highcharts/code/modules/full-screen.js.map +1 -0
  623. package/src/assets/plugins/highcharts/code/modules/full-screen.src.js +284 -0
  624. package/src/assets/plugins/highcharts/code/modules/funnel.js +21 -0
  625. package/src/assets/plugins/highcharts/code/modules/funnel.js.map +1 -0
  626. package/src/assets/plugins/highcharts/code/modules/funnel.src.js +777 -0
  627. package/src/assets/plugins/highcharts/code/modules/funnel3d.js +30 -0
  628. package/src/assets/plugins/highcharts/code/modules/funnel3d.js.map +1 -0
  629. package/src/assets/plugins/highcharts/code/modules/funnel3d.src.js +1004 -0
  630. package/src/assets/plugins/highcharts/code/modules/gantt.js +226 -0
  631. package/src/assets/plugins/highcharts/code/modules/gantt.js.map +1 -0
  632. package/src/assets/plugins/highcharts/code/modules/gantt.src.js +13485 -0
  633. package/src/assets/plugins/highcharts/code/modules/grid-axis.js +32 -0
  634. package/src/assets/plugins/highcharts/code/modules/grid-axis.js.map +1 -0
  635. package/src/assets/plugins/highcharts/code/modules/grid-axis.src.js +1160 -0
  636. package/src/assets/plugins/highcharts/code/modules/heatmap.js +46 -0
  637. package/src/assets/plugins/highcharts/code/modules/heatmap.js.map +1 -0
  638. package/src/assets/plugins/highcharts/code/modules/heatmap.src.js +2726 -0
  639. package/src/assets/plugins/highcharts/code/modules/heikinashi.js +17 -0
  640. package/src/assets/plugins/highcharts/code/modules/heikinashi.js.map +1 -0
  641. package/src/assets/plugins/highcharts/code/modules/heikinashi.src.js +396 -0
  642. package/src/assets/plugins/highcharts/code/modules/histogram-bellcurve.js +21 -0
  643. package/src/assets/plugins/highcharts/code/modules/histogram-bellcurve.js.map +1 -0
  644. package/src/assets/plugins/highcharts/code/modules/histogram-bellcurve.src.js +699 -0
  645. package/src/assets/plugins/highcharts/code/modules/hollowcandlestick.js +18 -0
  646. package/src/assets/plugins/highcharts/code/modules/hollowcandlestick.js.map +1 -0
  647. package/src/assets/plugins/highcharts/code/modules/hollowcandlestick.src.js +500 -0
  648. package/src/assets/plugins/highcharts/code/modules/item-series.js +21 -0
  649. package/src/assets/plugins/highcharts/code/modules/item-series.js.map +1 -0
  650. package/src/assets/plugins/highcharts/code/modules/item-series.src.js +660 -0
  651. package/src/assets/plugins/highcharts/code/modules/lollipop.js +14 -0
  652. package/src/assets/plugins/highcharts/code/modules/lollipop.js.map +1 -0
  653. package/src/assets/plugins/highcharts/code/modules/lollipop.src.js +318 -0
  654. package/src/assets/plugins/highcharts/code/modules/marker-clusters.js +45 -0
  655. package/src/assets/plugins/highcharts/code/modules/marker-clusters.js.map +1 -0
  656. package/src/assets/plugins/highcharts/code/modules/marker-clusters.src.js +1713 -0
  657. package/src/assets/plugins/highcharts/code/modules/networkgraph.js +58 -0
  658. package/src/assets/plugins/highcharts/code/modules/networkgraph.js.map +1 -0
  659. package/src/assets/plugins/highcharts/code/modules/networkgraph.src.js +2926 -0
  660. package/src/assets/plugins/highcharts/code/modules/no-data-to-display.js +15 -0
  661. package/src/assets/plugins/highcharts/code/modules/no-data-to-display.js.map +1 -0
  662. package/src/assets/plugins/highcharts/code/modules/no-data-to-display.src.js +231 -0
  663. package/src/assets/plugins/highcharts/code/modules/offline-exporting.js +27 -0
  664. package/src/assets/plugins/highcharts/code/modules/offline-exporting.js.map +1 -0
  665. package/src/assets/plugins/highcharts/code/modules/offline-exporting.src.js +847 -0
  666. package/src/assets/plugins/highcharts/code/modules/oldie-polyfills.js +17 -0
  667. package/src/assets/plugins/highcharts/code/modules/oldie-polyfills.js.map +1 -0
  668. package/src/assets/plugins/highcharts/code/modules/oldie-polyfills.src.js +220 -0
  669. package/src/assets/plugins/highcharts/code/modules/oldie.js +40 -0
  670. package/src/assets/plugins/highcharts/code/modules/oldie.js.map +1 -0
  671. package/src/assets/plugins/highcharts/code/modules/oldie.src.js +1443 -0
  672. package/src/assets/plugins/highcharts/code/modules/organization.js +22 -0
  673. package/src/assets/plugins/highcharts/code/modules/organization.js.map +1 -0
  674. package/src/assets/plugins/highcharts/code/modules/organization.src.js +736 -0
  675. package/src/assets/plugins/highcharts/code/modules/overlapping-datalabels.js +9 -0
  676. package/src/assets/plugins/highcharts/code/modules/overlapping-datalabels.js.map +1 -0
  677. package/src/assets/plugins/highcharts/code/modules/overlapping-datalabels.src.js +33 -0
  678. package/src/assets/plugins/highcharts/code/modules/parallel-coordinates.js +20 -0
  679. package/src/assets/plugins/highcharts/code/modules/parallel-coordinates.js.map +1 -0
  680. package/src/assets/plugins/highcharts/code/modules/parallel-coordinates.src.js +555 -0
  681. package/src/assets/plugins/highcharts/code/modules/pareto.js +16 -0
  682. package/src/assets/plugins/highcharts/code/modules/pareto.js.map +1 -0
  683. package/src/assets/plugins/highcharts/code/modules/pareto.src.js +382 -0
  684. package/src/assets/plugins/highcharts/code/modules/pathfinder.js +40 -0
  685. package/src/assets/plugins/highcharts/code/modules/pathfinder.js.map +1 -0
  686. package/src/assets/plugins/highcharts/code/modules/pathfinder.src.js +2693 -0
  687. package/src/assets/plugins/highcharts/code/modules/pattern-fill.js +24 -0
  688. package/src/assets/plugins/highcharts/code/modules/pattern-fill.js.map +1 -0
  689. package/src/assets/plugins/highcharts/code/modules/pattern-fill.src.js +640 -0
  690. package/src/assets/plugins/highcharts/code/modules/price-indicator.js +15 -0
  691. package/src/assets/plugins/highcharts/code/modules/price-indicator.js.map +1 -0
  692. package/src/assets/plugins/highcharts/code/modules/price-indicator.src.js +346 -0
  693. package/src/assets/plugins/highcharts/code/modules/pyramid3d.js +13 -0
  694. package/src/assets/plugins/highcharts/code/modules/pyramid3d.js.map +1 -0
  695. package/src/assets/plugins/highcharts/code/modules/pyramid3d.src.js +211 -0
  696. package/src/assets/plugins/highcharts/code/modules/sankey.js +38 -0
  697. package/src/assets/plugins/highcharts/code/modules/sankey.js.map +1 -0
  698. package/src/assets/plugins/highcharts/code/modules/sankey.src.js +1868 -0
  699. package/src/assets/plugins/highcharts/code/modules/series-label.js +24 -0
  700. package/src/assets/plugins/highcharts/code/modules/series-label.js.map +1 -0
  701. package/src/assets/plugins/highcharts/code/modules/series-label.src.js +852 -0
  702. package/src/assets/plugins/highcharts/code/modules/solid-gauge.js +19 -0
  703. package/src/assets/plugins/highcharts/code/modules/solid-gauge.js.map +1 -0
  704. package/src/assets/plugins/highcharts/code/modules/solid-gauge.src.js +650 -0
  705. package/src/assets/plugins/highcharts/code/modules/sonification.js +68 -0
  706. package/src/assets/plugins/highcharts/code/modules/sonification.js.map +1 -0
  707. package/src/assets/plugins/highcharts/code/modules/sonification.src.js +3869 -0
  708. package/src/assets/plugins/highcharts/code/modules/static-scale.js +13 -0
  709. package/src/assets/plugins/highcharts/code/modules/static-scale.js.map +1 -0
  710. package/src/assets/plugins/highcharts/code/modules/static-scale.src.js +117 -0
  711. package/src/assets/plugins/highcharts/code/modules/stock-tools.js +189 -0
  712. package/src/assets/plugins/highcharts/code/modules/stock-tools.js.map +1 -0
  713. package/src/assets/plugins/highcharts/code/modules/stock-tools.src.js +9592 -0
  714. package/src/assets/plugins/highcharts/code/modules/stock.js +213 -0
  715. package/src/assets/plugins/highcharts/code/modules/stock.js.map +1 -0
  716. package/src/assets/plugins/highcharts/code/modules/stock.src.js +12237 -0
  717. package/src/assets/plugins/highcharts/code/modules/streamgraph.js +13 -0
  718. package/src/assets/plugins/highcharts/code/modules/streamgraph.js.map +1 -0
  719. package/src/assets/plugins/highcharts/code/modules/streamgraph.src.js +253 -0
  720. package/src/assets/plugins/highcharts/code/modules/sunburst.js +68 -0
  721. package/src/assets/plugins/highcharts/code/modules/sunburst.js.map +1 -0
  722. package/src/assets/plugins/highcharts/code/modules/sunburst.src.js +3721 -0
  723. package/src/assets/plugins/highcharts/code/modules/tilemap.js +26 -0
  724. package/src/assets/plugins/highcharts/code/modules/tilemap.js.map +1 -0
  725. package/src/assets/plugins/highcharts/code/modules/tilemap.src.js +878 -0
  726. package/src/assets/plugins/highcharts/code/modules/timeline.js +28 -0
  727. package/src/assets/plugins/highcharts/code/modules/timeline.js.map +1 -0
  728. package/src/assets/plugins/highcharts/code/modules/timeline.src.js +815 -0
  729. package/src/assets/plugins/highcharts/code/modules/treegrid.js +65 -0
  730. package/src/assets/plugins/highcharts/code/modules/treegrid.js.map +1 -0
  731. package/src/assets/plugins/highcharts/code/modules/treegrid.src.js +3294 -0
  732. package/src/assets/plugins/highcharts/code/modules/treemap.js +49 -0
  733. package/src/assets/plugins/highcharts/code/modules/treemap.js.map +1 -0
  734. package/src/assets/plugins/highcharts/code/modules/treemap.src.js +2416 -0
  735. package/src/assets/plugins/highcharts/code/modules/variable-pie.js +18 -0
  736. package/src/assets/plugins/highcharts/code/modules/variable-pie.js.map +1 -0
  737. package/src/assets/plugins/highcharts/code/modules/variable-pie.src.js +533 -0
  738. package/src/assets/plugins/highcharts/code/modules/variwide.js +21 -0
  739. package/src/assets/plugins/highcharts/code/modules/variwide.js.map +1 -0
  740. package/src/assets/plugins/highcharts/code/modules/variwide.src.js +529 -0
  741. package/src/assets/plugins/highcharts/code/modules/vector.js +16 -0
  742. package/src/assets/plugins/highcharts/code/modules/vector.js.map +1 -0
  743. package/src/assets/plugins/highcharts/code/modules/vector.src.js +409 -0
  744. package/src/assets/plugins/highcharts/code/modules/venn.js +39 -0
  745. package/src/assets/plugins/highcharts/code/modules/venn.js.map +1 -0
  746. package/src/assets/plugins/highcharts/code/modules/venn.src.js +2095 -0
  747. package/src/assets/plugins/highcharts/code/modules/windbarb.js +24 -0
  748. package/src/assets/plugins/highcharts/code/modules/windbarb.js.map +1 -0
  749. package/src/assets/plugins/highcharts/code/modules/windbarb.src.js +772 -0
  750. package/src/assets/plugins/highcharts/code/modules/wordcloud.js +31 -0
  751. package/src/assets/plugins/highcharts/code/modules/wordcloud.js.map +1 -0
  752. package/src/assets/plugins/highcharts/code/modules/wordcloud.src.js +1584 -0
  753. package/src/assets/plugins/highcharts/code/modules/xrange.js +26 -0
  754. package/src/assets/plugins/highcharts/code/modules/xrange.js.map +1 -0
  755. package/src/assets/plugins/highcharts/code/modules/xrange.src.js +940 -0
  756. package/src/assets/plugins/highcharts/code/themes/avocado.js +10 -0
  757. package/src/assets/plugins/highcharts/code/themes/avocado.js.map +1 -0
  758. package/src/assets/plugins/highcharts/code/themes/avocado.src.js +103 -0
  759. package/src/assets/plugins/highcharts/code/themes/brand-dark.js +15 -0
  760. package/src/assets/plugins/highcharts/code/themes/brand-dark.js.map +1 -0
  761. package/src/assets/plugins/highcharts/code/themes/brand-dark.src.js +328 -0
  762. package/src/assets/plugins/highcharts/code/themes/brand-light.js +15 -0
  763. package/src/assets/plugins/highcharts/code/themes/brand-light.js.map +1 -0
  764. package/src/assets/plugins/highcharts/code/themes/brand-light.src.js +294 -0
  765. package/src/assets/plugins/highcharts/code/themes/dark-blue.js +15 -0
  766. package/src/assets/plugins/highcharts/code/themes/dark-blue.js.map +1 -0
  767. package/src/assets/plugins/highcharts/code/themes/dark-blue.src.js +315 -0
  768. package/src/assets/plugins/highcharts/code/themes/dark-green.js +15 -0
  769. package/src/assets/plugins/highcharts/code/themes/dark-green.js.map +1 -0
  770. package/src/assets/plugins/highcharts/code/themes/dark-green.src.js +315 -0
  771. package/src/assets/plugins/highcharts/code/themes/dark-unica.js +14 -0
  772. package/src/assets/plugins/highcharts/code/themes/dark-unica.js.map +1 -0
  773. package/src/assets/plugins/highcharts/code/themes/dark-unica.src.js +284 -0
  774. package/src/assets/plugins/highcharts/code/themes/gray.js +15 -0
  775. package/src/assets/plugins/highcharts/code/themes/gray.js.map +1 -0
  776. package/src/assets/plugins/highcharts/code/themes/gray.src.js +323 -0
  777. package/src/assets/plugins/highcharts/code/themes/grid-light.js +11 -0
  778. package/src/assets/plugins/highcharts/code/themes/grid-light.js.map +1 -0
  779. package/src/assets/plugins/highcharts/code/themes/grid-light.src.js +146 -0
  780. package/src/assets/plugins/highcharts/code/themes/grid.js +12 -0
  781. package/src/assets/plugins/highcharts/code/themes/grid.js.map +1 -0
  782. package/src/assets/plugins/highcharts/code/themes/grid.src.js +176 -0
  783. package/src/assets/plugins/highcharts/code/themes/high-contrast-dark.js +14 -0
  784. package/src/assets/plugins/highcharts/code/themes/high-contrast-dark.js.map +1 -0
  785. package/src/assets/plugins/highcharts/code/themes/high-contrast-dark.src.js +275 -0
  786. package/src/assets/plugins/highcharts/code/themes/high-contrast-light.js +10 -0
  787. package/src/assets/plugins/highcharts/code/themes/high-contrast-light.js.map +1 -0
  788. package/src/assets/plugins/highcharts/code/themes/high-contrast-light.src.js +105 -0
  789. package/src/assets/plugins/highcharts/code/themes/sand-signika.js +12 -0
  790. package/src/assets/plugins/highcharts/code/themes/sand-signika.js.map +1 -0
  791. package/src/assets/plugins/highcharts/code/themes/sand-signika.src.js +179 -0
  792. package/src/assets/plugins/highcharts/code/themes/skies.js +12 -0
  793. package/src/assets/plugins/highcharts/code/themes/skies.js.map +1 -0
  794. package/src/assets/plugins/highcharts/code/themes/skies.src.js +167 -0
  795. package/src/assets/plugins/highcharts/code/themes/sunset.js +10 -0
  796. package/src/assets/plugins/highcharts/code/themes/sunset.js.map +1 -0
  797. package/src/assets/plugins/highcharts/code/themes/sunset.src.js +102 -0
  798. package/src/assets/plugins/highcharts/examples/3d-area-multiple/index.html +192 -0
  799. package/src/assets/plugins/highcharts/examples/3d-column-interactive/index.html +111 -0
  800. package/src/assets/plugins/highcharts/examples/3d-column-null-values/index.html +118 -0
  801. package/src/assets/plugins/highcharts/examples/3d-column-stacking-grouping/index.html +144 -0
  802. package/src/assets/plugins/highcharts/examples/3d-pie/index.html +130 -0
  803. package/src/assets/plugins/highcharts/examples/3d-pie-donut/index.html +112 -0
  804. package/src/assets/plugins/highcharts/examples/3d-scatter-draggable/index.html +221 -0
  805. package/src/assets/plugins/highcharts/examples/accessible-line/index.html +198 -0
  806. package/src/assets/plugins/highcharts/examples/accessible-pie/index.html +213 -0
  807. package/src/assets/plugins/highcharts/examples/advanced-accessible/index.html +271 -0
  808. package/src/assets/plugins/highcharts/examples/annotations/index.html +2170 -0
  809. package/src/assets/plugins/highcharts/examples/area-basic/index.html +157 -0
  810. package/src/assets/plugins/highcharts/examples/area-inverted/index.html +135 -0
  811. package/src/assets/plugins/highcharts/examples/area-missing/index.html +125 -0
  812. package/src/assets/plugins/highcharts/examples/area-negative/index.html +101 -0
  813. package/src/assets/plugins/highcharts/examples/area-stacked/index.html +136 -0
  814. package/src/assets/plugins/highcharts/examples/area-stacked-percent/index.html +141 -0
  815. package/src/assets/plugins/highcharts/examples/arearange/index.html +132 -0
  816. package/src/assets/plugins/highcharts/examples/arearange-line/index.html +195 -0
  817. package/src/assets/plugins/highcharts/examples/areaspline/index.html +137 -0
  818. package/src/assets/plugins/highcharts/examples/bar-basic/index.html +143 -0
  819. package/src/assets/plugins/highcharts/examples/bar-negative-stack/index.html +173 -0
  820. package/src/assets/plugins/highcharts/examples/bar-stacked/index.html +112 -0
  821. package/src/assets/plugins/highcharts/examples/bellcurve/index.html +133 -0
  822. package/src/assets/plugins/highcharts/examples/box-plot/index.html +149 -0
  823. package/src/assets/plugins/highcharts/examples/bubble/index.html +209 -0
  824. package/src/assets/plugins/highcharts/examples/bubble-3d/index.html +159 -0
  825. package/src/assets/plugins/highcharts/examples/bullet-graph/index.html +233 -0
  826. package/src/assets/plugins/highcharts/examples/chart-update/index.html +137 -0
  827. package/src/assets/plugins/highcharts/examples/column-basic/index.html +144 -0
  828. package/src/assets/plugins/highcharts/examples/column-comparison/index.html +350 -0
  829. package/src/assets/plugins/highcharts/examples/column-drilldown/index.html +387 -0
  830. package/src/assets/plugins/highcharts/examples/column-negative/index.html +101 -0
  831. package/src/assets/plugins/highcharts/examples/column-parsed/index.html +138 -0
  832. package/src/assets/plugins/highcharts/examples/column-placement/index.html +160 -0
  833. package/src/assets/plugins/highcharts/examples/column-pyramid/index.html +117 -0
  834. package/src/assets/plugins/highcharts/examples/column-rotated-labels/index.html +147 -0
  835. package/src/assets/plugins/highcharts/examples/column-stacked/index.html +138 -0
  836. package/src/assets/plugins/highcharts/examples/column-stacked-and-grouped/index.html +133 -0
  837. package/src/assets/plugins/highcharts/examples/column-stacked-percent/index.html +113 -0
  838. package/src/assets/plugins/highcharts/examples/columnrange/index.html +145 -0
  839. package/src/assets/plugins/highcharts/examples/combo/index.html +146 -0
  840. package/src/assets/plugins/highcharts/examples/combo-dual-axes/index.html +153 -0
  841. package/src/assets/plugins/highcharts/examples/combo-meteogram/index.html +768 -0
  842. package/src/assets/plugins/highcharts/examples/combo-multi-axes/index.html +222 -0
  843. package/src/assets/plugins/highcharts/examples/combo-regression/index.html +110 -0
  844. package/src/assets/plugins/highcharts/examples/combo-timeline/index.html +592 -0
  845. package/src/assets/plugins/highcharts/examples/cylinder/index.html +104 -0
  846. package/src/assets/plugins/highcharts/examples/dependency-wheel/index.html +165 -0
  847. package/src/assets/plugins/highcharts/examples/dumbbell/index.html +230 -0
  848. package/src/assets/plugins/highcharts/examples/dynamic-click-to-add/index.html +147 -0
  849. package/src/assets/plugins/highcharts/examples/dynamic-master-detail/index.html +316 -0
  850. package/src/assets/plugins/highcharts/examples/dynamic-update/index.html +163 -0
  851. package/src/assets/plugins/highcharts/examples/error-bar/index.html +154 -0
  852. package/src/assets/plugins/highcharts/examples/euler-diagram/index.html +119 -0
  853. package/src/assets/plugins/highcharts/examples/flame/index.html +1324 -0
  854. package/src/assets/plugins/highcharts/examples/funnel/index.html +131 -0
  855. package/src/assets/plugins/highcharts/examples/funnel3d/index.html +117 -0
  856. package/src/assets/plugins/highcharts/examples/gauge-activity/index.html +272 -0
  857. package/src/assets/plugins/highcharts/examples/gauge-clock/index.html +261 -0
  858. package/src/assets/plugins/highcharts/examples/gauge-dual/index.html +181 -0
  859. package/src/assets/plugins/highcharts/examples/gauge-solid/index.html +248 -0
  860. package/src/assets/plugins/highcharts/examples/gauge-speedometer/index.html +189 -0
  861. package/src/assets/plugins/highcharts/examples/gauge-vu-meter/index.html +210 -0
  862. package/src/assets/plugins/highcharts/examples/heatmap/index.html +168 -0
  863. package/src/assets/plugins/highcharts/examples/heatmap-canvas/index.html +8928 -0
  864. package/src/assets/plugins/highcharts/examples/histogram/index.html +133 -0
  865. package/src/assets/plugins/highcharts/examples/honeycomb-usa/index.html +518 -0
  866. package/src/assets/plugins/highcharts/examples/line-ajax/index.html +206 -0
  867. package/src/assets/plugins/highcharts/examples/line-basic/index.html +147 -0
  868. package/src/assets/plugins/highcharts/examples/line-boost/index.html +144 -0
  869. package/src/assets/plugins/highcharts/examples/line-labels/index.html +108 -0
  870. package/src/assets/plugins/highcharts/examples/line-log-axis/index.html +106 -0
  871. package/src/assets/plugins/highcharts/examples/line-time-series/index.html +136 -0
  872. package/src/assets/plugins/highcharts/examples/live-data/index.html +155 -0
  873. package/src/assets/plugins/highcharts/examples/lollipop/index.html +161 -0
  874. package/src/assets/plugins/highcharts/examples/network-graph/index.html +277 -0
  875. package/src/assets/plugins/highcharts/examples/organization-chart/index.html +224 -0
  876. package/src/assets/plugins/highcharts/examples/packed-bubble/index.html +588 -0
  877. package/src/assets/plugins/highcharts/examples/packed-bubble-split/index.html +589 -0
  878. package/src/assets/plugins/highcharts/examples/parallel-coordinates/index.html +176 -0
  879. package/src/assets/plugins/highcharts/examples/pareto/index.html +133 -0
  880. package/src/assets/plugins/highcharts/examples/parliament-chart/index.html +138 -0
  881. package/src/assets/plugins/highcharts/examples/pie-basic/index.html +141 -0
  882. package/src/assets/plugins/highcharts/examples/pie-donut/index.html +347 -0
  883. package/src/assets/plugins/highcharts/examples/pie-drilldown/index.html +418 -0
  884. package/src/assets/plugins/highcharts/examples/pie-gradient/index.html +133 -0
  885. package/src/assets/plugins/highcharts/examples/pie-legend/index.html +128 -0
  886. package/src/assets/plugins/highcharts/examples/pie-monochrome/index.html +139 -0
  887. package/src/assets/plugins/highcharts/examples/pie-semi-circle/index.html +133 -0
  888. package/src/assets/plugins/highcharts/examples/polar/index.html +136 -0
  889. package/src/assets/plugins/highcharts/examples/polar-radial-bar/index.html +169 -0
  890. package/src/assets/plugins/highcharts/examples/polar-spider/index.html +148 -0
  891. package/src/assets/plugins/highcharts/examples/polar-wind-rose/index.html +351 -0
  892. package/src/assets/plugins/highcharts/examples/polygon/index.html +190 -0
  893. package/src/assets/plugins/highcharts/examples/pyramid/index.html +126 -0
  894. package/src/assets/plugins/highcharts/examples/pyramid3d/index.html +117 -0
  895. package/src/assets/plugins/highcharts/examples/renderer/index.html +334 -0
  896. package/src/assets/plugins/highcharts/examples/responsive/index.html +176 -0
  897. package/src/assets/plugins/highcharts/examples/sankey-diagram/index.html +145 -0
  898. package/src/assets/plugins/highcharts/examples/scatter/index.html +246 -0
  899. package/src/assets/plugins/highcharts/examples/scatter-boost/index.html +142 -0
  900. package/src/assets/plugins/highcharts/examples/sonification/index.html +331 -0
  901. package/src/assets/plugins/highcharts/examples/sparkline/index.html +676 -0
  902. package/src/assets/plugins/highcharts/examples/spline-inverted/index.html +135 -0
  903. package/src/assets/plugins/highcharts/examples/spline-irregular-time/index.html +255 -0
  904. package/src/assets/plugins/highcharts/examples/spline-plot-bands/index.html +223 -0
  905. package/src/assets/plugins/highcharts/examples/spline-symbols/index.html +139 -0
  906. package/src/assets/plugins/highcharts/examples/streamgraph/index.html +447 -0
  907. package/src/assets/plugins/highcharts/examples/styled-mode-column/index.html +146 -0
  908. package/src/assets/plugins/highcharts/examples/styled-mode-pie/index.html +119 -0
  909. package/src/assets/plugins/highcharts/examples/sunburst/index.html +1520 -0
  910. package/src/assets/plugins/highcharts/examples/synchronized-charts/index.html +238 -0
  911. package/src/assets/plugins/highcharts/examples/timeline/index.html +142 -0
  912. package/src/assets/plugins/highcharts/examples/treemap-coloraxis/index.html +119 -0
  913. package/src/assets/plugins/highcharts/examples/treemap-large-dataset/index.html +172 -0
  914. package/src/assets/plugins/highcharts/examples/treemap-with-levels/index.html +151 -0
  915. package/src/assets/plugins/highcharts/examples/variable-radius-pie/index.html +131 -0
  916. package/src/assets/plugins/highcharts/examples/variwide/index.html +146 -0
  917. package/src/assets/plugins/highcharts/examples/vector-plot/index.html +494 -0
  918. package/src/assets/plugins/highcharts/examples/venn-diagram/index.html +124 -0
  919. package/src/assets/plugins/highcharts/examples/waterfall/index.html +143 -0
  920. package/src/assets/plugins/highcharts/examples/windbarb-series/index.html +189 -0
  921. package/src/assets/plugins/highcharts/examples/wordcloud/index.html +110 -0
  922. package/src/assets/plugins/highcharts/examples/x-range/index.html +142 -0
  923. package/src/assets/plugins/highcharts/gfx/stock-icons/annotations-hidden.svg +19 -0
  924. package/src/assets/plugins/highcharts/gfx/stock-icons/annotations-visible.svg +20 -0
  925. package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-bottom.svg +9 -0
  926. package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-left.svg +9 -0
  927. package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-line.svg +11 -0
  928. package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-ray.svg +10 -0
  929. package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-right.svg +9 -0
  930. package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-segment.svg +11 -0
  931. package/src/assets/plugins/highcharts/gfx/stock-icons/arrow.svg +13 -0
  932. package/src/assets/plugins/highcharts/gfx/stock-icons/circle.svg +13 -0
  933. package/src/assets/plugins/highcharts/gfx/stock-icons/close.svg +8 -0
  934. package/src/assets/plugins/highcharts/gfx/stock-icons/crooked-3.svg +13 -0
  935. package/src/assets/plugins/highcharts/gfx/stock-icons/crooked-5.svg +11 -0
  936. package/src/assets/plugins/highcharts/gfx/stock-icons/current-price-hide.svg +40 -0
  937. package/src/assets/plugins/highcharts/gfx/stock-icons/current-price-show.svg +41 -0
  938. package/src/assets/plugins/highcharts/gfx/stock-icons/destroy.svg +14 -0
  939. package/src/assets/plugins/highcharts/gfx/stock-icons/drawing.svg +18 -0
  940. package/src/assets/plugins/highcharts/gfx/stock-icons/edit.svg +10 -0
  941. package/src/assets/plugins/highcharts/gfx/stock-icons/elliott-3.svg +59 -0
  942. package/src/assets/plugins/highcharts/gfx/stock-icons/elliott-5.svg +41 -0
  943. package/src/assets/plugins/highcharts/gfx/stock-icons/ellipse.svg +11 -0
  944. package/src/assets/plugins/highcharts/gfx/stock-icons/fibonacci-timezone.svg +16 -0
  945. package/src/assets/plugins/highcharts/gfx/stock-icons/fibonacci.svg +25 -0
  946. package/src/assets/plugins/highcharts/gfx/stock-icons/flag-basic.svg +10 -0
  947. package/src/assets/plugins/highcharts/gfx/stock-icons/flag-diamond.svg +12 -0
  948. package/src/assets/plugins/highcharts/gfx/stock-icons/flag-elipse.svg +13 -0
  949. package/src/assets/plugins/highcharts/gfx/stock-icons/flag-trapeze.svg +14 -0
  950. package/src/assets/plugins/highcharts/gfx/stock-icons/fullscreen.svg +15 -0
  951. package/src/assets/plugins/highcharts/gfx/stock-icons/horizontal-line.svg +8 -0
  952. package/src/assets/plugins/highcharts/gfx/stock-icons/indicators.svg +27 -0
  953. package/src/assets/plugins/highcharts/gfx/stock-icons/label.svg +16 -0
  954. package/src/assets/plugins/highcharts/gfx/stock-icons/line.svg +11 -0
  955. package/src/assets/plugins/highcharts/gfx/stock-icons/linear.svg +11 -0
  956. package/src/assets/plugins/highcharts/gfx/stock-icons/logarithmic.svg +1 -0
  957. package/src/assets/plugins/highcharts/gfx/stock-icons/measure-x.svg +23 -0
  958. package/src/assets/plugins/highcharts/gfx/stock-icons/measure-xy.svg +28 -0
  959. package/src/assets/plugins/highcharts/gfx/stock-icons/measure-y.svg +24 -0
  960. package/src/assets/plugins/highcharts/gfx/stock-icons/panning.svg +17 -0
  961. package/src/assets/plugins/highcharts/gfx/stock-icons/parallel-channel.svg +15 -0
  962. package/src/assets/plugins/highcharts/gfx/stock-icons/pitchfork.svg +13 -0
  963. package/src/assets/plugins/highcharts/gfx/stock-icons/ray.svg +10 -0
  964. package/src/assets/plugins/highcharts/gfx/stock-icons/rectangle.svg +8 -0
  965. package/src/assets/plugins/highcharts/gfx/stock-icons/remove-annotations.svg +15 -0
  966. package/src/assets/plugins/highcharts/gfx/stock-icons/save-chart.svg +12 -0
  967. package/src/assets/plugins/highcharts/gfx/stock-icons/segment.svg +10 -0
  968. package/src/assets/plugins/highcharts/gfx/stock-icons/separator.svg +10 -0
  969. package/src/assets/plugins/highcharts/gfx/stock-icons/series-candlestick.svg +12 -0
  970. package/src/assets/plugins/highcharts/gfx/stock-icons/series-heikin-ashi.svg +1 -0
  971. package/src/assets/plugins/highcharts/gfx/stock-icons/series-hlc.svg +1 -0
  972. package/src/assets/plugins/highcharts/gfx/stock-icons/series-hollow-candlestick.svg +1 -0
  973. package/src/assets/plugins/highcharts/gfx/stock-icons/series-line.svg +11 -0
  974. package/src/assets/plugins/highcharts/gfx/stock-icons/series-ohlc.svg +14 -0
  975. package/src/assets/plugins/highcharts/gfx/stock-icons/text.svg +13 -0
  976. package/src/assets/plugins/highcharts/gfx/stock-icons/time-cycles.svg +35 -0
  977. package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-arrow.svg +7 -0
  978. package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-counter.svg +23 -0
  979. package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-double-arrow.svg +10 -0
  980. package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-label.svg +14 -0
  981. package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-line.svg +8 -0
  982. package/src/assets/plugins/highcharts/gfx/stock-icons/zoom-x.svg +17 -0
  983. package/src/assets/plugins/highcharts/gfx/stock-icons/zoom-xy.svg +13 -0
  984. package/src/assets/plugins/highcharts/gfx/stock-icons/zoom-y.svg +17 -0
  985. package/src/assets/plugins/highcharts/gfx/vml-radial-gradient.png +0 -0
  986. package/src/assets/plugins/highcharts/graphics/color-picker.svg +12 -0
  987. package/src/assets/plugins/highcharts/graphics/cursor.svg +11 -0
  988. package/src/assets/plugins/highcharts/graphics/earth.svg +432 -0
  989. package/src/assets/plugins/highcharts/graphics/feature.svg +13 -0
  990. package/src/assets/plugins/highcharts/graphics/flag-circle.svg +17 -0
  991. package/src/assets/plugins/highcharts/graphics/flag-circlepin.svg +15 -0
  992. package/src/assets/plugins/highcharts/graphics/flag-diamondpin.svg +15 -0
  993. package/src/assets/plugins/highcharts/graphics/flag-flag.svg +14 -0
  994. package/src/assets/plugins/highcharts/graphics/flag-rectangle.svg +18 -0
  995. package/src/assets/plugins/highcharts/graphics/flag-squarepin.svg +16 -0
  996. package/src/assets/plugins/highcharts/graphics/flag.svg +15 -0
  997. package/src/assets/plugins/highcharts/graphics/homepage/apple.svg +55 -0
  998. package/src/assets/plugins/highcharts/graphics/homepage/award.png +0 -0
  999. package/src/assets/plugins/highcharts/graphics/homepage/cloud.png +0 -0
  1000. package/src/assets/plugins/highcharts/graphics/homepage/earth.png +0 -0
  1001. package/src/assets/plugins/highcharts/graphics/homepage/jupiter.png +0 -0
  1002. package/src/assets/plugins/highcharts/graphics/homepage/mars.png +0 -0
  1003. package/src/assets/plugins/highcharts/graphics/homepage/mercury.png +0 -0
  1004. package/src/assets/plugins/highcharts/graphics/homepage/moon.png +0 -0
  1005. package/src/assets/plugins/highcharts/graphics/homepage/neptune.png +0 -0
  1006. package/src/assets/plugins/highcharts/graphics/homepage/p1.png +0 -0
  1007. package/src/assets/plugins/highcharts/graphics/homepage/p1.svg +9 -0
  1008. package/src/assets/plugins/highcharts/graphics/homepage/p2.png +0 -0
  1009. package/src/assets/plugins/highcharts/graphics/homepage/p2.svg +9 -0
  1010. package/src/assets/plugins/highcharts/graphics/homepage/p3.png +0 -0
  1011. package/src/assets/plugins/highcharts/graphics/homepage/p3.svg +9 -0
  1012. package/src/assets/plugins/highcharts/graphics/homepage/p4.png +0 -0
  1013. package/src/assets/plugins/highcharts/graphics/homepage/p4.svg +9 -0
  1014. package/src/assets/plugins/highcharts/graphics/homepage/p5.png +0 -0
  1015. package/src/assets/plugins/highcharts/graphics/homepage/p5.svg +9 -0
  1016. package/src/assets/plugins/highcharts/graphics/homepage/p6.png +0 -0
  1017. package/src/assets/plugins/highcharts/graphics/homepage/p6.svg +9 -0
  1018. package/src/assets/plugins/highcharts/graphics/homepage/product.png +0 -0
  1019. package/src/assets/plugins/highcharts/graphics/homepage/saturn.png +0 -0
  1020. package/src/assets/plugins/highcharts/graphics/homepage/sun.png +0 -0
  1021. package/src/assets/plugins/highcharts/graphics/homepage/uranus.png +0 -0
  1022. package/src/assets/plugins/highcharts/graphics/homepage/venus.png +0 -0
  1023. package/src/assets/plugins/highcharts/graphics/homepage/version.png +0 -0
  1024. package/src/assets/plugins/highcharts/graphics/rect.svg +12 -0
  1025. package/src/assets/plugins/highcharts/graphics/reset.svg +16 -0
  1026. package/src/assets/plugins/highcharts/graphics/sand.png +0 -0
  1027. package/src/assets/plugins/highcharts/graphics/save-chart-cloud.svg +14 -0
  1028. package/src/assets/plugins/highcharts/graphics/save.svg +14 -0
  1029. package/src/assets/plugins/highcharts/graphics/search.png +0 -0
  1030. package/src/assets/plugins/highcharts/graphics/skies.jpg +0 -0
  1031. package/src/assets/plugins/highcharts/graphics/snow.png +0 -0
  1032. package/src/assets/plugins/highcharts/graphics/sun.png +0 -0
  1033. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/blue-flake-big.svg +32 -0
  1034. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/blue-star-big.svg +16 -0
  1035. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/car-tree.svg +429 -0
  1036. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/green-flake-big.svg +119 -0
  1037. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/green-star.svg +20 -0
  1038. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/hill.svg +193 -0
  1039. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/hill2.svg +164 -0
  1040. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/horse.svg +1 -0
  1041. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/people.svg +2336 -0
  1042. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/pines.svg +777 -0
  1043. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/pond-skate.svg +1 -0
  1044. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/red-flake.svg +30 -0
  1045. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/red-house.svg +85 -0
  1046. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/red-star-big.svg +36 -0
  1047. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/red-star.svg +20 -0
  1048. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/santa-b.svg +91 -0
  1049. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/santa.svg +91 -0
  1050. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/snow-mound.svg +146 -0
  1051. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/snow.svg +20788 -0
  1052. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/sun-disk.svg +597 -0
  1053. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/tree-cluster.svg +2735 -0
  1054. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/white-flake-big.svg +99 -0
  1055. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/white-flake.big.svg +96 -0
  1056. package/src/assets/plugins/highcharts/graphics/xmas-card-2020/white-star-big.svg +36 -0
  1057. package/src/assets/plugins/highcharts/index.html +133 -0
@@ -0,0 +1,2693 @@
1
+ /**
2
+ * @license Highcharts Gantt JS v9.3.3 (2022-02-01)
3
+ *
4
+ * Pathfinder
5
+ *
6
+ * (c) 2016-2021 Øystein Moseng
7
+ *
8
+ * License: www.highcharts.com/license
9
+ */
10
+ 'use strict';
11
+ (function (factory) {
12
+ if (typeof module === 'object' && module.exports) {
13
+ factory['default'] = factory;
14
+ module.exports = factory;
15
+ } else if (typeof define === 'function' && define.amd) {
16
+ define('highcharts/modules/pathfinder', ['highcharts'], function (Highcharts) {
17
+ factory(Highcharts);
18
+ factory.Highcharts = Highcharts;
19
+ return factory;
20
+ });
21
+ } else {
22
+ factory(typeof Highcharts !== 'undefined' ? Highcharts : undefined);
23
+ }
24
+ }(function (Highcharts) {
25
+ var _modules = Highcharts ? Highcharts._modules : {};
26
+ function _registerModule(obj, path, args, fn) {
27
+ if (!obj.hasOwnProperty(path)) {
28
+ obj[path] = fn.apply(null, args);
29
+ }
30
+ }
31
+ _registerModule(_modules, 'Extensions/ArrowSymbols.js', [_modules['Core/Renderer/SVG/SVGRenderer.js']], function (SVGRenderer) {
32
+ /* *
33
+ *
34
+ * (c) 2017 Highsoft AS
35
+ * Authors: Lars A. V. Cabrera
36
+ *
37
+ * License: www.highcharts.com/license
38
+ *
39
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
40
+ *
41
+ * */
42
+ var symbols = SVGRenderer.prototype.symbols;
43
+ /* *
44
+ *
45
+ * Functions
46
+ *
47
+ * */
48
+ /**
49
+ * Creates an arrow symbol. Like a triangle, except not filled.
50
+ * ```
51
+ * o
52
+ * o
53
+ * o
54
+ * o
55
+ * o
56
+ * o
57
+ * o
58
+ * ```
59
+ *
60
+ * @private
61
+ * @function
62
+ *
63
+ * @param {number} x
64
+ * x position of the arrow
65
+ *
66
+ * @param {number} y
67
+ * y position of the arrow
68
+ *
69
+ * @param {number} w
70
+ * width of the arrow
71
+ *
72
+ * @param {number} h
73
+ * height of the arrow
74
+ *
75
+ * @return {Highcharts.SVGPathArray}
76
+ * Path array
77
+ */
78
+ function arrow(x, y, w, h) {
79
+ return [
80
+ ['M', x, y + h / 2],
81
+ ['L', x + w, y],
82
+ ['L', x, y + h / 2],
83
+ ['L', x + w, y + h]
84
+ ];
85
+ }
86
+ /**
87
+ * Creates a half-width arrow symbol. Like a triangle, except not filled.
88
+ * ```
89
+ * o
90
+ * o
91
+ * o
92
+ * o
93
+ * o
94
+ * ```
95
+ *
96
+ * @private
97
+ * @function
98
+ *
99
+ * @param {number} x
100
+ * x position of the arrow
101
+ *
102
+ * @param {number} y
103
+ * y position of the arrow
104
+ *
105
+ * @param {number} w
106
+ * width of the arrow
107
+ *
108
+ * @param {number} h
109
+ * height of the arrow
110
+ *
111
+ * @return {Highcharts.SVGPathArray}
112
+ * Path array
113
+ */
114
+ function arrowHalf(x, y, w, h) {
115
+ return arrow(x, y, w / 2, h);
116
+ }
117
+ /**
118
+ * Creates a left-oriented triangle.
119
+ * ```
120
+ * o
121
+ * ooooooo
122
+ * ooooooooooooo
123
+ * ooooooo
124
+ * o
125
+ * ```
126
+ *
127
+ * @private
128
+ * @function
129
+ *
130
+ * @param {number} x
131
+ * x position of the triangle
132
+ *
133
+ * @param {number} y
134
+ * y position of the triangle
135
+ *
136
+ * @param {number} w
137
+ * width of the triangle
138
+ *
139
+ * @param {number} h
140
+ * height of the triangle
141
+ *
142
+ * @return {Highcharts.SVGPathArray}
143
+ * Path array
144
+ */
145
+ function triangleLeft(x, y, w, h) {
146
+ return [
147
+ ['M', x + w, y],
148
+ ['L', x, y + h / 2],
149
+ ['L', x + w, y + h],
150
+ ['Z']
151
+ ];
152
+ }
153
+ /**
154
+ * Creates a half-width, left-oriented triangle.
155
+ * ```
156
+ * o
157
+ * oooo
158
+ * ooooooo
159
+ * oooo
160
+ * o
161
+ * ```
162
+ *
163
+ * @private
164
+ * @function
165
+ *
166
+ * @param {number} x
167
+ * x position of the triangle
168
+ *
169
+ * @param {number} y
170
+ * y position of the triangle
171
+ *
172
+ * @param {number} w
173
+ * width of the triangle
174
+ *
175
+ * @param {number} h
176
+ * height of the triangle
177
+ *
178
+ * @return {Highcharts.SVGPathArray}
179
+ * Path array
180
+ */
181
+ function triangleLeftHalf(x, y, w, h) {
182
+ return triangleLeft(x, y, w / 2, h);
183
+ }
184
+ symbols.arrow = arrow;
185
+ symbols['arrow-filled'] = triangleLeft;
186
+ symbols['arrow-filled-half'] = triangleLeftHalf;
187
+ symbols['arrow-half'] = arrowHalf;
188
+ symbols['triangle-left'] = triangleLeft;
189
+ symbols['triangle-left-half'] = triangleLeftHalf;
190
+ /* *
191
+ *
192
+ * Default Export
193
+ *
194
+ * */
195
+
196
+ return symbols;
197
+ });
198
+ _registerModule(_modules, 'Gantt/Connection.js', [_modules['Core/Globals.js'], _modules['Core/DefaultOptions.js'], _modules['Core/Series/Point.js'], _modules['Core/Utilities.js']], function (H, D, Point, U) {
199
+ /* *
200
+ *
201
+ * (c) 2016 Highsoft AS
202
+ * Authors: Øystein Moseng, Lars A. V. Cabrera
203
+ *
204
+ * License: www.highcharts.com/license
205
+ *
206
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
207
+ *
208
+ * */
209
+ /**
210
+ * The default pathfinder algorithm to use for a chart. It is possible to define
211
+ * your own algorithms by adding them to the
212
+ * `Highcharts.Pathfinder.prototype.algorithms`
213
+ * object before the chart has been created.
214
+ *
215
+ * The default algorithms are as follows:
216
+ *
217
+ * `straight`: Draws a straight line between the connecting
218
+ * points. Does not avoid other points when drawing.
219
+ *
220
+ * `simpleConnect`: Finds a path between the points using right angles
221
+ * only. Takes only starting/ending points into
222
+ * account, and will not avoid other points.
223
+ *
224
+ * `fastAvoid`: Finds a path between the points using right angles
225
+ * only. Will attempt to avoid other points, but its
226
+ * focus is performance over accuracy. Works well with
227
+ * less dense datasets.
228
+ *
229
+ * @typedef {"fastAvoid"|"simpleConnect"|"straight"|string} Highcharts.PathfinderTypeValue
230
+ */
231
+ ''; // detach doclets above
232
+ var defaultOptions = D.defaultOptions;
233
+ var addEvent = U.addEvent,
234
+ defined = U.defined,
235
+ error = U.error,
236
+ extend = U.extend,
237
+ merge = U.merge,
238
+ objectEach = U.objectEach,
239
+ pick = U.pick,
240
+ splat = U.splat;
241
+ var deg2rad = H.deg2rad,
242
+ max = Math.max,
243
+ min = Math.min;
244
+ /*
245
+ @todo:
246
+ - Document how to write your own algorithms
247
+ - Consider adding a Point.pathTo method that wraps creating a connection
248
+ and rendering it
249
+ */
250
+ // Set default Pathfinder options
251
+ extend(defaultOptions, {
252
+ /**
253
+ * The Pathfinder module allows you to define connections between any two
254
+ * points, represented as lines - optionally with markers for the start
255
+ * and/or end points. Multiple algorithms are available for calculating how
256
+ * the connecting lines are drawn.
257
+ *
258
+ * Connector functionality requires Highcharts Gantt to be loaded. In Gantt
259
+ * charts, the connectors are used to draw dependencies between tasks.
260
+ *
261
+ * @see [dependency](series.gantt.data.dependency)
262
+ *
263
+ * @sample gantt/pathfinder/demo
264
+ * Pathfinder connections
265
+ *
266
+ * @declare Highcharts.ConnectorsOptions
267
+ * @product gantt
268
+ * @optionparent connectors
269
+ */
270
+ connectors: {
271
+ /**
272
+ * Enable connectors for this chart. Requires Highcharts Gantt.
273
+ *
274
+ * @type {boolean}
275
+ * @default true
276
+ * @since 6.2.0
277
+ * @apioption connectors.enabled
278
+ */
279
+ /**
280
+ * Set the default dash style for this chart's connecting lines.
281
+ *
282
+ * @type {string}
283
+ * @default solid
284
+ * @since 6.2.0
285
+ * @apioption connectors.dashStyle
286
+ */
287
+ /**
288
+ * Set the default color for this chart's Pathfinder connecting lines.
289
+ * Defaults to the color of the point being connected.
290
+ *
291
+ * @type {Highcharts.ColorString}
292
+ * @since 6.2.0
293
+ * @apioption connectors.lineColor
294
+ */
295
+ /**
296
+ * Set the default pathfinder margin to use, in pixels. Some Pathfinder
297
+ * algorithms attempt to avoid obstacles, such as other points in the
298
+ * chart. These algorithms use this margin to determine how close lines
299
+ * can be to an obstacle. The default is to compute this automatically
300
+ * from the size of the obstacles in the chart.
301
+ *
302
+ * To draw connecting lines close to existing points, set this to a low
303
+ * number. For more space around existing points, set this number
304
+ * higher.
305
+ *
306
+ * @sample gantt/pathfinder/algorithm-margin
307
+ * Small algorithmMargin
308
+ *
309
+ * @type {number}
310
+ * @since 6.2.0
311
+ * @apioption connectors.algorithmMargin
312
+ */
313
+ /**
314
+ * Set the default pathfinder algorithm to use for this chart. It is
315
+ * possible to define your own algorithms by adding them to the
316
+ * Highcharts.Pathfinder.prototype.algorithms object before the chart
317
+ * has been created.
318
+ *
319
+ * The default algorithms are as follows:
320
+ *
321
+ * `straight`: Draws a straight line between the connecting
322
+ * points. Does not avoid other points when drawing.
323
+ *
324
+ * `simpleConnect`: Finds a path between the points using right angles
325
+ * only. Takes only starting/ending points into
326
+ * account, and will not avoid other points.
327
+ *
328
+ * `fastAvoid`: Finds a path between the points using right angles
329
+ * only. Will attempt to avoid other points, but its
330
+ * focus is performance over accuracy. Works well with
331
+ * less dense datasets.
332
+ *
333
+ * Default value: `straight` is used as default for most series types,
334
+ * while `simpleConnect` is used as default for Gantt series, to show
335
+ * dependencies between points.
336
+ *
337
+ * @sample gantt/pathfinder/demo
338
+ * Different types used
339
+ *
340
+ * @type {Highcharts.PathfinderTypeValue}
341
+ * @default undefined
342
+ * @since 6.2.0
343
+ */
344
+ type: 'straight',
345
+ /**
346
+ * Set the default pixel width for this chart's Pathfinder connecting
347
+ * lines.
348
+ *
349
+ * @since 6.2.0
350
+ */
351
+ lineWidth: 1,
352
+ /**
353
+ * Marker options for this chart's Pathfinder connectors. Note that
354
+ * this option is overridden by the `startMarker` and `endMarker`
355
+ * options.
356
+ *
357
+ * @declare Highcharts.ConnectorsMarkerOptions
358
+ * @since 6.2.0
359
+ */
360
+ marker: {
361
+ /**
362
+ * Set the radius of the connector markers. The default is
363
+ * automatically computed based on the algorithmMargin setting.
364
+ *
365
+ * Setting marker.width and marker.height will override this
366
+ * setting.
367
+ *
368
+ * @type {number}
369
+ * @since 6.2.0
370
+ * @apioption connectors.marker.radius
371
+ */
372
+ /**
373
+ * Set the width of the connector markers. If not supplied, this
374
+ * is inferred from the marker radius.
375
+ *
376
+ * @type {number}
377
+ * @since 6.2.0
378
+ * @apioption connectors.marker.width
379
+ */
380
+ /**
381
+ * Set the height of the connector markers. If not supplied, this
382
+ * is inferred from the marker radius.
383
+ *
384
+ * @type {number}
385
+ * @since 6.2.0
386
+ * @apioption connectors.marker.height
387
+ */
388
+ /**
389
+ * Set the color of the connector markers. By default this is the
390
+ * same as the connector color.
391
+ *
392
+ * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
393
+ * @since 6.2.0
394
+ * @apioption connectors.marker.color
395
+ */
396
+ /**
397
+ * Set the line/border color of the connector markers. By default
398
+ * this is the same as the marker color.
399
+ *
400
+ * @type {Highcharts.ColorString}
401
+ * @since 6.2.0
402
+ * @apioption connectors.marker.lineColor
403
+ */
404
+ /**
405
+ * Enable markers for the connectors.
406
+ */
407
+ enabled: false,
408
+ /**
409
+ * Horizontal alignment of the markers relative to the points.
410
+ *
411
+ * @type {Highcharts.AlignValue}
412
+ */
413
+ align: 'center',
414
+ /**
415
+ * Vertical alignment of the markers relative to the points.
416
+ *
417
+ * @type {Highcharts.VerticalAlignValue}
418
+ */
419
+ verticalAlign: 'middle',
420
+ /**
421
+ * Whether or not to draw the markers inside the points.
422
+ */
423
+ inside: false,
424
+ /**
425
+ * Set the line/border width of the pathfinder markers.
426
+ */
427
+ lineWidth: 1
428
+ },
429
+ /**
430
+ * Marker options specific to the start markers for this chart's
431
+ * Pathfinder connectors. Overrides the generic marker options.
432
+ *
433
+ * @declare Highcharts.ConnectorsStartMarkerOptions
434
+ * @extends connectors.marker
435
+ * @since 6.2.0
436
+ */
437
+ startMarker: {
438
+ /**
439
+ * Set the symbol of the connector start markers.
440
+ */
441
+ symbol: 'diamond'
442
+ },
443
+ /**
444
+ * Marker options specific to the end markers for this chart's
445
+ * Pathfinder connectors. Overrides the generic marker options.
446
+ *
447
+ * @declare Highcharts.ConnectorsEndMarkerOptions
448
+ * @extends connectors.marker
449
+ * @since 6.2.0
450
+ */
451
+ endMarker: {
452
+ /**
453
+ * Set the symbol of the connector end markers.
454
+ */
455
+ symbol: 'arrow-filled'
456
+ }
457
+ }
458
+ });
459
+ /**
460
+ * Override Pathfinder connector options for a series. Requires Highcharts Gantt
461
+ * to be loaded.
462
+ *
463
+ * @declare Highcharts.SeriesConnectorsOptionsObject
464
+ * @extends connectors
465
+ * @since 6.2.0
466
+ * @excluding enabled, algorithmMargin
467
+ * @product gantt
468
+ * @apioption plotOptions.series.connectors
469
+ */
470
+ /**
471
+ * Connect to a point. This option can be either a string, referring to the ID
472
+ * of another point, or an object, or an array of either. If the option is an
473
+ * array, each element defines a connection.
474
+ *
475
+ * @sample gantt/pathfinder/demo
476
+ * Different connection types
477
+ *
478
+ * @declare Highcharts.XrangePointConnectorsOptionsObject
479
+ * @type {string|Array<string|*>|*}
480
+ * @extends plotOptions.series.connectors
481
+ * @since 6.2.0
482
+ * @excluding enabled
483
+ * @product gantt
484
+ * @requires highcharts-gantt
485
+ * @apioption series.xrange.data.connect
486
+ */
487
+ /**
488
+ * The ID of the point to connect to.
489
+ *
490
+ * @type {string}
491
+ * @since 6.2.0
492
+ * @product gantt
493
+ * @apioption series.xrange.data.connect.to
494
+ */
495
+ /**
496
+ * Get point bounding box using plotX/plotY and shapeArgs. If using
497
+ * graphic.getBBox() directly, the bbox will be affected by animation.
498
+ *
499
+ * @private
500
+ * @function
501
+ *
502
+ * @param {Highcharts.Point} point
503
+ * The point to get BB of.
504
+ *
505
+ * @return {Highcharts.Dictionary<number>|null}
506
+ * Result xMax, xMin, yMax, yMin.
507
+ */
508
+ function getPointBB(point) {
509
+ var shapeArgs = point.shapeArgs,
510
+ bb;
511
+ // Prefer using shapeArgs (columns)
512
+ if (shapeArgs) {
513
+ return {
514
+ xMin: shapeArgs.x || 0,
515
+ xMax: (shapeArgs.x || 0) + (shapeArgs.width || 0),
516
+ yMin: shapeArgs.y || 0,
517
+ yMax: (shapeArgs.y || 0) + (shapeArgs.height || 0)
518
+ };
519
+ }
520
+ // Otherwise use plotX/plotY and bb
521
+ bb = point.graphic && point.graphic.getBBox();
522
+ return bb ? {
523
+ xMin: point.plotX - bb.width / 2,
524
+ xMax: point.plotX + bb.width / 2,
525
+ yMin: point.plotY - bb.height / 2,
526
+ yMax: point.plotY + bb.height / 2
527
+ } : null;
528
+ }
529
+ /**
530
+ * Calculate margin to place around obstacles for the pathfinder in pixels.
531
+ * Returns a minimum of 1 pixel margin.
532
+ *
533
+ * @private
534
+ * @function
535
+ *
536
+ * @param {Array<object>} obstacles
537
+ * Obstacles to calculate margin from.
538
+ *
539
+ * @return {number}
540
+ * The calculated margin in pixels. At least 1.
541
+ */
542
+ function calculateObstacleMargin(obstacles) {
543
+ var len = obstacles.length,
544
+ i = 0,
545
+ j,
546
+ obstacleDistance,
547
+ distances = [],
548
+ // Compute smallest distance between two rectangles
549
+ distance = function (a,
550
+ b,
551
+ bbMargin) {
552
+ // Count the distance even if we are slightly off
553
+ var margin = pick(bbMargin, 10),
554
+ yOverlap = a.yMax + margin > b.yMin - margin &&
555
+ a.yMin - margin < b.yMax + margin,
556
+ xOverlap = a.xMax + margin > b.xMin - margin &&
557
+ a.xMin - margin < b.xMax + margin,
558
+ xDistance = yOverlap ? (a.xMin > b.xMax ? a.xMin - b.xMax : b.xMin - a.xMax) : Infinity,
559
+ yDistance = xOverlap ? (a.yMin > b.yMax ? a.yMin - b.yMax : b.yMin - a.yMax) : Infinity;
560
+ // If the rectangles collide, try recomputing with smaller margin.
561
+ // If they collide anyway, discard the obstacle.
562
+ if (xOverlap && yOverlap) {
563
+ return (margin ?
564
+ distance(a, b, Math.floor(margin / 2)) :
565
+ Infinity);
566
+ }
567
+ return min(xDistance, yDistance);
568
+ };
569
+ // Go over all obstacles and compare them to the others.
570
+ for (; i < len; ++i) {
571
+ // Compare to all obstacles ahead. We will already have compared this
572
+ // obstacle to the ones before.
573
+ for (j = i + 1; j < len; ++j) {
574
+ obstacleDistance = distance(obstacles[i], obstacles[j]);
575
+ // TODO: Magic number 80
576
+ if (obstacleDistance < 80) { // Ignore large distances
577
+ distances.push(obstacleDistance);
578
+ }
579
+ }
580
+ }
581
+ // Ensure we always have at least one value, even in very spaceous charts
582
+ distances.push(80);
583
+ return max(Math.floor(distances.sort(function (a, b) {
584
+ return (a - b);
585
+ })[
586
+ // Discard first 10% of the relevant distances, and then grab
587
+ // the smallest one.
588
+ Math.floor(distances.length / 10)] / 2 - 1 // Divide the distance by 2 and subtract 1.
589
+ ), 1 // 1 is the minimum margin
590
+ );
591
+ }
592
+ /* eslint-disable no-invalid-this, valid-jsdoc */
593
+ /**
594
+ * The Connection class. Used internally to represent a connection between two
595
+ * points.
596
+ *
597
+ * @private
598
+ * @class
599
+ * @name Highcharts.Connection
600
+ *
601
+ * @param {Highcharts.Point} from
602
+ * Connection runs from this Point.
603
+ *
604
+ * @param {Highcharts.Point} to
605
+ * Connection runs to this Point.
606
+ *
607
+ * @param {Highcharts.ConnectorsOptions} [options]
608
+ * Connection options.
609
+ */
610
+ var Connection = /** @class */ (function () {
611
+ function Connection(from, to, options) {
612
+ /* *
613
+ *
614
+ * Properties
615
+ *
616
+ * */
617
+ this.chart = void 0;
618
+ this.fromPoint = void 0;
619
+ this.graphics = void 0;
620
+ this.pathfinder = void 0;
621
+ this.toPoint = void 0;
622
+ this.init(from, to, options);
623
+ }
624
+ /**
625
+ * Initialize the Connection object. Used as constructor only.
626
+ *
627
+ * @function Highcharts.Connection#init
628
+ *
629
+ * @param {Highcharts.Point} from
630
+ * Connection runs from this Point.
631
+ *
632
+ * @param {Highcharts.Point} to
633
+ * Connection runs to this Point.
634
+ *
635
+ * @param {Highcharts.ConnectorsOptions} [options]
636
+ * Connection options.
637
+ */
638
+ Connection.prototype.init = function (from, to, options) {
639
+ this.fromPoint = from;
640
+ this.toPoint = to;
641
+ this.options = options;
642
+ this.chart = from.series.chart;
643
+ this.pathfinder = this.chart.pathfinder;
644
+ };
645
+ /**
646
+ * Add (or update) this connection's path on chart. Stores reference to the
647
+ * created element on this.graphics.path.
648
+ *
649
+ * @function Highcharts.Connection#renderPath
650
+ *
651
+ * @param {Highcharts.SVGPathArray} path
652
+ * Path to render, in array format. E.g. ['M', 0, 0, 'L', 10, 10]
653
+ *
654
+ * @param {Highcharts.SVGAttributes} [attribs]
655
+ * SVG attributes for the path.
656
+ *
657
+ * @param {Partial<Highcharts.AnimationOptionsObject>} [animation]
658
+ * Animation options for the rendering.
659
+ */
660
+ Connection.prototype.renderPath = function (path, attribs, animation) {
661
+ var connection = this,
662
+ chart = this.chart,
663
+ styledMode = chart.styledMode,
664
+ pathfinder = chart.pathfinder,
665
+ animate = !chart.options.chart.forExport && animation !== false,
666
+ pathGraphic = connection.graphics && connection.graphics.path,
667
+ anim;
668
+ // Add the SVG element of the pathfinder group if it doesn't exist
669
+ if (!pathfinder.group) {
670
+ pathfinder.group = chart.renderer.g()
671
+ .addClass('highcharts-pathfinder-group')
672
+ .attr({ zIndex: -1 })
673
+ .add(chart.seriesGroup);
674
+ }
675
+ // Shift the group to compensate for plot area.
676
+ // Note: Do this always (even when redrawing a path) to avoid issues
677
+ // when updating chart in a way that changes plot metrics.
678
+ pathfinder.group.translate(chart.plotLeft, chart.plotTop);
679
+ // Create path if does not exist
680
+ if (!(pathGraphic && pathGraphic.renderer)) {
681
+ pathGraphic = chart.renderer.path()
682
+ .add(pathfinder.group);
683
+ if (!styledMode) {
684
+ pathGraphic.attr({
685
+ opacity: 0
686
+ });
687
+ }
688
+ }
689
+ // Set path attribs and animate to the new path
690
+ pathGraphic.attr(attribs);
691
+ anim = { d: path };
692
+ if (!styledMode) {
693
+ anim.opacity = 1;
694
+ }
695
+ pathGraphic[animate ? 'animate' : 'attr'](anim, animation);
696
+ // Store reference on connection
697
+ this.graphics = this.graphics || {};
698
+ this.graphics.path = pathGraphic;
699
+ };
700
+ /**
701
+ * Calculate and add marker graphics for connection to the chart. The
702
+ * created/updated elements are stored on this.graphics.start and
703
+ * this.graphics.end.
704
+ *
705
+ * @function Highcharts.Connection#addMarker
706
+ *
707
+ * @param {string} type
708
+ * Marker type, either 'start' or 'end'.
709
+ *
710
+ * @param {Highcharts.ConnectorsMarkerOptions} options
711
+ * All options for this marker. Not calculated or merged with other
712
+ * options.
713
+ *
714
+ * @param {Highcharts.SVGPathArray} path
715
+ * Connection path in array format. This is used to calculate the
716
+ * rotation angle of the markers.
717
+ */
718
+ Connection.prototype.addMarker = function (type, options, path) {
719
+ var connection = this,
720
+ chart = connection.fromPoint.series.chart,
721
+ pathfinder = chart.pathfinder,
722
+ renderer = chart.renderer,
723
+ point = (type === 'start' ?
724
+ connection.fromPoint :
725
+ connection.toPoint),
726
+ anchor = point.getPathfinderAnchorPoint(options),
727
+ markerVector,
728
+ radians,
729
+ rotation,
730
+ box,
731
+ width,
732
+ height,
733
+ pathVector,
734
+ segment;
735
+ if (!options.enabled) {
736
+ return;
737
+ }
738
+ // Last vector before start/end of path, used to get angle
739
+ if (type === 'start') {
740
+ segment = path[1];
741
+ }
742
+ else { // 'end'
743
+ segment = path[path.length - 2];
744
+ }
745
+ if (segment && segment[0] === 'M' || segment[0] === 'L') {
746
+ pathVector = {
747
+ x: segment[1],
748
+ y: segment[2]
749
+ };
750
+ // Get angle between pathVector and anchor point and use it to
751
+ // create marker position.
752
+ radians = point.getRadiansToVector(pathVector, anchor);
753
+ markerVector = point.getMarkerVector(radians, options.radius, anchor);
754
+ // Rotation of marker is calculated from angle between pathVector
755
+ // and markerVector.
756
+ // (Note:
757
+ // Used to recalculate radians between markerVector and pathVector,
758
+ // but this should be the same as between pathVector and anchor.)
759
+ rotation = -radians / deg2rad;
760
+ if (options.width && options.height) {
761
+ width = options.width;
762
+ height = options.height;
763
+ }
764
+ else {
765
+ width = height = options.radius * 2;
766
+ }
767
+ // Add graphics object if it does not exist
768
+ connection.graphics = connection.graphics || {};
769
+ box = {
770
+ x: markerVector.x - (width / 2),
771
+ y: markerVector.y - (height / 2),
772
+ width: width,
773
+ height: height,
774
+ rotation: rotation,
775
+ rotationOriginX: markerVector.x,
776
+ rotationOriginY: markerVector.y
777
+ };
778
+ if (!connection.graphics[type]) {
779
+ // Create new marker element
780
+ connection.graphics[type] = renderer
781
+ .symbol(options.symbol)
782
+ .addClass('highcharts-point-connecting-path-' + type + '-marker')
783
+ .attr(box)
784
+ .add(pathfinder.group);
785
+ if (!renderer.styledMode) {
786
+ connection.graphics[type].attr({
787
+ fill: options.color || connection.fromPoint.color,
788
+ stroke: options.lineColor,
789
+ 'stroke-width': options.lineWidth,
790
+ opacity: 0
791
+ })
792
+ .animate({
793
+ opacity: 1
794
+ }, point.series.options.animation);
795
+ }
796
+ }
797
+ else {
798
+ connection.graphics[type].animate(box);
799
+ }
800
+ }
801
+ };
802
+ /**
803
+ * Calculate and return connection path.
804
+ * Note: Recalculates chart obstacles on demand if they aren't calculated.
805
+ *
806
+ * @function Highcharts.Connection#getPath
807
+ *
808
+ * @param {Highcharts.ConnectorsOptions} options
809
+ * Connector options. Not calculated or merged with other options.
810
+ *
811
+ * @return {object|undefined}
812
+ * Calculated SVG path data in array format.
813
+ */
814
+ Connection.prototype.getPath = function (options) {
815
+ var pathfinder = this.pathfinder,
816
+ chart = this.chart,
817
+ algorithm = pathfinder.algorithms[options.type],
818
+ chartObstacles = pathfinder.chartObstacles;
819
+ if (typeof algorithm !== 'function') {
820
+ error('"' + options.type + '" is not a Pathfinder algorithm.');
821
+ return {
822
+ path: [],
823
+ obstacles: []
824
+ };
825
+ }
826
+ // This function calculates obstacles on demand if they don't exist
827
+ if (algorithm.requiresObstacles && !chartObstacles) {
828
+ chartObstacles =
829
+ pathfinder.chartObstacles =
830
+ pathfinder.getChartObstacles(options);
831
+ // If the algorithmMargin was computed, store the result in default
832
+ // options.
833
+ chart.options.connectors.algorithmMargin =
834
+ options.algorithmMargin;
835
+ // Cache some metrics too
836
+ pathfinder.chartObstacleMetrics =
837
+ pathfinder.getObstacleMetrics(chartObstacles);
838
+ }
839
+ // Get the SVG path
840
+ return algorithm(
841
+ // From
842
+ this.fromPoint.getPathfinderAnchorPoint(options.startMarker),
843
+ // To
844
+ this.toPoint.getPathfinderAnchorPoint(options.endMarker), merge({
845
+ chartObstacles: chartObstacles,
846
+ lineObstacles: pathfinder.lineObstacles || [],
847
+ obstacleMetrics: pathfinder.chartObstacleMetrics,
848
+ hardBounds: {
849
+ xMin: 0,
850
+ xMax: chart.plotWidth,
851
+ yMin: 0,
852
+ yMax: chart.plotHeight
853
+ },
854
+ obstacleOptions: {
855
+ margin: options.algorithmMargin
856
+ },
857
+ startDirectionX: pathfinder.getAlgorithmStartDirection(options.startMarker)
858
+ }, options));
859
+ };
860
+ /**
861
+ * (re)Calculate and (re)draw the connection.
862
+ *
863
+ * @function Highcharts.Connection#render
864
+ */
865
+ Connection.prototype.render = function () {
866
+ var connection = this,
867
+ fromPoint = connection.fromPoint,
868
+ series = fromPoint.series,
869
+ chart = series.chart,
870
+ pathfinder = chart.pathfinder,
871
+ pathResult,
872
+ path,
873
+ options = merge(chart.options.connectors,
874
+ series.options.connectors,
875
+ fromPoint.options.connectors,
876
+ connection.options),
877
+ attribs = {};
878
+ // Set path attribs
879
+ if (!chart.styledMode) {
880
+ attribs.stroke = options.lineColor || fromPoint.color;
881
+ attribs['stroke-width'] = options.lineWidth;
882
+ if (options.dashStyle) {
883
+ attribs.dashstyle = options.dashStyle;
884
+ }
885
+ }
886
+ attribs['class'] = // eslint-disable-line dot-notation
887
+ 'highcharts-point-connecting-path ' +
888
+ 'highcharts-color-' + fromPoint.colorIndex;
889
+ options = merge(attribs, options);
890
+ // Set common marker options
891
+ if (!defined(options.marker.radius)) {
892
+ options.marker.radius = min(max(Math.ceil((options.algorithmMargin || 8) / 2) - 1, 1), 5);
893
+ }
894
+ // Get the path
895
+ pathResult = connection.getPath(options);
896
+ path = pathResult.path;
897
+ // Always update obstacle storage with obstacles from this path.
898
+ // We don't know if future calls will need this for their algorithm.
899
+ if (pathResult.obstacles) {
900
+ pathfinder.lineObstacles =
901
+ pathfinder.lineObstacles || [];
902
+ pathfinder.lineObstacles =
903
+ pathfinder.lineObstacles.concat(pathResult.obstacles);
904
+ }
905
+ // Add the calculated path to the pathfinder group
906
+ connection.renderPath(path, attribs, series.options.animation);
907
+ // Render the markers
908
+ connection.addMarker('start', merge(options.marker, options.startMarker), path);
909
+ connection.addMarker('end', merge(options.marker, options.endMarker), path);
910
+ };
911
+ /**
912
+ * Destroy connection by destroying the added graphics elements.
913
+ *
914
+ * @function Highcharts.Connection#destroy
915
+ */
916
+ Connection.prototype.destroy = function () {
917
+ if (this.graphics) {
918
+ objectEach(this.graphics, function (val) {
919
+ val.destroy();
920
+ });
921
+ delete this.graphics;
922
+ }
923
+ };
924
+ return Connection;
925
+ }());
926
+ // Add to Highcharts namespace
927
+ H.Connection = Connection;
928
+ // Add pathfinding capabilities to Points
929
+ extend(Point.prototype, /** @lends Point.prototype */ {
930
+ /**
931
+ * Get coordinates of anchor point for pathfinder connection.
932
+ *
933
+ * @private
934
+ * @function Highcharts.Point#getPathfinderAnchorPoint
935
+ *
936
+ * @param {Highcharts.ConnectorsMarkerOptions} markerOptions
937
+ * Connection options for position on point.
938
+ *
939
+ * @return {Highcharts.PositionObject}
940
+ * An object with x/y properties for the position. Coordinates are
941
+ * in plot values, not relative to point.
942
+ */
943
+ getPathfinderAnchorPoint: function (markerOptions) {
944
+ var bb = getPointBB(this),
945
+ x,
946
+ y;
947
+ switch (markerOptions.align) { // eslint-disable-line default-case
948
+ case 'right':
949
+ x = 'xMax';
950
+ break;
951
+ case 'left':
952
+ x = 'xMin';
953
+ }
954
+ switch (markerOptions.verticalAlign) { // eslint-disable-line default-case
955
+ case 'top':
956
+ y = 'yMin';
957
+ break;
958
+ case 'bottom':
959
+ y = 'yMax';
960
+ }
961
+ return {
962
+ x: x ? bb[x] : (bb.xMin + bb.xMax) / 2,
963
+ y: y ? bb[y] : (bb.yMin + bb.yMax) / 2
964
+ };
965
+ },
966
+ /**
967
+ * Utility to get the angle from one point to another.
968
+ *
969
+ * @private
970
+ * @function Highcharts.Point#getRadiansToVector
971
+ *
972
+ * @param {Highcharts.PositionObject} v1
973
+ * The first vector, as an object with x/y properties.
974
+ *
975
+ * @param {Highcharts.PositionObject} v2
976
+ * The second vector, as an object with x/y properties.
977
+ *
978
+ * @return {number}
979
+ * The angle in degrees
980
+ */
981
+ getRadiansToVector: function (v1, v2) {
982
+ var box;
983
+ if (!defined(v2)) {
984
+ box = getPointBB(this);
985
+ if (box) {
986
+ v2 = {
987
+ x: (box.xMin + box.xMax) / 2,
988
+ y: (box.yMin + box.yMax) / 2
989
+ };
990
+ }
991
+ }
992
+ return Math.atan2(v2.y - v1.y, v1.x - v2.x);
993
+ },
994
+ /**
995
+ * Utility to get the position of the marker, based on the path angle and
996
+ * the marker's radius.
997
+ *
998
+ * @private
999
+ * @function Highcharts.Point#getMarkerVector
1000
+ *
1001
+ * @param {number} radians
1002
+ * The angle in radians from the point center to another vector.
1003
+ *
1004
+ * @param {number} markerRadius
1005
+ * The radius of the marker, to calculate the additional distance to
1006
+ * the center of the marker.
1007
+ *
1008
+ * @param {Object} anchor
1009
+ * The anchor point of the path and marker as an object with x/y
1010
+ * properties.
1011
+ *
1012
+ * @return {Object}
1013
+ * The marker vector as an object with x/y properties.
1014
+ */
1015
+ getMarkerVector: function (radians, markerRadius, anchor) {
1016
+ var twoPI = Math.PI * 2.0,
1017
+ theta = radians,
1018
+ bb = getPointBB(this),
1019
+ rectWidth = bb.xMax - bb.xMin,
1020
+ rectHeight = bb.yMax - bb.yMin,
1021
+ rAtan = Math.atan2(rectHeight,
1022
+ rectWidth),
1023
+ tanTheta = 1,
1024
+ leftOrRightRegion = false,
1025
+ rectHalfWidth = rectWidth / 2.0,
1026
+ rectHalfHeight = rectHeight / 2.0,
1027
+ rectHorizontalCenter = bb.xMin + rectHalfWidth,
1028
+ rectVerticalCenter = bb.yMin + rectHalfHeight,
1029
+ edgePoint = {
1030
+ x: rectHorizontalCenter,
1031
+ y: rectVerticalCenter
1032
+ },
1033
+ xFactor = 1,
1034
+ yFactor = 1;
1035
+ while (theta < -Math.PI) {
1036
+ theta += twoPI;
1037
+ }
1038
+ while (theta > Math.PI) {
1039
+ theta -= twoPI;
1040
+ }
1041
+ tanTheta = Math.tan(theta);
1042
+ if ((theta > -rAtan) && (theta <= rAtan)) {
1043
+ // Right side
1044
+ yFactor = -1;
1045
+ leftOrRightRegion = true;
1046
+ }
1047
+ else if (theta > rAtan && theta <= (Math.PI - rAtan)) {
1048
+ // Top side
1049
+ yFactor = -1;
1050
+ }
1051
+ else if (theta > (Math.PI - rAtan) || theta <= -(Math.PI - rAtan)) {
1052
+ // Left side
1053
+ xFactor = -1;
1054
+ leftOrRightRegion = true;
1055
+ }
1056
+ else {
1057
+ // Bottom side
1058
+ xFactor = -1;
1059
+ }
1060
+ // Correct the edgePoint according to the placement of the marker
1061
+ if (leftOrRightRegion) {
1062
+ edgePoint.x += xFactor * (rectHalfWidth);
1063
+ edgePoint.y += yFactor * (rectHalfWidth) * tanTheta;
1064
+ }
1065
+ else {
1066
+ edgePoint.x += xFactor * (rectHeight / (2.0 * tanTheta));
1067
+ edgePoint.y += yFactor * (rectHalfHeight);
1068
+ }
1069
+ if (anchor.x !== rectHorizontalCenter) {
1070
+ edgePoint.x = anchor.x;
1071
+ }
1072
+ if (anchor.y !== rectVerticalCenter) {
1073
+ edgePoint.y = anchor.y;
1074
+ }
1075
+ return {
1076
+ x: edgePoint.x + (markerRadius * Math.cos(theta)),
1077
+ y: edgePoint.y - (markerRadius * Math.sin(theta))
1078
+ };
1079
+ }
1080
+ });
1081
+ /**
1082
+ * Warn if using legacy options. Copy the options over. Note that this will
1083
+ * still break if using the legacy options in chart.update, addSeries etc.
1084
+ * @private
1085
+ */
1086
+ function warnLegacy(chart) {
1087
+ if (chart.options.pathfinder ||
1088
+ chart.series.reduce(function (acc, series) {
1089
+ if (series.options) {
1090
+ merge(true, (series.options.connectors = series.options.connectors ||
1091
+ {}), series.options.pathfinder);
1092
+ }
1093
+ return acc || series.options && series.options.pathfinder;
1094
+ }, false)) {
1095
+ merge(true, (chart.options.connectors = chart.options.connectors || {}), chart.options.pathfinder);
1096
+ error('WARNING: Pathfinder options have been renamed. ' +
1097
+ 'Use "chart.connectors" or "series.connectors" instead.');
1098
+ }
1099
+ }
1100
+
1101
+ return Connection;
1102
+ });
1103
+ _registerModule(_modules, 'Gantt/PathfinderAlgorithms.js', [_modules['Core/Utilities.js']], function (U) {
1104
+ /* *
1105
+ *
1106
+ * (c) 2016 Highsoft AS
1107
+ * Author: Øystein Moseng
1108
+ *
1109
+ * License: www.highcharts.com/license
1110
+ *
1111
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
1112
+ *
1113
+ * */
1114
+ var extend = U.extend,
1115
+ pick = U.pick;
1116
+ var min = Math.min,
1117
+ max = Math.max,
1118
+ abs = Math.abs;
1119
+ /**
1120
+ * Get index of last obstacle before xMin. Employs a type of binary search, and
1121
+ * thus requires that obstacles are sorted by xMin value.
1122
+ *
1123
+ * @private
1124
+ * @function findLastObstacleBefore
1125
+ *
1126
+ * @param {Array<object>} obstacles
1127
+ * Array of obstacles to search in.
1128
+ *
1129
+ * @param {number} xMin
1130
+ * The xMin threshold.
1131
+ *
1132
+ * @param {number} [startIx]
1133
+ * Starting index to search from. Must be within array range.
1134
+ *
1135
+ * @return {number}
1136
+ * The index of the last obstacle element before xMin.
1137
+ */
1138
+ function findLastObstacleBefore(obstacles, xMin, startIx) {
1139
+ var left = startIx || 0, // left limit
1140
+ right = obstacles.length - 1, // right limit
1141
+ min = xMin - 0.0000001, // Make sure we include all obstacles at xMin
1142
+ cursor,
1143
+ cmp;
1144
+ while (left <= right) {
1145
+ cursor = (right + left) >> 1;
1146
+ cmp = min - obstacles[cursor].xMin;
1147
+ if (cmp > 0) {
1148
+ left = cursor + 1;
1149
+ }
1150
+ else if (cmp < 0) {
1151
+ right = cursor - 1;
1152
+ }
1153
+ else {
1154
+ return cursor;
1155
+ }
1156
+ }
1157
+ return left > 0 ? left - 1 : 0;
1158
+ }
1159
+ /**
1160
+ * Test if a point lays within an obstacle.
1161
+ *
1162
+ * @private
1163
+ * @function pointWithinObstacle
1164
+ *
1165
+ * @param {Object} obstacle
1166
+ * Obstacle to test.
1167
+ *
1168
+ * @param {Highcharts.Point} point
1169
+ * Point with x/y props.
1170
+ *
1171
+ * @return {boolean}
1172
+ * Whether point is within the obstacle or not.
1173
+ */
1174
+ function pointWithinObstacle(obstacle, point) {
1175
+ return (point.x <= obstacle.xMax &&
1176
+ point.x >= obstacle.xMin &&
1177
+ point.y <= obstacle.yMax &&
1178
+ point.y >= obstacle.yMin);
1179
+ }
1180
+ /**
1181
+ * Find the index of an obstacle that wraps around a point.
1182
+ * Returns -1 if not found.
1183
+ *
1184
+ * @private
1185
+ * @function findObstacleFromPoint
1186
+ *
1187
+ * @param {Array<object>} obstacles
1188
+ * Obstacles to test.
1189
+ *
1190
+ * @param {Highcharts.Point} point
1191
+ * Point with x/y props.
1192
+ *
1193
+ * @return {number}
1194
+ * Ix of the obstacle in the array, or -1 if not found.
1195
+ */
1196
+ function findObstacleFromPoint(obstacles, point) {
1197
+ var i = findLastObstacleBefore(obstacles,
1198
+ point.x + 1) + 1;
1199
+ while (i--) {
1200
+ if (obstacles[i].xMax >= point.x &&
1201
+ // optimization using lazy evaluation
1202
+ pointWithinObstacle(obstacles[i], point)) {
1203
+ return i;
1204
+ }
1205
+ }
1206
+ return -1;
1207
+ }
1208
+ /**
1209
+ * Get SVG path array from array of line segments.
1210
+ *
1211
+ * @private
1212
+ * @function pathFromSegments
1213
+ *
1214
+ * @param {Array<object>} segments
1215
+ * The segments to build the path from.
1216
+ *
1217
+ * @return {Highcharts.SVGPathArray}
1218
+ * SVG path array as accepted by the SVG Renderer.
1219
+ */
1220
+ function pathFromSegments(segments) {
1221
+ var path = [];
1222
+ if (segments.length) {
1223
+ path.push(['M', segments[0].start.x, segments[0].start.y]);
1224
+ for (var i = 0; i < segments.length; ++i) {
1225
+ path.push(['L', segments[i].end.x, segments[i].end.y]);
1226
+ }
1227
+ }
1228
+ return path;
1229
+ }
1230
+ /**
1231
+ * Limits obstacle max/mins in all directions to bounds. Modifies input
1232
+ * obstacle.
1233
+ *
1234
+ * @private
1235
+ * @function limitObstacleToBounds
1236
+ *
1237
+ * @param {Object} obstacle
1238
+ * Obstacle to limit.
1239
+ *
1240
+ * @param {Object} bounds
1241
+ * Bounds to use as limit.
1242
+ *
1243
+ * @return {void}
1244
+ */
1245
+ function limitObstacleToBounds(obstacle, bounds) {
1246
+ obstacle.yMin = max(obstacle.yMin, bounds.yMin);
1247
+ obstacle.yMax = min(obstacle.yMax, bounds.yMax);
1248
+ obstacle.xMin = max(obstacle.xMin, bounds.xMin);
1249
+ obstacle.xMax = min(obstacle.xMax, bounds.xMax);
1250
+ }
1251
+ /**
1252
+ * Get an SVG path from a starting coordinate to an ending coordinate.
1253
+ * Draws a straight line.
1254
+ *
1255
+ * @function Highcharts.Pathfinder.algorithms.straight
1256
+ *
1257
+ * @param {Highcharts.PositionObject} start
1258
+ * Starting coordinate, object with x/y props.
1259
+ *
1260
+ * @param {Highcharts.PositionObject} end
1261
+ * Ending coordinate, object with x/y props.
1262
+ *
1263
+ * @return {Object}
1264
+ * An object with the SVG path in Array form as accepted by the SVG
1265
+ * renderer, as well as an array of new obstacles making up this
1266
+ * path.
1267
+ */
1268
+ function straight(start, end) {
1269
+ return {
1270
+ path: [
1271
+ ['M', start.x, start.y],
1272
+ ['L', end.x, end.y]
1273
+ ],
1274
+ obstacles: [{ start: start, end: end }]
1275
+ };
1276
+ }
1277
+ /**
1278
+ * Find a path from a starting coordinate to an ending coordinate, using
1279
+ * right angles only, and taking only starting/ending obstacle into
1280
+ * consideration.
1281
+ *
1282
+ * @function Highcharts.Pathfinder.algorithms.simpleConnect
1283
+ *
1284
+ * @param {Highcharts.PositionObject} start
1285
+ * Starting coordinate, object with x/y props.
1286
+ *
1287
+ * @param {Highcharts.PositionObject} end
1288
+ * Ending coordinate, object with x/y props.
1289
+ *
1290
+ * @param {Object} options
1291
+ * Options for the algorithm:
1292
+ * - chartObstacles: Array of chart obstacles to avoid
1293
+ * - startDirectionX: Optional. True if starting in the X direction.
1294
+ * If not provided, the algorithm starts in the direction that is
1295
+ * the furthest between start/end.
1296
+ *
1297
+ * @return {Object}
1298
+ * An object with the SVG path in Array form as accepted by the SVG
1299
+ * renderer, as well as an array of new obstacles making up this
1300
+ * path.
1301
+ */
1302
+ var simpleConnect = function (start,
1303
+ end,
1304
+ options) {
1305
+ var segments = [],
1306
+ endSegment,
1307
+ dir = pick(options.startDirectionX,
1308
+ abs(end.x - start.x) > abs(end.y - start.y)) ? 'x' : 'y',
1309
+ chartObstacles = options.chartObstacles,
1310
+ startObstacleIx = findObstacleFromPoint(chartObstacles,
1311
+ start),
1312
+ endObstacleIx = findObstacleFromPoint(chartObstacles,
1313
+ end),
1314
+ startObstacle,
1315
+ endObstacle,
1316
+ prevWaypoint,
1317
+ waypoint,
1318
+ waypoint2,
1319
+ useMax,
1320
+ endPoint;
1321
+ // eslint-disable-next-line valid-jsdoc
1322
+ /**
1323
+ * Return a clone of a point with a property set from a target object,
1324
+ * optionally with an offset
1325
+ * @private
1326
+ */
1327
+ function copyFromPoint(from, fromKey, to, toKey, offset) {
1328
+ var point = {
1329
+ x: from.x,
1330
+ y: from.y
1331
+ };
1332
+ point[fromKey] = to[toKey || fromKey] + (offset || 0);
1333
+ return point;
1334
+ }
1335
+ // eslint-disable-next-line valid-jsdoc
1336
+ /**
1337
+ * Return waypoint outside obstacle.
1338
+ * @private
1339
+ */
1340
+ function getMeOut(obstacle, point, direction) {
1341
+ var useMax = abs(point[direction] - obstacle[direction + 'Min']) >
1342
+ abs(point[direction] - obstacle[direction + 'Max']);
1343
+ return copyFromPoint(point, direction, obstacle, direction + (useMax ? 'Max' : 'Min'), useMax ? 1 : -1);
1344
+ }
1345
+ // Pull out end point
1346
+ if (endObstacleIx > -1) {
1347
+ endObstacle = chartObstacles[endObstacleIx];
1348
+ waypoint = getMeOut(endObstacle, end, dir);
1349
+ endSegment = {
1350
+ start: waypoint,
1351
+ end: end
1352
+ };
1353
+ endPoint = waypoint;
1354
+ }
1355
+ else {
1356
+ endPoint = end;
1357
+ }
1358
+ // If an obstacle envelops the start point, add a segment to get out,
1359
+ // and around it.
1360
+ if (startObstacleIx > -1) {
1361
+ startObstacle = chartObstacles[startObstacleIx];
1362
+ waypoint = getMeOut(startObstacle, start, dir);
1363
+ segments.push({
1364
+ start: start,
1365
+ end: waypoint
1366
+ });
1367
+ // If we are going back again, switch direction to get around start
1368
+ // obstacle.
1369
+ if (
1370
+ // Going towards max from start:
1371
+ waypoint[dir] >= start[dir] ===
1372
+ // Going towards min to end:
1373
+ waypoint[dir] >= endPoint[dir]) {
1374
+ dir = dir === 'y' ? 'x' : 'y';
1375
+ useMax = start[dir] < end[dir];
1376
+ segments.push({
1377
+ start: waypoint,
1378
+ end: copyFromPoint(waypoint, dir, startObstacle, dir + (useMax ? 'Max' : 'Min'), useMax ? 1 : -1)
1379
+ });
1380
+ // Switch direction again
1381
+ dir = dir === 'y' ? 'x' : 'y';
1382
+ }
1383
+ }
1384
+ // We are around the start obstacle. Go towards the end in one
1385
+ // direction.
1386
+ prevWaypoint = segments.length ?
1387
+ segments[segments.length - 1].end :
1388
+ start;
1389
+ waypoint = copyFromPoint(prevWaypoint, dir, endPoint);
1390
+ segments.push({
1391
+ start: prevWaypoint,
1392
+ end: waypoint
1393
+ });
1394
+ // Final run to end point in the other direction
1395
+ dir = dir === 'y' ? 'x' : 'y';
1396
+ waypoint2 = copyFromPoint(waypoint, dir, endPoint);
1397
+ segments.push({
1398
+ start: waypoint,
1399
+ end: waypoint2
1400
+ });
1401
+ // Finally add the endSegment
1402
+ segments.push(endSegment);
1403
+ return {
1404
+ path: pathFromSegments(segments),
1405
+ obstacles: segments
1406
+ };
1407
+ };
1408
+ simpleConnect.requiresObstacles = true;
1409
+ /**
1410
+ * Find a path from a starting coordinate to an ending coordinate, taking
1411
+ * obstacles into consideration. Might not always find the optimal path,
1412
+ * but is fast, and usually good enough.
1413
+ *
1414
+ * @function Highcharts.Pathfinder.algorithms.fastAvoid
1415
+ *
1416
+ * @param {Highcharts.PositionObject} start
1417
+ * Starting coordinate, object with x/y props.
1418
+ *
1419
+ * @param {Highcharts.PositionObject} end
1420
+ * Ending coordinate, object with x/y props.
1421
+ *
1422
+ * @param {Object} options
1423
+ * Options for the algorithm.
1424
+ * - chartObstacles: Array of chart obstacles to avoid
1425
+ * - lineObstacles: Array of line obstacles to jump over
1426
+ * - obstacleMetrics: Object with metrics of chartObstacles cached
1427
+ * - hardBounds: Hard boundaries to not cross
1428
+ * - obstacleOptions: Options for the obstacles, including margin
1429
+ * - startDirectionX: Optional. True if starting in the X direction.
1430
+ * If not provided, the algorithm starts in the
1431
+ * direction that is the furthest between
1432
+ * start/end.
1433
+ *
1434
+ * @return {Object}
1435
+ * An object with the SVG path in Array form as accepted by the SVG
1436
+ * renderer, as well as an array of new obstacles making up this
1437
+ * path.
1438
+ */
1439
+ var fastAvoid = function (start,
1440
+ end,
1441
+ options) {
1442
+ /*
1443
+ Algorithm rules/description
1444
+ - Find initial direction
1445
+ - Determine soft/hard max for each direction.
1446
+ - Move along initial direction until obstacle.
1447
+ - Change direction.
1448
+ - If hitting obstacle,
1449
+ first try to change length of previous line
1450
+ before changing direction again.
1451
+
1452
+ Soft min/max x = start/destination x +/- widest obstacle + margin
1453
+ Soft min/max y = start/destination y +/- tallest obstacle + margin
1454
+
1455
+ @todo:
1456
+ - Make retrospective,
1457
+ try changing prev segment to reduce
1458
+ corners
1459
+ - Fix logic for breaking out of end-points - not always picking
1460
+ the best direction currently
1461
+ - When going around the end obstacle we should not always go the
1462
+ shortest route,
1463
+ rather pick the one closer to the end point
1464
+ */
1465
+ var dirIsX = pick(options.startDirectionX,
1466
+ abs(end.x - start.x) > abs(end.y - start.y)),
1467
+ dir = dirIsX ? 'x' : 'y',
1468
+ segments,
1469
+ useMax,
1470
+ extractedEndPoint,
1471
+ endSegments = [],
1472
+ forceObstacleBreak = false, // Used in clearPathTo to keep track of
1473
+ // when to force break through an obstacle.
1474
+ // Boundaries to stay within. If beyond soft boundary, prefer to
1475
+ // change direction ASAP. If at hard max, always change immediately.
1476
+ metrics = options.obstacleMetrics,
1477
+ softMinX = min(start.x,
1478
+ end.x) - metrics.maxWidth - 10,
1479
+ softMaxX = max(start.x,
1480
+ end.x) + metrics.maxWidth + 10,
1481
+ softMinY = min(start.y,
1482
+ end.y) - metrics.maxHeight - 10,
1483
+ softMaxY = max(start.y,
1484
+ end.y) + metrics.maxHeight + 10,
1485
+ // Obstacles
1486
+ chartObstacles = options.chartObstacles,
1487
+ startObstacleIx = findLastObstacleBefore(chartObstacles,
1488
+ softMinX),
1489
+ endObstacleIx = findLastObstacleBefore(chartObstacles,
1490
+ softMaxX);
1491
+ // eslint-disable-next-line valid-jsdoc
1492
+ /**
1493
+ * How far can you go between two points before hitting an obstacle?
1494
+ * Does not work for diagonal lines (because it doesn't have to).
1495
+ * @private
1496
+ */
1497
+ function pivotPoint(fromPoint, toPoint, directionIsX) {
1498
+ var firstPoint,
1499
+ lastPoint,
1500
+ highestPoint,
1501
+ lowestPoint,
1502
+ i,
1503
+ searchDirection = fromPoint.x < toPoint.x ? 1 : -1;
1504
+ if (fromPoint.x < toPoint.x) {
1505
+ firstPoint = fromPoint;
1506
+ lastPoint = toPoint;
1507
+ }
1508
+ else {
1509
+ firstPoint = toPoint;
1510
+ lastPoint = fromPoint;
1511
+ }
1512
+ if (fromPoint.y < toPoint.y) {
1513
+ lowestPoint = fromPoint;
1514
+ highestPoint = toPoint;
1515
+ }
1516
+ else {
1517
+ lowestPoint = toPoint;
1518
+ highestPoint = fromPoint;
1519
+ }
1520
+ // Go through obstacle range in reverse if toPoint is before
1521
+ // fromPoint in the X-dimension.
1522
+ i = searchDirection < 0 ?
1523
+ // Searching backwards, start at last obstacle before last point
1524
+ min(findLastObstacleBefore(chartObstacles, lastPoint.x), chartObstacles.length - 1) :
1525
+ // Forwards. Since we're not sorted by xMax, we have to look
1526
+ // at all obstacles.
1527
+ 0;
1528
+ // Go through obstacles in this X range
1529
+ while (chartObstacles[i] && (searchDirection > 0 && chartObstacles[i].xMin <= lastPoint.x ||
1530
+ searchDirection < 0 && chartObstacles[i].xMax >= firstPoint.x)) {
1531
+ // If this obstacle is between from and to points in a straight
1532
+ // line, pivot at the intersection.
1533
+ if (chartObstacles[i].xMin <= lastPoint.x &&
1534
+ chartObstacles[i].xMax >= firstPoint.x &&
1535
+ chartObstacles[i].yMin <= highestPoint.y &&
1536
+ chartObstacles[i].yMax >= lowestPoint.y) {
1537
+ if (directionIsX) {
1538
+ return {
1539
+ y: fromPoint.y,
1540
+ x: fromPoint.x < toPoint.x ?
1541
+ chartObstacles[i].xMin - 1 :
1542
+ chartObstacles[i].xMax + 1,
1543
+ obstacle: chartObstacles[i]
1544
+ };
1545
+ }
1546
+ // else ...
1547
+ return {
1548
+ x: fromPoint.x,
1549
+ y: fromPoint.y < toPoint.y ?
1550
+ chartObstacles[i].yMin - 1 :
1551
+ chartObstacles[i].yMax + 1,
1552
+ obstacle: chartObstacles[i]
1553
+ };
1554
+ }
1555
+ i += searchDirection;
1556
+ }
1557
+ return toPoint;
1558
+ }
1559
+ /**
1560
+ * Decide in which direction to dodge or get out of an obstacle.
1561
+ * Considers desired direction, which way is shortest, soft and hard
1562
+ * bounds.
1563
+ *
1564
+ * (? Returns a string, either xMin, xMax, yMin or yMax.)
1565
+ *
1566
+ * @private
1567
+ * @function
1568
+ *
1569
+ * @param {Object} obstacle
1570
+ * Obstacle to dodge/escape.
1571
+ *
1572
+ * @param {Object} fromPoint
1573
+ * Point with x/y props that's dodging/escaping.
1574
+ *
1575
+ * @param {Object} toPoint
1576
+ * Goal point.
1577
+ *
1578
+ * @param {boolean} dirIsX
1579
+ * Dodge in X dimension.
1580
+ *
1581
+ * @param {Object} bounds
1582
+ * Hard and soft boundaries.
1583
+ *
1584
+ * @return {boolean}
1585
+ * Use max or not.
1586
+ */
1587
+ function getDodgeDirection(obstacle, fromPoint, toPoint, dirIsX, bounds) {
1588
+ var softBounds = bounds.soft, hardBounds = bounds.hard, dir = dirIsX ? 'x' : 'y', toPointMax = { x: fromPoint.x, y: fromPoint.y }, toPointMin = { x: fromPoint.x, y: fromPoint.y }, minPivot, maxPivot, maxOutOfSoftBounds = obstacle[dir + 'Max'] >=
1589
+ softBounds[dir + 'Max'], minOutOfSoftBounds = obstacle[dir + 'Min'] <=
1590
+ softBounds[dir + 'Min'], maxOutOfHardBounds = obstacle[dir + 'Max'] >=
1591
+ hardBounds[dir + 'Max'], minOutOfHardBounds = obstacle[dir + 'Min'] <=
1592
+ hardBounds[dir + 'Min'],
1593
+ // Find out if we should prefer one direction over the other if
1594
+ // we can choose freely
1595
+ minDistance = abs(obstacle[dir + 'Min'] - fromPoint[dir]), maxDistance = abs(obstacle[dir + 'Max'] - fromPoint[dir]),
1596
+ // If it's a small difference, pick the one leading towards dest
1597
+ // point. Otherwise pick the shortest distance
1598
+ useMax = abs(minDistance - maxDistance) < 10 ?
1599
+ fromPoint[dir] < toPoint[dir] :
1600
+ maxDistance < minDistance;
1601
+ // Check if we hit any obstacles trying to go around in either
1602
+ // direction.
1603
+ toPointMin[dir] = obstacle[dir + 'Min'];
1604
+ toPointMax[dir] = obstacle[dir + 'Max'];
1605
+ minPivot = pivotPoint(fromPoint, toPointMin, dirIsX)[dir] !==
1606
+ toPointMin[dir];
1607
+ maxPivot = pivotPoint(fromPoint, toPointMax, dirIsX)[dir] !==
1608
+ toPointMax[dir];
1609
+ useMax = minPivot ?
1610
+ (maxPivot ? useMax : true) :
1611
+ (maxPivot ? false : useMax);
1612
+ // useMax now contains our preferred choice, bounds not taken into
1613
+ // account. If both or neither direction is out of bounds we want to
1614
+ // use this.
1615
+ // Deal with soft bounds
1616
+ useMax = minOutOfSoftBounds ?
1617
+ (maxOutOfSoftBounds ? useMax : true) : // Out on min
1618
+ (maxOutOfSoftBounds ? false : useMax); // Not out on min
1619
+ // Deal with hard bounds
1620
+ useMax = minOutOfHardBounds ?
1621
+ (maxOutOfHardBounds ? useMax : true) : // Out on min
1622
+ (maxOutOfHardBounds ? false : useMax); // Not out on min
1623
+ return useMax;
1624
+ }
1625
+ // eslint-disable-next-line valid-jsdoc
1626
+ /**
1627
+ * Find a clear path between point.
1628
+ * @private
1629
+ */
1630
+ function clearPathTo(fromPoint, toPoint, dirIsX) {
1631
+ // Don't waste time if we've hit goal
1632
+ if (fromPoint.x === toPoint.x && fromPoint.y === toPoint.y) {
1633
+ return [];
1634
+ }
1635
+ var dir = dirIsX ? 'x' : 'y',
1636
+ pivot,
1637
+ segments,
1638
+ waypoint,
1639
+ waypointUseMax,
1640
+ envelopingObstacle,
1641
+ secondEnvelopingObstacle,
1642
+ envelopWaypoint,
1643
+ obstacleMargin = options.obstacleOptions.margin,
1644
+ bounds = {
1645
+ soft: {
1646
+ xMin: softMinX,
1647
+ xMax: softMaxX,
1648
+ yMin: softMinY,
1649
+ yMax: softMaxY
1650
+ },
1651
+ hard: options.hardBounds
1652
+ };
1653
+ // If fromPoint is inside an obstacle we have a problem. Break out
1654
+ // by just going to the outside of this obstacle. We prefer to go to
1655
+ // the nearest edge in the chosen direction.
1656
+ envelopingObstacle =
1657
+ findObstacleFromPoint(chartObstacles, fromPoint);
1658
+ if (envelopingObstacle > -1) {
1659
+ envelopingObstacle = chartObstacles[envelopingObstacle];
1660
+ waypointUseMax = getDodgeDirection(envelopingObstacle, fromPoint, toPoint, dirIsX, bounds);
1661
+ // Cut obstacle to hard bounds to make sure we stay within
1662
+ limitObstacleToBounds(envelopingObstacle, options.hardBounds);
1663
+ envelopWaypoint = dirIsX ? {
1664
+ y: fromPoint.y,
1665
+ x: envelopingObstacle[waypointUseMax ? 'xMax' : 'xMin'] +
1666
+ (waypointUseMax ? 1 : -1)
1667
+ } : {
1668
+ x: fromPoint.x,
1669
+ y: envelopingObstacle[waypointUseMax ? 'yMax' : 'yMin'] +
1670
+ (waypointUseMax ? 1 : -1)
1671
+ };
1672
+ // If we crashed into another obstacle doing this, we put the
1673
+ // waypoint between them instead
1674
+ secondEnvelopingObstacle = findObstacleFromPoint(chartObstacles, envelopWaypoint);
1675
+ if (secondEnvelopingObstacle > -1) {
1676
+ secondEnvelopingObstacle = chartObstacles[secondEnvelopingObstacle];
1677
+ // Cut obstacle to hard bounds
1678
+ limitObstacleToBounds(secondEnvelopingObstacle, options.hardBounds);
1679
+ // Modify waypoint to lay between obstacles
1680
+ envelopWaypoint[dir] = waypointUseMax ? max(envelopingObstacle[dir + 'Max'] - obstacleMargin + 1, (secondEnvelopingObstacle[dir + 'Min'] +
1681
+ envelopingObstacle[dir + 'Max']) / 2) :
1682
+ min((envelopingObstacle[dir + 'Min'] + obstacleMargin - 1), ((secondEnvelopingObstacle[dir + 'Max'] +
1683
+ envelopingObstacle[dir + 'Min']) / 2));
1684
+ // We are not going anywhere. If this happens for the first
1685
+ // time, do nothing. Otherwise, try to go to the extreme of
1686
+ // the obstacle pair in the current direction.
1687
+ if (fromPoint.x === envelopWaypoint.x &&
1688
+ fromPoint.y === envelopWaypoint.y) {
1689
+ if (forceObstacleBreak) {
1690
+ envelopWaypoint[dir] = waypointUseMax ?
1691
+ max(envelopingObstacle[dir + 'Max'], secondEnvelopingObstacle[dir + 'Max']) + 1 :
1692
+ min(envelopingObstacle[dir + 'Min'], secondEnvelopingObstacle[dir + 'Min']) - 1;
1693
+ }
1694
+ // Toggle on if off, and the opposite
1695
+ forceObstacleBreak = !forceObstacleBreak;
1696
+ }
1697
+ else {
1698
+ // This point is not identical to previous.
1699
+ // Clear break trigger.
1700
+ forceObstacleBreak = false;
1701
+ }
1702
+ }
1703
+ segments = [{
1704
+ start: fromPoint,
1705
+ end: envelopWaypoint
1706
+ }];
1707
+ }
1708
+ else { // If not enveloping, use standard pivot calculation
1709
+ pivot = pivotPoint(fromPoint, {
1710
+ x: dirIsX ? toPoint.x : fromPoint.x,
1711
+ y: dirIsX ? fromPoint.y : toPoint.y
1712
+ }, dirIsX);
1713
+ segments = [{
1714
+ start: fromPoint,
1715
+ end: {
1716
+ x: pivot.x,
1717
+ y: pivot.y
1718
+ }
1719
+ }];
1720
+ // Pivot before goal, use a waypoint to dodge obstacle
1721
+ if (pivot[dirIsX ? 'x' : 'y'] !== toPoint[dirIsX ? 'x' : 'y']) {
1722
+ // Find direction of waypoint
1723
+ waypointUseMax = getDodgeDirection(pivot.obstacle, pivot, toPoint, !dirIsX, bounds);
1724
+ // Cut waypoint to hard bounds
1725
+ limitObstacleToBounds(pivot.obstacle, options.hardBounds);
1726
+ waypoint = {
1727
+ x: dirIsX ?
1728
+ pivot.x :
1729
+ pivot.obstacle[waypointUseMax ? 'xMax' : 'xMin'] +
1730
+ (waypointUseMax ? 1 : -1),
1731
+ y: dirIsX ?
1732
+ pivot.obstacle[waypointUseMax ? 'yMax' : 'yMin'] +
1733
+ (waypointUseMax ? 1 : -1) :
1734
+ pivot.y
1735
+ };
1736
+ // We're changing direction here, store that to make sure we
1737
+ // also change direction when adding the last segment array
1738
+ // after handling waypoint.
1739
+ dirIsX = !dirIsX;
1740
+ segments = segments.concat(clearPathTo({
1741
+ x: pivot.x,
1742
+ y: pivot.y
1743
+ }, waypoint, dirIsX));
1744
+ }
1745
+ }
1746
+ // Get segments for the other direction too
1747
+ // Recursion is our friend
1748
+ segments = segments.concat(clearPathTo(segments[segments.length - 1].end, toPoint, !dirIsX));
1749
+ return segments;
1750
+ }
1751
+ // eslint-disable-next-line valid-jsdoc
1752
+ /**
1753
+ * Extract point to outside of obstacle in whichever direction is
1754
+ * closest. Returns new point outside obstacle.
1755
+ * @private
1756
+ */
1757
+ function extractFromObstacle(obstacle, point, goalPoint) {
1758
+ var dirIsX = min(obstacle.xMax - point.x,
1759
+ point.x - obstacle.xMin) <
1760
+ min(obstacle.yMax - point.y,
1761
+ point.y - obstacle.yMin),
1762
+ bounds = {
1763
+ soft: options.hardBounds,
1764
+ hard: options.hardBounds
1765
+ },
1766
+ useMax = getDodgeDirection(obstacle,
1767
+ point,
1768
+ goalPoint,
1769
+ dirIsX,
1770
+ bounds);
1771
+ return dirIsX ? {
1772
+ y: point.y,
1773
+ x: obstacle[useMax ? 'xMax' : 'xMin'] + (useMax ? 1 : -1)
1774
+ } : {
1775
+ x: point.x,
1776
+ y: obstacle[useMax ? 'yMax' : 'yMin'] + (useMax ? 1 : -1)
1777
+ };
1778
+ }
1779
+ // Cut the obstacle array to soft bounds for optimization in large
1780
+ // datasets.
1781
+ chartObstacles =
1782
+ chartObstacles.slice(startObstacleIx, endObstacleIx + 1);
1783
+ // If an obstacle envelops the end point, move it out of there and add
1784
+ // a little segment to where it was.
1785
+ if ((endObstacleIx = findObstacleFromPoint(chartObstacles, end)) > -1) {
1786
+ extractedEndPoint = extractFromObstacle(chartObstacles[endObstacleIx], end, start);
1787
+ endSegments.push({
1788
+ end: end,
1789
+ start: extractedEndPoint
1790
+ });
1791
+ end = extractedEndPoint;
1792
+ }
1793
+ // If it's still inside one or more obstacles, get out of there by
1794
+ // force-moving towards the start point.
1795
+ while ((endObstacleIx = findObstacleFromPoint(chartObstacles, end)) > -1) {
1796
+ useMax = end[dir] - start[dir] < 0;
1797
+ extractedEndPoint = {
1798
+ x: end.x,
1799
+ y: end.y
1800
+ };
1801
+ extractedEndPoint[dir] = chartObstacles[endObstacleIx][useMax ? dir + 'Max' : dir + 'Min'] + (useMax ? 1 : -1);
1802
+ endSegments.push({
1803
+ end: end,
1804
+ start: extractedEndPoint
1805
+ });
1806
+ end = extractedEndPoint;
1807
+ }
1808
+ // Find the path
1809
+ segments = clearPathTo(start, end, dirIsX);
1810
+ // Add the end-point segments
1811
+ segments = segments.concat(endSegments.reverse());
1812
+ return {
1813
+ path: pathFromSegments(segments),
1814
+ obstacles: segments
1815
+ };
1816
+ };
1817
+ fastAvoid.requiresObstacles = true;
1818
+ // Define the available pathfinding algorithms.
1819
+ // Algorithms take up to 3 arguments: starting point, ending point, and an
1820
+ // options object.
1821
+ var algorithms = {
1822
+ fastAvoid: fastAvoid,
1823
+ straight: straight,
1824
+ simpleConnect: simpleConnect
1825
+ };
1826
+
1827
+ return algorithms;
1828
+ });
1829
+ _registerModule(_modules, 'Gantt/Pathfinder.js', [_modules['Gantt/Connection.js'], _modules['Core/Chart/Chart.js'], _modules['Core/Globals.js'], _modules['Core/DefaultOptions.js'], _modules['Core/Series/Point.js'], _modules['Core/Utilities.js'], _modules['Gantt/PathfinderAlgorithms.js']], function (Connection, Chart, H, D, Point, U, pathfinderAlgorithms) {
1830
+ /* *
1831
+ *
1832
+ * (c) 2016 Highsoft AS
1833
+ * Authors: Øystein Moseng, Lars A. V. Cabrera
1834
+ *
1835
+ * License: www.highcharts.com/license
1836
+ *
1837
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
1838
+ *
1839
+ * */
1840
+ /**
1841
+ * The default pathfinder algorithm to use for a chart. It is possible to define
1842
+ * your own algorithms by adding them to the
1843
+ * `Highcharts.Pathfinder.prototype.algorithms`
1844
+ * object before the chart has been created.
1845
+ *
1846
+ * The default algorithms are as follows:
1847
+ *
1848
+ * `straight`: Draws a straight line between the connecting
1849
+ * points. Does not avoid other points when drawing.
1850
+ *
1851
+ * `simpleConnect`: Finds a path between the points using right angles
1852
+ * only. Takes only starting/ending points into
1853
+ * account, and will not avoid other points.
1854
+ *
1855
+ * `fastAvoid`: Finds a path between the points using right angles
1856
+ * only. Will attempt to avoid other points, but its
1857
+ * focus is performance over accuracy. Works well with
1858
+ * less dense datasets.
1859
+ *
1860
+ * @typedef {"fastAvoid"|"simpleConnect"|"straight"|string} Highcharts.PathfinderTypeValue
1861
+ */
1862
+ ''; // detach doclets above
1863
+ var defaultOptions = D.defaultOptions;
1864
+ var addEvent = U.addEvent,
1865
+ defined = U.defined,
1866
+ error = U.error,
1867
+ extend = U.extend,
1868
+ merge = U.merge,
1869
+ objectEach = U.objectEach,
1870
+ pick = U.pick,
1871
+ splat = U.splat;
1872
+ var deg2rad = H.deg2rad,
1873
+ max = Math.max,
1874
+ min = Math.min;
1875
+ /*
1876
+ @todo:
1877
+ - Document how to write your own algorithms
1878
+ - Consider adding a Point.pathTo method that wraps creating a connection
1879
+ and rendering it
1880
+ */
1881
+ // Set default Pathfinder options
1882
+ extend(defaultOptions, {
1883
+ /**
1884
+ * The Pathfinder module allows you to define connections between any two
1885
+ * points, represented as lines - optionally with markers for the start
1886
+ * and/or end points. Multiple algorithms are available for calculating how
1887
+ * the connecting lines are drawn.
1888
+ *
1889
+ * Connector functionality requires Highcharts Gantt to be loaded. In Gantt
1890
+ * charts, the connectors are used to draw dependencies between tasks.
1891
+ *
1892
+ * @see [dependency](series.gantt.data.dependency)
1893
+ *
1894
+ * @sample gantt/pathfinder/demo
1895
+ * Pathfinder connections
1896
+ *
1897
+ * @declare Highcharts.ConnectorsOptions
1898
+ * @product gantt
1899
+ * @optionparent connectors
1900
+ */
1901
+ connectors: {
1902
+ /**
1903
+ * Enable connectors for this chart. Requires Highcharts Gantt.
1904
+ *
1905
+ * @type {boolean}
1906
+ * @default true
1907
+ * @since 6.2.0
1908
+ * @apioption connectors.enabled
1909
+ */
1910
+ /**
1911
+ * Set the default dash style for this chart's connecting lines.
1912
+ *
1913
+ * @type {string}
1914
+ * @default solid
1915
+ * @since 6.2.0
1916
+ * @apioption connectors.dashStyle
1917
+ */
1918
+ /**
1919
+ * Set the default color for this chart's Pathfinder connecting lines.
1920
+ * Defaults to the color of the point being connected.
1921
+ *
1922
+ * @type {Highcharts.ColorString}
1923
+ * @since 6.2.0
1924
+ * @apioption connectors.lineColor
1925
+ */
1926
+ /**
1927
+ * Set the default pathfinder margin to use, in pixels. Some Pathfinder
1928
+ * algorithms attempt to avoid obstacles, such as other points in the
1929
+ * chart. These algorithms use this margin to determine how close lines
1930
+ * can be to an obstacle. The default is to compute this automatically
1931
+ * from the size of the obstacles in the chart.
1932
+ *
1933
+ * To draw connecting lines close to existing points, set this to a low
1934
+ * number. For more space around existing points, set this number
1935
+ * higher.
1936
+ *
1937
+ * @sample gantt/pathfinder/algorithm-margin
1938
+ * Small algorithmMargin
1939
+ *
1940
+ * @type {number}
1941
+ * @since 6.2.0
1942
+ * @apioption connectors.algorithmMargin
1943
+ */
1944
+ /**
1945
+ * Set the default pathfinder algorithm to use for this chart. It is
1946
+ * possible to define your own algorithms by adding them to the
1947
+ * Highcharts.Pathfinder.prototype.algorithms object before the chart
1948
+ * has been created.
1949
+ *
1950
+ * The default algorithms are as follows:
1951
+ *
1952
+ * `straight`: Draws a straight line between the connecting
1953
+ * points. Does not avoid other points when drawing.
1954
+ *
1955
+ * `simpleConnect`: Finds a path between the points using right angles
1956
+ * only. Takes only starting/ending points into
1957
+ * account, and will not avoid other points.
1958
+ *
1959
+ * `fastAvoid`: Finds a path between the points using right angles
1960
+ * only. Will attempt to avoid other points, but its
1961
+ * focus is performance over accuracy. Works well with
1962
+ * less dense datasets.
1963
+ *
1964
+ * Default value: `straight` is used as default for most series types,
1965
+ * while `simpleConnect` is used as default for Gantt series, to show
1966
+ * dependencies between points.
1967
+ *
1968
+ * @sample gantt/pathfinder/demo
1969
+ * Different types used
1970
+ *
1971
+ * @type {Highcharts.PathfinderTypeValue}
1972
+ * @default undefined
1973
+ * @since 6.2.0
1974
+ */
1975
+ type: 'straight',
1976
+ /**
1977
+ * Set the default pixel width for this chart's Pathfinder connecting
1978
+ * lines.
1979
+ *
1980
+ * @since 6.2.0
1981
+ */
1982
+ lineWidth: 1,
1983
+ /**
1984
+ * Marker options for this chart's Pathfinder connectors. Note that
1985
+ * this option is overridden by the `startMarker` and `endMarker`
1986
+ * options.
1987
+ *
1988
+ * @declare Highcharts.ConnectorsMarkerOptions
1989
+ * @since 6.2.0
1990
+ */
1991
+ marker: {
1992
+ /**
1993
+ * Set the radius of the connector markers. The default is
1994
+ * automatically computed based on the algorithmMargin setting.
1995
+ *
1996
+ * Setting marker.width and marker.height will override this
1997
+ * setting.
1998
+ *
1999
+ * @type {number}
2000
+ * @since 6.2.0
2001
+ * @apioption connectors.marker.radius
2002
+ */
2003
+ /**
2004
+ * Set the width of the connector markers. If not supplied, this
2005
+ * is inferred from the marker radius.
2006
+ *
2007
+ * @type {number}
2008
+ * @since 6.2.0
2009
+ * @apioption connectors.marker.width
2010
+ */
2011
+ /**
2012
+ * Set the height of the connector markers. If not supplied, this
2013
+ * is inferred from the marker radius.
2014
+ *
2015
+ * @type {number}
2016
+ * @since 6.2.0
2017
+ * @apioption connectors.marker.height
2018
+ */
2019
+ /**
2020
+ * Set the color of the connector markers. By default this is the
2021
+ * same as the connector color.
2022
+ *
2023
+ * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
2024
+ * @since 6.2.0
2025
+ * @apioption connectors.marker.color
2026
+ */
2027
+ /**
2028
+ * Set the line/border color of the connector markers. By default
2029
+ * this is the same as the marker color.
2030
+ *
2031
+ * @type {Highcharts.ColorString}
2032
+ * @since 6.2.0
2033
+ * @apioption connectors.marker.lineColor
2034
+ */
2035
+ /**
2036
+ * Enable markers for the connectors.
2037
+ */
2038
+ enabled: false,
2039
+ /**
2040
+ * Horizontal alignment of the markers relative to the points.
2041
+ *
2042
+ * @type {Highcharts.AlignValue}
2043
+ */
2044
+ align: 'center',
2045
+ /**
2046
+ * Vertical alignment of the markers relative to the points.
2047
+ *
2048
+ * @type {Highcharts.VerticalAlignValue}
2049
+ */
2050
+ verticalAlign: 'middle',
2051
+ /**
2052
+ * Whether or not to draw the markers inside the points.
2053
+ */
2054
+ inside: false,
2055
+ /**
2056
+ * Set the line/border width of the pathfinder markers.
2057
+ */
2058
+ lineWidth: 1
2059
+ },
2060
+ /**
2061
+ * Marker options specific to the start markers for this chart's
2062
+ * Pathfinder connectors. Overrides the generic marker options.
2063
+ *
2064
+ * @declare Highcharts.ConnectorsStartMarkerOptions
2065
+ * @extends connectors.marker
2066
+ * @since 6.2.0
2067
+ */
2068
+ startMarker: {
2069
+ /**
2070
+ * Set the symbol of the connector start markers.
2071
+ */
2072
+ symbol: 'diamond'
2073
+ },
2074
+ /**
2075
+ * Marker options specific to the end markers for this chart's
2076
+ * Pathfinder connectors. Overrides the generic marker options.
2077
+ *
2078
+ * @declare Highcharts.ConnectorsEndMarkerOptions
2079
+ * @extends connectors.marker
2080
+ * @since 6.2.0
2081
+ */
2082
+ endMarker: {
2083
+ /**
2084
+ * Set the symbol of the connector end markers.
2085
+ */
2086
+ symbol: 'arrow-filled'
2087
+ }
2088
+ }
2089
+ });
2090
+ /**
2091
+ * Override Pathfinder connector options for a series. Requires Highcharts Gantt
2092
+ * to be loaded.
2093
+ *
2094
+ * @declare Highcharts.SeriesConnectorsOptionsObject
2095
+ * @extends connectors
2096
+ * @since 6.2.0
2097
+ * @excluding enabled, algorithmMargin
2098
+ * @product gantt
2099
+ * @apioption plotOptions.series.connectors
2100
+ */
2101
+ /**
2102
+ * Connect to a point. This option can be either a string, referring to the ID
2103
+ * of another point, or an object, or an array of either. If the option is an
2104
+ * array, each element defines a connection.
2105
+ *
2106
+ * @sample gantt/pathfinder/demo
2107
+ * Different connection types
2108
+ *
2109
+ * @declare Highcharts.XrangePointConnectorsOptionsObject
2110
+ * @type {string|Array<string|*>|*}
2111
+ * @extends plotOptions.series.connectors
2112
+ * @since 6.2.0
2113
+ * @excluding enabled
2114
+ * @product gantt
2115
+ * @requires highcharts-gantt
2116
+ * @apioption series.xrange.data.connect
2117
+ */
2118
+ /**
2119
+ * The ID of the point to connect to.
2120
+ *
2121
+ * @type {string}
2122
+ * @since 6.2.0
2123
+ * @product gantt
2124
+ * @apioption series.xrange.data.connect.to
2125
+ */
2126
+ /**
2127
+ * Get point bounding box using plotX/plotY and shapeArgs. If using
2128
+ * graphic.getBBox() directly, the bbox will be affected by animation.
2129
+ *
2130
+ * @private
2131
+ * @function
2132
+ *
2133
+ * @param {Highcharts.Point} point
2134
+ * The point to get BB of.
2135
+ *
2136
+ * @return {Highcharts.Dictionary<number>|null}
2137
+ * Result xMax, xMin, yMax, yMin.
2138
+ */
2139
+ function getPointBB(point) {
2140
+ var shapeArgs = point.shapeArgs,
2141
+ bb;
2142
+ // Prefer using shapeArgs (columns)
2143
+ if (shapeArgs) {
2144
+ return {
2145
+ xMin: shapeArgs.x || 0,
2146
+ xMax: (shapeArgs.x || 0) + (shapeArgs.width || 0),
2147
+ yMin: shapeArgs.y || 0,
2148
+ yMax: (shapeArgs.y || 0) + (shapeArgs.height || 0)
2149
+ };
2150
+ }
2151
+ // Otherwise use plotX/plotY and bb
2152
+ bb = point.graphic && point.graphic.getBBox();
2153
+ return bb ? {
2154
+ xMin: point.plotX - bb.width / 2,
2155
+ xMax: point.plotX + bb.width / 2,
2156
+ yMin: point.plotY - bb.height / 2,
2157
+ yMax: point.plotY + bb.height / 2
2158
+ } : null;
2159
+ }
2160
+ /**
2161
+ * Calculate margin to place around obstacles for the pathfinder in pixels.
2162
+ * Returns a minimum of 1 pixel margin.
2163
+ *
2164
+ * @private
2165
+ * @function
2166
+ *
2167
+ * @param {Array<object>} obstacles
2168
+ * Obstacles to calculate margin from.
2169
+ *
2170
+ * @return {number}
2171
+ * The calculated margin in pixels. At least 1.
2172
+ */
2173
+ function calculateObstacleMargin(obstacles) {
2174
+ var len = obstacles.length,
2175
+ i = 0,
2176
+ j,
2177
+ obstacleDistance,
2178
+ distances = [],
2179
+ // Compute smallest distance between two rectangles
2180
+ distance = function (a,
2181
+ b,
2182
+ bbMargin) {
2183
+ // Count the distance even if we are slightly off
2184
+ var margin = pick(bbMargin, 10),
2185
+ yOverlap = a.yMax + margin > b.yMin - margin &&
2186
+ a.yMin - margin < b.yMax + margin,
2187
+ xOverlap = a.xMax + margin > b.xMin - margin &&
2188
+ a.xMin - margin < b.xMax + margin,
2189
+ xDistance = yOverlap ? (a.xMin > b.xMax ? a.xMin - b.xMax : b.xMin - a.xMax) : Infinity,
2190
+ yDistance = xOverlap ? (a.yMin > b.yMax ? a.yMin - b.yMax : b.yMin - a.yMax) : Infinity;
2191
+ // If the rectangles collide, try recomputing with smaller margin.
2192
+ // If they collide anyway, discard the obstacle.
2193
+ if (xOverlap && yOverlap) {
2194
+ return (margin ?
2195
+ distance(a, b, Math.floor(margin / 2)) :
2196
+ Infinity);
2197
+ }
2198
+ return min(xDistance, yDistance);
2199
+ };
2200
+ // Go over all obstacles and compare them to the others.
2201
+ for (; i < len; ++i) {
2202
+ // Compare to all obstacles ahead. We will already have compared this
2203
+ // obstacle to the ones before.
2204
+ for (j = i + 1; j < len; ++j) {
2205
+ obstacleDistance = distance(obstacles[i], obstacles[j]);
2206
+ // TODO: Magic number 80
2207
+ if (obstacleDistance < 80) { // Ignore large distances
2208
+ distances.push(obstacleDistance);
2209
+ }
2210
+ }
2211
+ }
2212
+ // Ensure we always have at least one value, even in very spaceous charts
2213
+ distances.push(80);
2214
+ return max(Math.floor(distances.sort(function (a, b) {
2215
+ return (a - b);
2216
+ })[
2217
+ // Discard first 10% of the relevant distances, and then grab
2218
+ // the smallest one.
2219
+ Math.floor(distances.length / 10)] / 2 - 1 // Divide the distance by 2 and subtract 1.
2220
+ ), 1 // 1 is the minimum margin
2221
+ );
2222
+ }
2223
+ /* eslint-disable no-invalid-this, valid-jsdoc */
2224
+ /**
2225
+ * The Pathfinder class.
2226
+ *
2227
+ * @private
2228
+ * @class
2229
+ * @name Highcharts.Pathfinder
2230
+ *
2231
+ * @param {Highcharts.Chart} chart
2232
+ * The chart to operate on.
2233
+ */
2234
+ var Pathfinder = /** @class */ (function () {
2235
+ function Pathfinder(chart) {
2236
+ /* *
2237
+ *
2238
+ * Properties
2239
+ *
2240
+ * */
2241
+ this.chart = void 0;
2242
+ this.chartObstacles = void 0;
2243
+ this.chartObstacleMetrics = void 0;
2244
+ this.connections = void 0;
2245
+ this.group = void 0;
2246
+ this.lineObstacles = void 0;
2247
+ this.init(chart);
2248
+ }
2249
+ /**
2250
+ * @name Highcharts.Pathfinder#algorithms
2251
+ * @type {Highcharts.Dictionary<Function>}
2252
+ */
2253
+ /**
2254
+ * Initialize the Pathfinder object.
2255
+ *
2256
+ * @function Highcharts.Pathfinder#init
2257
+ *
2258
+ * @param {Highcharts.Chart} chart
2259
+ * The chart context.
2260
+ */
2261
+ Pathfinder.prototype.init = function (chart) {
2262
+ // Initialize pathfinder with chart context
2263
+ this.chart = chart;
2264
+ // Init connection reference list
2265
+ this.connections = [];
2266
+ // Recalculate paths/obstacles on chart redraw
2267
+ addEvent(chart, 'redraw', function () {
2268
+ this.pathfinder.update();
2269
+ });
2270
+ };
2271
+ /**
2272
+ * Update Pathfinder connections from scratch.
2273
+ *
2274
+ * @function Highcharts.Pathfinder#update
2275
+ *
2276
+ * @param {boolean} [deferRender]
2277
+ * Whether or not to defer rendering of connections until
2278
+ * series.afterAnimate event has fired. Used on first render.
2279
+ */
2280
+ Pathfinder.prototype.update = function (deferRender) {
2281
+ var chart = this.chart,
2282
+ pathfinder = this,
2283
+ oldConnections = pathfinder.connections;
2284
+ // Rebuild pathfinder connections from options
2285
+ pathfinder.connections = [];
2286
+ chart.series.forEach(function (series) {
2287
+ if (series.visible && !series.options.isInternal) {
2288
+ series.points.forEach(function (point) {
2289
+ var ganttPointOptions = point.options;
2290
+ // For Gantt series the connect could be
2291
+ // defined as a dependency
2292
+ if (ganttPointOptions && ganttPointOptions.dependency) {
2293
+ ganttPointOptions.connect = ganttPointOptions
2294
+ .dependency;
2295
+ }
2296
+ var to,
2297
+ connects = (point.options &&
2298
+ point.options.connect &&
2299
+ splat(point.options.connect));
2300
+ if (point.visible && point.isInside !== false && connects) {
2301
+ connects.forEach(function (connect) {
2302
+ to = chart.get(typeof connect === 'string' ?
2303
+ connect : connect.to);
2304
+ if (to instanceof Point &&
2305
+ to.series.visible &&
2306
+ to.visible &&
2307
+ to.isInside !== false) {
2308
+ // Add new connection
2309
+ pathfinder.connections.push(new Connection(point, // from
2310
+ to, typeof connect === 'string' ?
2311
+ {} :
2312
+ connect));
2313
+ }
2314
+ });
2315
+ }
2316
+ });
2317
+ }
2318
+ });
2319
+ // Clear connections that should not be updated, and move old info over
2320
+ // to new connections.
2321
+ for (var j = 0, k = void 0, found = void 0, lenOld = oldConnections.length, lenNew = pathfinder.connections.length; j < lenOld; ++j) {
2322
+ found = false;
2323
+ for (k = 0; k < lenNew; ++k) {
2324
+ if (oldConnections[j].fromPoint ===
2325
+ pathfinder.connections[k].fromPoint &&
2326
+ oldConnections[j].toPoint ===
2327
+ pathfinder.connections[k].toPoint) {
2328
+ pathfinder.connections[k].graphics =
2329
+ oldConnections[j].graphics;
2330
+ found = true;
2331
+ break;
2332
+ }
2333
+ }
2334
+ if (!found) {
2335
+ oldConnections[j].destroy();
2336
+ }
2337
+ }
2338
+ // Clear obstacles to force recalculation. This must be done on every
2339
+ // redraw in case positions have changed. Recalculation is handled in
2340
+ // Connection.getPath on demand.
2341
+ delete this.chartObstacles;
2342
+ delete this.lineObstacles;
2343
+ // Draw the pending connections
2344
+ pathfinder.renderConnections(deferRender);
2345
+ };
2346
+ /**
2347
+ * Draw the chart's connecting paths.
2348
+ *
2349
+ * @function Highcharts.Pathfinder#renderConnections
2350
+ *
2351
+ * @param {boolean} [deferRender]
2352
+ * Whether or not to defer render until series animation is finished.
2353
+ * Used on first render.
2354
+ */
2355
+ Pathfinder.prototype.renderConnections = function (deferRender) {
2356
+ if (deferRender) {
2357
+ // Render after series are done animating
2358
+ this.chart.series.forEach(function (series) {
2359
+ var render = function () {
2360
+ // Find pathfinder connections belonging to this series
2361
+ // that haven't rendered, and render them now.
2362
+ var pathfinder = series.chart.pathfinder,
2363
+ conns = pathfinder && pathfinder.connections || [];
2364
+ conns.forEach(function (connection) {
2365
+ if (connection.fromPoint &&
2366
+ connection.fromPoint.series === series) {
2367
+ connection.render();
2368
+ }
2369
+ });
2370
+ if (series.pathfinderRemoveRenderEvent) {
2371
+ series.pathfinderRemoveRenderEvent();
2372
+ delete series.pathfinderRemoveRenderEvent;
2373
+ }
2374
+ };
2375
+ if (series.options.animation === false) {
2376
+ render();
2377
+ }
2378
+ else {
2379
+ series.pathfinderRemoveRenderEvent = addEvent(series, 'afterAnimate', render);
2380
+ }
2381
+ });
2382
+ }
2383
+ else {
2384
+ // Go through connections and render them
2385
+ this.connections.forEach(function (connection) {
2386
+ connection.render();
2387
+ });
2388
+ }
2389
+ };
2390
+ /**
2391
+ * Get obstacles for the points in the chart. Does not include connecting
2392
+ * lines from Pathfinder. Applies algorithmMargin to the obstacles.
2393
+ *
2394
+ * @function Highcharts.Pathfinder#getChartObstacles
2395
+ *
2396
+ * @param {Object} options
2397
+ * Options for the calculation. Currenlty only
2398
+ * options.algorithmMargin.
2399
+ *
2400
+ * @return {Array<object>}
2401
+ * An array of calculated obstacles. Each obstacle is defined as an
2402
+ * object with xMin, xMax, yMin and yMax properties.
2403
+ */
2404
+ Pathfinder.prototype.getChartObstacles = function (options) {
2405
+ var obstacles = [],
2406
+ series = this.chart.series,
2407
+ margin = pick(options.algorithmMargin, 0),
2408
+ calculatedMargin;
2409
+ for (var i = 0, sLen = series.length; i < sLen; ++i) {
2410
+ if (series[i].visible && !series[i].options.isInternal) {
2411
+ for (var j = 0, pLen = series[i].points.length, bb = void 0, point = void 0; j < pLen; ++j) {
2412
+ point = series[i].points[j];
2413
+ if (point.visible) {
2414
+ bb = getPointBB(point);
2415
+ if (bb) {
2416
+ obstacles.push({
2417
+ xMin: bb.xMin - margin,
2418
+ xMax: bb.xMax + margin,
2419
+ yMin: bb.yMin - margin,
2420
+ yMax: bb.yMax + margin
2421
+ });
2422
+ }
2423
+ }
2424
+ }
2425
+ }
2426
+ }
2427
+ // Sort obstacles by xMin for optimization
2428
+ obstacles = obstacles.sort(function (a, b) {
2429
+ return a.xMin - b.xMin;
2430
+ });
2431
+ // Add auto-calculated margin if the option is not defined
2432
+ if (!defined(options.algorithmMargin)) {
2433
+ calculatedMargin =
2434
+ options.algorithmMargin =
2435
+ calculateObstacleMargin(obstacles);
2436
+ obstacles.forEach(function (obstacle) {
2437
+ obstacle.xMin -= calculatedMargin;
2438
+ obstacle.xMax += calculatedMargin;
2439
+ obstacle.yMin -= calculatedMargin;
2440
+ obstacle.yMax += calculatedMargin;
2441
+ });
2442
+ }
2443
+ return obstacles;
2444
+ };
2445
+ /**
2446
+ * Utility function to get metrics for obstacles:
2447
+ * - Widest obstacle width
2448
+ * - Tallest obstacle height
2449
+ *
2450
+ * @function Highcharts.Pathfinder#getObstacleMetrics
2451
+ *
2452
+ * @param {Array<object>} obstacles
2453
+ * An array of obstacles to inspect.
2454
+ *
2455
+ * @return {Object}
2456
+ * The calculated metrics, as an object with maxHeight and maxWidth
2457
+ * properties.
2458
+ */
2459
+ Pathfinder.prototype.getObstacleMetrics = function (obstacles) {
2460
+ var maxWidth = 0,
2461
+ maxHeight = 0,
2462
+ width,
2463
+ height,
2464
+ i = obstacles.length;
2465
+ while (i--) {
2466
+ width = obstacles[i].xMax - obstacles[i].xMin;
2467
+ height = obstacles[i].yMax - obstacles[i].yMin;
2468
+ if (maxWidth < width) {
2469
+ maxWidth = width;
2470
+ }
2471
+ if (maxHeight < height) {
2472
+ maxHeight = height;
2473
+ }
2474
+ }
2475
+ return {
2476
+ maxHeight: maxHeight,
2477
+ maxWidth: maxWidth
2478
+ };
2479
+ };
2480
+ /**
2481
+ * Utility to get which direction to start the pathfinding algorithm
2482
+ * (X vs Y), calculated from a set of marker options.
2483
+ *
2484
+ * @function Highcharts.Pathfinder#getAlgorithmStartDirection
2485
+ *
2486
+ * @param {Highcharts.ConnectorsMarkerOptions} markerOptions
2487
+ * Marker options to calculate from.
2488
+ *
2489
+ * @return {boolean}
2490
+ * Returns true for X, false for Y, and undefined for autocalculate.
2491
+ */
2492
+ Pathfinder.prototype.getAlgorithmStartDirection = function (markerOptions) {
2493
+ var xCenter = markerOptions.align !== 'left' &&
2494
+ markerOptions.align !== 'right', yCenter = markerOptions.verticalAlign !== 'top' &&
2495
+ markerOptions.verticalAlign !== 'bottom', undef;
2496
+ return xCenter ?
2497
+ (yCenter ? undef : false) : // x is centered
2498
+ (yCenter ? true : undef); // x is off-center
2499
+ };
2500
+ return Pathfinder;
2501
+ }());
2502
+ Pathfinder.prototype.algorithms = pathfinderAlgorithms;
2503
+ // Add to Highcharts namespace
2504
+ H.Pathfinder = Pathfinder;
2505
+ // Add pathfinding capabilities to Points
2506
+ extend(Point.prototype, /** @lends Point.prototype */ {
2507
+ /**
2508
+ * Get coordinates of anchor point for pathfinder connection.
2509
+ *
2510
+ * @private
2511
+ * @function Highcharts.Point#getPathfinderAnchorPoint
2512
+ *
2513
+ * @param {Highcharts.ConnectorsMarkerOptions} markerOptions
2514
+ * Connection options for position on point.
2515
+ *
2516
+ * @return {Highcharts.PositionObject}
2517
+ * An object with x/y properties for the position. Coordinates are
2518
+ * in plot values, not relative to point.
2519
+ */
2520
+ getPathfinderAnchorPoint: function (markerOptions) {
2521
+ var bb = getPointBB(this),
2522
+ x,
2523
+ y;
2524
+ switch (markerOptions.align) { // eslint-disable-line default-case
2525
+ case 'right':
2526
+ x = 'xMax';
2527
+ break;
2528
+ case 'left':
2529
+ x = 'xMin';
2530
+ }
2531
+ switch (markerOptions.verticalAlign) { // eslint-disable-line default-case
2532
+ case 'top':
2533
+ y = 'yMin';
2534
+ break;
2535
+ case 'bottom':
2536
+ y = 'yMax';
2537
+ }
2538
+ return {
2539
+ x: x ? bb[x] : (bb.xMin + bb.xMax) / 2,
2540
+ y: y ? bb[y] : (bb.yMin + bb.yMax) / 2
2541
+ };
2542
+ },
2543
+ /**
2544
+ * Utility to get the angle from one point to another.
2545
+ *
2546
+ * @private
2547
+ * @function Highcharts.Point#getRadiansToVector
2548
+ *
2549
+ * @param {Highcharts.PositionObject} v1
2550
+ * The first vector, as an object with x/y properties.
2551
+ *
2552
+ * @param {Highcharts.PositionObject} v2
2553
+ * The second vector, as an object with x/y properties.
2554
+ *
2555
+ * @return {number}
2556
+ * The angle in degrees
2557
+ */
2558
+ getRadiansToVector: function (v1, v2) {
2559
+ var box;
2560
+ if (!defined(v2)) {
2561
+ box = getPointBB(this);
2562
+ if (box) {
2563
+ v2 = {
2564
+ x: (box.xMin + box.xMax) / 2,
2565
+ y: (box.yMin + box.yMax) / 2
2566
+ };
2567
+ }
2568
+ }
2569
+ return Math.atan2(v2.y - v1.y, v1.x - v2.x);
2570
+ },
2571
+ /**
2572
+ * Utility to get the position of the marker, based on the path angle and
2573
+ * the marker's radius.
2574
+ *
2575
+ * @private
2576
+ * @function Highcharts.Point#getMarkerVector
2577
+ *
2578
+ * @param {number} radians
2579
+ * The angle in radians from the point center to another vector.
2580
+ *
2581
+ * @param {number} markerRadius
2582
+ * The radius of the marker, to calculate the additional distance to
2583
+ * the center of the marker.
2584
+ *
2585
+ * @param {Object} anchor
2586
+ * The anchor point of the path and marker as an object with x/y
2587
+ * properties.
2588
+ *
2589
+ * @return {Object}
2590
+ * The marker vector as an object with x/y properties.
2591
+ */
2592
+ getMarkerVector: function (radians, markerRadius, anchor) {
2593
+ var twoPI = Math.PI * 2.0,
2594
+ theta = radians,
2595
+ bb = getPointBB(this),
2596
+ rectWidth = bb.xMax - bb.xMin,
2597
+ rectHeight = bb.yMax - bb.yMin,
2598
+ rAtan = Math.atan2(rectHeight,
2599
+ rectWidth),
2600
+ tanTheta = 1,
2601
+ leftOrRightRegion = false,
2602
+ rectHalfWidth = rectWidth / 2.0,
2603
+ rectHalfHeight = rectHeight / 2.0,
2604
+ rectHorizontalCenter = bb.xMin + rectHalfWidth,
2605
+ rectVerticalCenter = bb.yMin + rectHalfHeight,
2606
+ edgePoint = {
2607
+ x: rectHorizontalCenter,
2608
+ y: rectVerticalCenter
2609
+ },
2610
+ xFactor = 1,
2611
+ yFactor = 1;
2612
+ while (theta < -Math.PI) {
2613
+ theta += twoPI;
2614
+ }
2615
+ while (theta > Math.PI) {
2616
+ theta -= twoPI;
2617
+ }
2618
+ tanTheta = Math.tan(theta);
2619
+ if ((theta > -rAtan) && (theta <= rAtan)) {
2620
+ // Right side
2621
+ yFactor = -1;
2622
+ leftOrRightRegion = true;
2623
+ }
2624
+ else if (theta > rAtan && theta <= (Math.PI - rAtan)) {
2625
+ // Top side
2626
+ yFactor = -1;
2627
+ }
2628
+ else if (theta > (Math.PI - rAtan) || theta <= -(Math.PI - rAtan)) {
2629
+ // Left side
2630
+ xFactor = -1;
2631
+ leftOrRightRegion = true;
2632
+ }
2633
+ else {
2634
+ // Bottom side
2635
+ xFactor = -1;
2636
+ }
2637
+ // Correct the edgePoint according to the placement of the marker
2638
+ if (leftOrRightRegion) {
2639
+ edgePoint.x += xFactor * (rectHalfWidth);
2640
+ edgePoint.y += yFactor * (rectHalfWidth) * tanTheta;
2641
+ }
2642
+ else {
2643
+ edgePoint.x += xFactor * (rectHeight / (2.0 * tanTheta));
2644
+ edgePoint.y += yFactor * (rectHalfHeight);
2645
+ }
2646
+ if (anchor.x !== rectHorizontalCenter) {
2647
+ edgePoint.x = anchor.x;
2648
+ }
2649
+ if (anchor.y !== rectVerticalCenter) {
2650
+ edgePoint.y = anchor.y;
2651
+ }
2652
+ return {
2653
+ x: edgePoint.x + (markerRadius * Math.cos(theta)),
2654
+ y: edgePoint.y - (markerRadius * Math.sin(theta))
2655
+ };
2656
+ }
2657
+ });
2658
+ /**
2659
+ * Warn if using legacy options. Copy the options over. Note that this will
2660
+ * still break if using the legacy options in chart.update, addSeries etc.
2661
+ * @private
2662
+ */
2663
+ function warnLegacy(chart) {
2664
+ if (chart.options.pathfinder ||
2665
+ chart.series.reduce(function (acc, series) {
2666
+ if (series.options) {
2667
+ merge(true, (series.options.connectors = series.options.connectors ||
2668
+ {}), series.options.pathfinder);
2669
+ }
2670
+ return acc || series.options && series.options.pathfinder;
2671
+ }, false)) {
2672
+ merge(true, (chart.options.connectors = chart.options.connectors || {}), chart.options.pathfinder);
2673
+ error('WARNING: Pathfinder options have been renamed. ' +
2674
+ 'Use "chart.connectors" or "series.connectors" instead.');
2675
+ }
2676
+ }
2677
+ // Initialize Pathfinder for charts
2678
+ Chart.prototype.callbacks.push(function (chart) {
2679
+ var options = chart.options;
2680
+ if (options.connectors.enabled !== false) {
2681
+ warnLegacy(chart);
2682
+ this.pathfinder = new Pathfinder(this);
2683
+ this.pathfinder.update(true); // First draw, defer render
2684
+ }
2685
+ });
2686
+
2687
+ return Pathfinder;
2688
+ });
2689
+ _registerModule(_modules, 'masters/modules/pathfinder.src.js', [], function () {
2690
+
2691
+
2692
+ });
2693
+ }));