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.
- package/bundles/ps-toolkit-ui.umd.js +20 -2
- package/bundles/ps-toolkit-ui.umd.js.map +1 -1
- package/bundles/ps-toolkit-ui.umd.min.js +1 -1
- package/bundles/ps-toolkit-ui.umd.min.js.map +1 -1
- package/esm2015/lib/classes/chart.class.js +140 -0
- package/esm2015/lib/components/chart/chart.component.js +17 -0
- package/esm2015/lib/ps-toolkit-ui.module.js +4 -3
- package/esm2015/ps-toolkit-ui.js +2 -1
- package/fesm2015/ps-toolkit-ui.js +19 -3
- package/fesm2015/ps-toolkit-ui.js.map +1 -1
- package/lib/classes/chart.class.d.ts +11 -0
- package/lib/components/chart/chart.component.d.ts +5 -0
- package/package.json +1 -1
- package/ps-toolkit-ui.d.ts +1 -0
- package/ps-toolkit-ui.metadata.json +1 -1
- package/src/assets/plugins/highcharts/code/css/annotations/popup.css +276 -0
- package/src/assets/plugins/highcharts/code/css/annotations/popup.scss +289 -0
- package/src/assets/plugins/highcharts/code/css/highcharts.css +1013 -0
- package/src/assets/plugins/highcharts/code/css/highcharts.scss +896 -0
- package/src/assets/plugins/highcharts/code/css/stocktools/gui.css +271 -0
- package/src/assets/plugins/highcharts/code/css/stocktools/gui.scss +271 -0
- package/src/assets/plugins/highcharts/code/css/themes/dark-unica.css +1074 -0
- package/src/assets/plugins/highcharts/code/css/themes/dark-unica.scss +122 -0
- package/src/assets/plugins/highcharts/code/css/themes/grid-light.css +1027 -0
- package/src/assets/plugins/highcharts/code/css/themes/grid-light.scss +33 -0
- package/src/assets/plugins/highcharts/code/css/themes/sand-signika.css +1043 -0
- package/src/assets/plugins/highcharts/code/css/themes/sand-signika.scss +74 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/A11yI18n.js +299 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Accessibility.js +401 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/AccessibilityComponent.js +153 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/AnnotationsA11y.js +160 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/ContainerComponent.js +159 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/InfoRegionsComponent.js +543 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/LegendComponent.js +478 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/MenuComponent.js +451 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/RangeSelectorComponent.js +506 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +217 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +324 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +148 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +390 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +650 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/ZoomComponent.js +375 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/FocusBorder.js +302 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/HighContrastMode.js +96 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/HighContrastTheme.js +221 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/KeyboardNavigation.js +449 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/KeyboardNavigationHandler.js +128 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Options/DeprecatedOptions.js +250 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Options/LangOptions.js +339 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Options/Options.js +831 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/ProxyElement.js +218 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/ProxyProvider.js +302 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/Announcer.js +91 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/ChartUtilities.js +294 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/DOMElementProvider.js +62 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/EventProvider.js +58 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/HTMLUtilities.js +305 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Animation/AnimationUtilities.js +200 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Animation/Fx.js +387 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Axis.js +3225 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Axis3D.js +612 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/AxisDefaults.js +2935 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/BrokenAxis.js +601 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Color/ColorAxis.js +668 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Color/ColorAxisComposition.js +287 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Color/ColorAxisDefaults.js +434 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/DateTimeAxis.js +196 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/GridAxis.js +1046 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/LogarithmicAxis.js +202 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/NavigatorAxis.js +159 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/OrdinalAxis.js +992 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +873 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +287 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/RadialAxis.js +954 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/ScrollbarAxis.js +182 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/SolidGaugeAxis.js +127 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/StackingAxis.js +216 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Tick.js +723 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Tick3D.js +68 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/TreeGridAxis.js +720 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/TreeGridTick.js +306 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/WaterfallAxis.js +149 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/ZAxis.js +156 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/Chart.js +2909 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/Chart3D.js +1695 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/ChartDefaults.js +1053 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/ChartNavigationComposition.js +92 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/GanttChart.js +177 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/MapChart.js +179 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/StockChart.js +644 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Color/Color.js +419 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Color/Palettes.js +22 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/DefaultOptions.js +2743 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/FormatUtilities.js +246 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Foundation.js +61 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Geometry/CircleUtilities.js +386 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Geometry/GeometryUtilities.js +83 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Globals.js +131 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/HttpUtilities.js +195 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Legend/Legend.js +1284 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Legend/LegendSymbol.js +109 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/MSPointer.js +170 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Navigator.js +1958 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Pointer.js +1518 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/HTML/AST.js +475 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/HTML/HTMLElement.js +261 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/HTML/HTMLRenderer.js +272 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/RendererRegistry.js +77 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/RendererUtilities.js +159 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGElement.js +2176 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGElement3D.js +160 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGLabel.js +408 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGRenderer.js +1900 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +842 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/Symbols.js +197 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/TextBuilder.js +452 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Responsive.js +334 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Scrollbar.js +658 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/ScrollbarDefaults.js +218 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Series/DataLabel.js +568 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Series/Point.js +1307 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Series/Series.js +3718 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Series/Series3D.js +126 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Series/SeriesDefaults.js +2293 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Series/SeriesRegistry.js +127 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Time.js +741 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Tooltip.js +1378 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Utilities.js +1967 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/DataConverter.js +483 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/DataPromise.js +252 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/DataSeriesConverter.js +207 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/DataTable.js +1205 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/ChainModifier.js +299 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/DataModifier.js +303 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/GroupModifier.js +144 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/InvertModifier.js +254 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/RangeModifier.js +143 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/SeriesPointsModifier.js +110 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/SortModifier.js +249 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Parsers/CSVParser.js +400 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Parsers/DataParser.js +101 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Parsers/GoogleSheetsParser.js +223 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Parsers/HTMLTableParser.js +213 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Stores/CSVStore.js +317 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Stores/DataStore.js +276 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Stores/GoogleSheetsStore.js +169 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Stores/HTMLTableStore.js +353 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Annotations.js +1442 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/ControlPoint.js +141 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +117 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +199 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +111 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +387 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +181 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +121 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +378 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Mixins/EventEmitterMixin.js +221 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +179 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/MockPoint.js +428 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/NavigationBindings.js +1212 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Popup.js +1123 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +237 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/CrookedLine.js +185 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/ElliottWave.js +95 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/Fibonacci.js +205 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +219 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/InfinityLine.js +161 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/Measure.js +791 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/Pitchfork.js +194 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/TimeCycles.js +211 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/Tunnel.js +211 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/VerticalLine.js +156 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/ArrowSymbols.js +166 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/Boost.js +34 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostAttach.js +150 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostInit.js +318 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostOptions.js +219 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostOverrides.js +386 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostUtils.js +255 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostableMap.js +18 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/Boostables.js +25 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/NamedColors.js +162 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/WGLRenderer.js +1188 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/WGLShader.js +470 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/WGLVBuffer.js +153 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/BoostCanvas.js +509 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/CurrentDateIndication.js +100 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Data.js +2037 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/DataGrouping.js +1134 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Debugger/Debugger.js +101 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Debugger/ErrorMessages.js +106 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/DownloadURL.js +106 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/DragPanes.js +512 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/DraggablePoints.js +2259 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Drilldown.js +1170 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/ExportData.js +997 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Exporting/Exporting.js +1260 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Exporting/ExportingDefaults.js +796 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Exporting/ExportingSymbols.js +73 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/FullScreen.js +240 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/GeoJSON.js +436 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/MarkerClusters.js +1436 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Math3D.js +245 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/NoDataToDisplay.js +189 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/OfflineExporting/OfflineExporting.js +617 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +58 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Oldie/Oldie.js +1182 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Oldie/VMLAxis3D.js +101 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Oldie/VMLRenderer3D.js +47 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/OldiePolyfills.js +167 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/OverlappingDataLabels.js +226 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Pane.js +404 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/ParallelCoordinates.js +464 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/PatternFill.js +580 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Polar.js +740 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/PriceIndication.js +292 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/RangeSelector.js +2175 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/ScrollablePlotArea.js +387 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/SeriesLabel.js +765 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/ChartSonify.js +724 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Earcon.js +197 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Instrument.js +606 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/MusicalFrequencies.js +122 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Options.js +44 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/PointSonify.js +391 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/SeriesSonify.js +474 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/SignalHandler.js +122 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Sonification.js +97 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/SonificationUtilities.js +150 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Timeline.js +308 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/TimelineEvent.js +157 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/TimelinePath.js +311 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Stacking.js +516 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/StaticScale.js +76 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Avocado.js +67 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/BrandDark.js +293 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/BrandLight.js +259 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/DarkBlue.js +279 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/DarkGreen.js +279 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/DarkUnica.js +249 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Gray.js +287 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Grid.js +140 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/GridLight.js +111 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/HighContrastDark.js +239 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/HighContrastLight.js +69 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/SandSignika.js +144 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Skies.js +131 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Sunset.js +66 -0
- package/src/assets/plugins/highcharts/code/es-modules/Gantt/Connection.js +838 -0
- package/src/assets/plugins/highcharts/code/es-modules/Gantt/Pathfinder.js +818 -0
- package/src/assets/plugins/highcharts/code/es-modules/Gantt/PathfinderAlgorithms.js +657 -0
- package/src/assets/plugins/highcharts/code/es-modules/Gantt/Tree.js +110 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/MapNavigation.js +278 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/MapNavigationOptionsDefault.js +264 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/MapPointer.js +83 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/MapSymbols.js +80 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/MapView.js +450 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/MapViewOptionsDefault.js +97 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projection.js +436 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/ProjectionDefinition.js +9 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/EqualEarth.js +42 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/LambertConformalConic.js +52 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/Miller.js +16 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/Orthographic.js +26 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/ProjectionRegistry.js +19 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/WebMercator.js +24 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Area/AreaSeries.js +563 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Area3DSeries.js +70 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/AreaRange/AreaRangePoint.js +129 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/AreaRange/AreaRangeSeries.js +650 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/AreaSpline/AreaSplineSeries.js +203 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +199 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bar/BarSeries.js +171 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bellcurve/BellcurveSeries.js +241 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/BoxPlot/BoxPlotSeries.js +681 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubbleLegendComposition.js +279 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubbleLegendDefaults.js +266 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubbleLegendItem.js +462 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubblePoint.js +77 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubbleSeries.js +676 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bullet/BulletPoint.js +62 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bullet/BulletSeries.js +365 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Candlestick/CandlestickSeries.js +333 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/CenteredUtilities.js +128 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/ColorMapMixin.js +84 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Column/ColumnDataLabel.js +109 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Column/ColumnSeries.js +1171 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Column3D/Column3DComposition.js +508 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +308 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/ColumnRange/ColumnRangePoint.js +62 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/ColumnRange/ColumnRangeSeries.js +308 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Cylinder/CylinderComposition.js +274 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Cylinder/CylinderPoint.js +60 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Cylinder/CylinderSeries.js +175 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/DataModifyComposition.js +539 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +100 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +368 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/DerivedComposition.js +137 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/DotPlot/DotPlotSeries.js +158 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/DrawPointComposition.js +111 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Dumbbell/DumbbellPoint.js +104 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Dumbbell/DumbbellSeries.js +464 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/ErrorBar/ErrorBarSeries.js +228 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Flags/FlagsPoint.js +74 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Flags/FlagsSeries.js +614 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Flags/FlagsSymbols.js +90 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Funnel/FunnelSeries.js +517 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Funnel3D/Funnel3DComposition.js +383 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Funnel3D/Funnel3DPoint.js +62 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Funnel3D/Funnel3DSeries.js +447 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Gantt/GanttPoint.js +109 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Gantt/GanttSeries.js +352 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Gauge/GaugePoint.js +66 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Gauge/GaugeSeries.js +568 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/HLC/HLCPoint.js +55 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/HLC/HLCSeries.js +378 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Heatmap/HeatmapPoint.js +144 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Heatmap/HeatmapSeries.js +946 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +60 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +278 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Histogram/HistogramSeries.js +253 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +80 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +368 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Item/ItemPoint.js +59 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Item/ItemSeries.js +505 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Line/LineSeries.js +541 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Lollipop/LollipopPoint.js +60 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Lollipop/LollipopSeries.js +209 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Map/MapPoint.js +136 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Map/MapSeries.js +1100 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/MapBubble/MapBubblePoint.js +73 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/MapBubble/MapBubbleSeries.js +283 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/MapLine/MapLineSeries.js +181 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/MapPoint/MapPointPoint.js +71 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/MapPoint/MapPointSeries.js +309 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/DraggableNodes.js +132 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/Integrations.js +348 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/Layouts.js +555 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/Networkgraph.js +1178 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/QuadTree.js +352 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/NodesComposition.js +229 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/OHLC/OHLCPoint.js +116 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/OHLC/OHLCSeries.js +254 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/OnSeriesComposition.js +168 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Organization/OrganizationPoint.js +71 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Organization/OrganizationSeries.js +594 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/PackedBubble/PackedBubbleComposition.js +172 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/PackedBubble/PackedBubblePoint.js +98 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/PackedBubble/PackedBubbleSeries.js +1284 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/ParetoSeries/ParetoSeries.js +195 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pie/PieDataLabel.js +447 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pie/PiePoint.js +270 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pie/PieSeries.js +1074 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pie3D/Pie3DComposition.js +27 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pie3D/Pie3DPoint.js +72 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pie3D/Pie3DSeries.js +200 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Polygon/PolygonSeries.js +195 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pyramid/PyramidSeries.js +161 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +172 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Sankey/SankeyPoint.js +97 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Sankey/SankeySeries.js +1195 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Scatter/ScatterSeries.js +306 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Scatter3D/Scatter3DPoint.js +66 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Scatter3D/Scatter3DSeries.js +194 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/SolidGauge/SolidGaugeComposition.js +62 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/SolidGauge/SolidGaugeSeries.js +358 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Spline/SplineSeries.js +279 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Streamgraph/StreamgraphSeries.js +213 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Sunburst/SunburstPoint.js +115 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Sunburst/SunburstSeries.js +907 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Sunburst/SunburstUtilities.js +138 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Tilemap/TilemapComposition.js +61 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Tilemap/TilemapPoint.js +77 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Tilemap/TilemapSeries.js +368 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Tilemap/TilemapShapes.js +275 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Timeline/TimelinePoint.js +168 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Timeline/TimelineSeries.js +552 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/TreeUtilities.js +192 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapAlgorithmGroup.js +93 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapComposition.js +58 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapPoint.js +107 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapSeries.js +1473 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapUtilities.js +65 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/VariablePie/VariablePieSeries.js +446 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Variwide/VariwideComposition.js +78 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Variwide/VariwidePoint.js +63 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Variwide/VariwideSeries.js +317 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Vector/VectorSeries.js +362 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Venn/VennPoint.js +76 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Venn/VennSeries.js +633 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Venn/VennUtils.js +607 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Waterfall/WaterfallPoint.js +68 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Waterfall/WaterfallSeries.js +743 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Windbarb/WindbarbPoint.js +64 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Windbarb/WindbarbSeries.js +462 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Wordcloud/WordcloudPoint.js +66 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Wordcloud/WordcloudSeries.js +503 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Wordcloud/WordcloudUtils.js +718 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/XRange/XRangeComposition.js +49 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/XRange/XRangePoint.js +168 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/XRange/XRangeSeries.js +608 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +243 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/AD/ADIndicator.js +160 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/AO/AOIndicator.js +212 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/APO/APOIndicator.js +167 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/ATR/ATRIndicator.js +162 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +197 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +141 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/ArrayUtilities.js +47 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/BB/BBIndicator.js +241 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/CCI/CCIIndicator.js +154 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/CMF/CMFIndicator.js +243 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/CMO/CMOIndicator.js +166 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +187 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +149 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/DMI/DMIIndicator.js +276 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/DPO/DPOIndicator.js +163 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +179 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/EMA/EMAIndicator.js +154 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/IKH/IKHIndicator.js +682 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +217 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +270 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +282 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +119 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +104 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +104 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/MACD/MACDIndicator.js +402 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/MFI/MFIIndicator.js +198 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +121 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/MultipleLinesComposition.js +294 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/NATR/NATRIndicator.js +111 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/OBV/OBVIndicator.js +170 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PC/PCIndicator.js +197 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PPO/PPOIndicator.js +164 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +280 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +310 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +78 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +240 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/ROC/ROCIndicator.js +176 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/RSI/RSIIndicator.js +171 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/SMA/SMAComposition.js +12 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/SMA/SMAIndicator.js +367 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +134 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +208 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +485 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +208 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +98 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +148 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/VBP/VBPIndicator.js +556 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/VBP/VBPPoint.js +49 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +193 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/WMA/WMAIndicator.js +153 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +135 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +228 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/StockToolsBindings.js +2009 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/StockToolsGui.js +1816 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/highcharts-3d.src.js +28 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/highcharts-more.src.js +28 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/highcharts.src.js +147 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/accessibility.src.js +28 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/annotations-advanced.src.js +26 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/annotations.src.js +15 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/arrow-symbols.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/boost-canvas.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/boost.src.js +15 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/broken-axis.src.js +15 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/bullet.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/coloraxis.src.js +17 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/current-date-indicator.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/cylinder.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/data.src.js +23 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/datagrouping.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/debugger.src.js +16 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/dependency-wheel.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/dotplot.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/drag-panes.src.js +15 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/draggable-points.src.js +11 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/drilldown.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/dumbbell.src.js +11 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/export-data.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/exporting.src.js +22 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/full-screen.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/funnel.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/funnel3d.src.js +18 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/gantt.src.js +26 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/grid-axis.src.js +17 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/heatmap.src.js +16 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/heikinashi.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/histogram-bellcurve.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/hollowcandlestick.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/item-series.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/lollipop.src.js +11 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/marker-clusters.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/networkgraph.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/no-data-to-display.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/offline-exporting.src.js +20 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/oldie-polyfills.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/oldie.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/organization.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/overlapping-datalabels.src.js +11 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/parallel-coordinates.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/pareto.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/pathfinder.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/pattern-fill.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/price-indicator.src.js +15 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/pyramid3d.src.js +16 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/sankey.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/series-label.src.js +11 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/solid-gauge.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/sonification.src.js +44 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/static-scale.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/stock-tools.src.js +16 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/stock.src.js +33 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/streamgraph.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/sunburst.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/tilemap.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/timeline.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/treegrid.src.js +17 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/treemap.src.js +12 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/variable-pie.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/variwide.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/vector.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/venn.src.js +12 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/windbarb.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/wordcloud.src.js +12 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/xrange.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/avocado.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/brand-dark.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/brand-light.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/dark-blue.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/dark-green.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/dark-unica.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/gray.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/grid-light.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/grid.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/high-contrast-dark.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/high-contrast-light.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/sand-signika.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/skies.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/sunset.src.js +14 -0
- package/src/assets/plugins/highcharts/code/highcharts-3d.js +105 -0
- package/src/assets/plugins/highcharts/code/highcharts-3d.js.map +1 -0
- package/src/assets/plugins/highcharts/code/highcharts-3d.src.js +5439 -0
- package/src/assets/plugins/highcharts/code/highcharts-more.js +201 -0
- package/src/assets/plugins/highcharts/code/highcharts-more.js.map +1 -0
- package/src/assets/plugins/highcharts/code/highcharts-more.src.js +12004 -0
- package/src/assets/plugins/highcharts/code/highcharts.js +593 -0
- package/src/assets/plugins/highcharts/code/highcharts.js.map +1 -0
- package/src/assets/plugins/highcharts/code/highcharts.src.js +47519 -0
- package/src/assets/plugins/highcharts/code/lib/canvg.js +8 -0
- package/src/assets/plugins/highcharts/code/lib/jspdf.js +283 -0
- package/src/assets/plugins/highcharts/code/lib/jspdf.src.js +21627 -0
- package/src/assets/plugins/highcharts/code/lib/svg2pdf.js +38 -0
- package/src/assets/plugins/highcharts/code/lib/svg2pdf.src.js +4390 -0
- package/src/assets/plugins/highcharts/code/modules/accessibility.js +256 -0
- package/src/assets/plugins/highcharts/code/modules/accessibility.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/accessibility.src.js +11868 -0
- package/src/assets/plugins/highcharts/code/modules/annotations-advanced.js +201 -0
- package/src/assets/plugins/highcharts/code/modules/annotations-advanced.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/annotations-advanced.src.js +9616 -0
- package/src/assets/plugins/highcharts/code/modules/annotations.js +135 -0
- package/src/assets/plugins/highcharts/code/modules/annotations.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/annotations.src.js +6712 -0
- package/src/assets/plugins/highcharts/code/modules/arrow-symbols.js +12 -0
- package/src/assets/plugins/highcharts/code/modules/arrow-symbols.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/arrow-symbols.src.js +202 -0
- package/src/assets/plugins/highcharts/code/modules/boost-canvas.js +25 -0
- package/src/assets/plugins/highcharts/code/modules/boost-canvas.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/boost-canvas.src.js +593 -0
- package/src/assets/plugins/highcharts/code/modules/boost.js +90 -0
- package/src/assets/plugins/highcharts/code/modules/boost.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/boost.src.js +3834 -0
- package/src/assets/plugins/highcharts/code/modules/broken-axis.js +20 -0
- package/src/assets/plugins/highcharts/code/modules/broken-axis.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/broken-axis.src.js +682 -0
- package/src/assets/plugins/highcharts/code/modules/bullet.js +18 -0
- package/src/assets/plugins/highcharts/code/modules/bullet.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/bullet.src.js +489 -0
- package/src/assets/plugins/highcharts/code/modules/coloraxis.js +33 -0
- package/src/assets/plugins/highcharts/code/modules/coloraxis.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/coloraxis.src.js +1484 -0
- package/src/assets/plugins/highcharts/code/modules/current-date-indicator.js +13 -0
- package/src/assets/plugins/highcharts/code/modules/current-date-indicator.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/current-date-indicator.src.js +138 -0
- package/src/assets/plugins/highcharts/code/modules/cylinder.js +20 -0
- package/src/assets/plugins/highcharts/code/modules/cylinder.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/cylinder.src.js +585 -0
- package/src/assets/plugins/highcharts/code/modules/data.js +42 -0
- package/src/assets/plugins/highcharts/code/modules/data.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/data.src.js +2383 -0
- package/src/assets/plugins/highcharts/code/modules/datagrouping.js +29 -0
- package/src/assets/plugins/highcharts/code/modules/datagrouping.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/datagrouping.src.js +1275 -0
- package/src/assets/plugins/highcharts/code/modules/debugger.js +30 -0
- package/src/assets/plugins/highcharts/code/modules/debugger.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/debugger.src.js +250 -0
- package/src/assets/plugins/highcharts/code/modules/dependency-wheel.js +20 -0
- package/src/assets/plugins/highcharts/code/modules/dependency-wheel.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/dependency-wheel.src.js +533 -0
- package/src/assets/plugins/highcharts/code/modules/dotplot.js +15 -0
- package/src/assets/plugins/highcharts/code/modules/dotplot.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/dotplot.src.js +216 -0
- package/src/assets/plugins/highcharts/code/modules/drag-panes.js +20 -0
- package/src/assets/plugins/highcharts/code/modules/drag-panes.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/drag-panes.src.js +586 -0
- package/src/assets/plugins/highcharts/code/modules/draggable-points.js +41 -0
- package/src/assets/plugins/highcharts/code/modules/draggable-points.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/draggable-points.src.js +2405 -0
- package/src/assets/plugins/highcharts/code/modules/drilldown.js +34 -0
- package/src/assets/plugins/highcharts/code/modules/drilldown.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/drilldown.src.js +1266 -0
- package/src/assets/plugins/highcharts/code/modules/dumbbell.js +24 -0
- package/src/assets/plugins/highcharts/code/modules/dumbbell.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/dumbbell.src.js +798 -0
- package/src/assets/plugins/highcharts/code/modules/export-data.js +30 -0
- package/src/assets/plugins/highcharts/code/modules/export-data.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/export-data.src.js +1203 -0
- package/src/assets/plugins/highcharts/code/modules/exporting.js +48 -0
- package/src/assets/plugins/highcharts/code/modules/exporting.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/exporting.src.js +2789 -0
- package/src/assets/plugins/highcharts/code/modules/full-screen.js +17 -0
- package/src/assets/plugins/highcharts/code/modules/full-screen.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/full-screen.src.js +284 -0
- package/src/assets/plugins/highcharts/code/modules/funnel.js +21 -0
- package/src/assets/plugins/highcharts/code/modules/funnel.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/funnel.src.js +777 -0
- package/src/assets/plugins/highcharts/code/modules/funnel3d.js +30 -0
- package/src/assets/plugins/highcharts/code/modules/funnel3d.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/funnel3d.src.js +1004 -0
- package/src/assets/plugins/highcharts/code/modules/gantt.js +226 -0
- package/src/assets/plugins/highcharts/code/modules/gantt.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/gantt.src.js +13485 -0
- package/src/assets/plugins/highcharts/code/modules/grid-axis.js +32 -0
- package/src/assets/plugins/highcharts/code/modules/grid-axis.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/grid-axis.src.js +1160 -0
- package/src/assets/plugins/highcharts/code/modules/heatmap.js +46 -0
- package/src/assets/plugins/highcharts/code/modules/heatmap.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/heatmap.src.js +2726 -0
- package/src/assets/plugins/highcharts/code/modules/heikinashi.js +17 -0
- package/src/assets/plugins/highcharts/code/modules/heikinashi.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/heikinashi.src.js +396 -0
- package/src/assets/plugins/highcharts/code/modules/histogram-bellcurve.js +21 -0
- package/src/assets/plugins/highcharts/code/modules/histogram-bellcurve.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/histogram-bellcurve.src.js +699 -0
- package/src/assets/plugins/highcharts/code/modules/hollowcandlestick.js +18 -0
- package/src/assets/plugins/highcharts/code/modules/hollowcandlestick.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/hollowcandlestick.src.js +500 -0
- package/src/assets/plugins/highcharts/code/modules/item-series.js +21 -0
- package/src/assets/plugins/highcharts/code/modules/item-series.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/item-series.src.js +660 -0
- package/src/assets/plugins/highcharts/code/modules/lollipop.js +14 -0
- package/src/assets/plugins/highcharts/code/modules/lollipop.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/lollipop.src.js +318 -0
- package/src/assets/plugins/highcharts/code/modules/marker-clusters.js +45 -0
- package/src/assets/plugins/highcharts/code/modules/marker-clusters.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/marker-clusters.src.js +1713 -0
- package/src/assets/plugins/highcharts/code/modules/networkgraph.js +58 -0
- package/src/assets/plugins/highcharts/code/modules/networkgraph.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/networkgraph.src.js +2926 -0
- package/src/assets/plugins/highcharts/code/modules/no-data-to-display.js +15 -0
- package/src/assets/plugins/highcharts/code/modules/no-data-to-display.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/no-data-to-display.src.js +231 -0
- package/src/assets/plugins/highcharts/code/modules/offline-exporting.js +27 -0
- package/src/assets/plugins/highcharts/code/modules/offline-exporting.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/offline-exporting.src.js +847 -0
- package/src/assets/plugins/highcharts/code/modules/oldie-polyfills.js +17 -0
- package/src/assets/plugins/highcharts/code/modules/oldie-polyfills.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/oldie-polyfills.src.js +220 -0
- package/src/assets/plugins/highcharts/code/modules/oldie.js +40 -0
- package/src/assets/plugins/highcharts/code/modules/oldie.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/oldie.src.js +1443 -0
- package/src/assets/plugins/highcharts/code/modules/organization.js +22 -0
- package/src/assets/plugins/highcharts/code/modules/organization.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/organization.src.js +736 -0
- package/src/assets/plugins/highcharts/code/modules/overlapping-datalabels.js +9 -0
- package/src/assets/plugins/highcharts/code/modules/overlapping-datalabels.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/overlapping-datalabels.src.js +33 -0
- package/src/assets/plugins/highcharts/code/modules/parallel-coordinates.js +20 -0
- package/src/assets/plugins/highcharts/code/modules/parallel-coordinates.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/parallel-coordinates.src.js +555 -0
- package/src/assets/plugins/highcharts/code/modules/pareto.js +16 -0
- package/src/assets/plugins/highcharts/code/modules/pareto.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/pareto.src.js +382 -0
- package/src/assets/plugins/highcharts/code/modules/pathfinder.js +40 -0
- package/src/assets/plugins/highcharts/code/modules/pathfinder.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/pathfinder.src.js +2693 -0
- package/src/assets/plugins/highcharts/code/modules/pattern-fill.js +24 -0
- package/src/assets/plugins/highcharts/code/modules/pattern-fill.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/pattern-fill.src.js +640 -0
- package/src/assets/plugins/highcharts/code/modules/price-indicator.js +15 -0
- package/src/assets/plugins/highcharts/code/modules/price-indicator.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/price-indicator.src.js +346 -0
- package/src/assets/plugins/highcharts/code/modules/pyramid3d.js +13 -0
- package/src/assets/plugins/highcharts/code/modules/pyramid3d.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/pyramid3d.src.js +211 -0
- package/src/assets/plugins/highcharts/code/modules/sankey.js +38 -0
- package/src/assets/plugins/highcharts/code/modules/sankey.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/sankey.src.js +1868 -0
- package/src/assets/plugins/highcharts/code/modules/series-label.js +24 -0
- package/src/assets/plugins/highcharts/code/modules/series-label.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/series-label.src.js +852 -0
- package/src/assets/plugins/highcharts/code/modules/solid-gauge.js +19 -0
- package/src/assets/plugins/highcharts/code/modules/solid-gauge.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/solid-gauge.src.js +650 -0
- package/src/assets/plugins/highcharts/code/modules/sonification.js +68 -0
- package/src/assets/plugins/highcharts/code/modules/sonification.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/sonification.src.js +3869 -0
- package/src/assets/plugins/highcharts/code/modules/static-scale.js +13 -0
- package/src/assets/plugins/highcharts/code/modules/static-scale.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/static-scale.src.js +117 -0
- package/src/assets/plugins/highcharts/code/modules/stock-tools.js +189 -0
- package/src/assets/plugins/highcharts/code/modules/stock-tools.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/stock-tools.src.js +9592 -0
- package/src/assets/plugins/highcharts/code/modules/stock.js +213 -0
- package/src/assets/plugins/highcharts/code/modules/stock.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/stock.src.js +12237 -0
- package/src/assets/plugins/highcharts/code/modules/streamgraph.js +13 -0
- package/src/assets/plugins/highcharts/code/modules/streamgraph.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/streamgraph.src.js +253 -0
- package/src/assets/plugins/highcharts/code/modules/sunburst.js +68 -0
- package/src/assets/plugins/highcharts/code/modules/sunburst.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/sunburst.src.js +3721 -0
- package/src/assets/plugins/highcharts/code/modules/tilemap.js +26 -0
- package/src/assets/plugins/highcharts/code/modules/tilemap.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/tilemap.src.js +878 -0
- package/src/assets/plugins/highcharts/code/modules/timeline.js +28 -0
- package/src/assets/plugins/highcharts/code/modules/timeline.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/timeline.src.js +815 -0
- package/src/assets/plugins/highcharts/code/modules/treegrid.js +65 -0
- package/src/assets/plugins/highcharts/code/modules/treegrid.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/treegrid.src.js +3294 -0
- package/src/assets/plugins/highcharts/code/modules/treemap.js +49 -0
- package/src/assets/plugins/highcharts/code/modules/treemap.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/treemap.src.js +2416 -0
- package/src/assets/plugins/highcharts/code/modules/variable-pie.js +18 -0
- package/src/assets/plugins/highcharts/code/modules/variable-pie.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/variable-pie.src.js +533 -0
- package/src/assets/plugins/highcharts/code/modules/variwide.js +21 -0
- package/src/assets/plugins/highcharts/code/modules/variwide.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/variwide.src.js +529 -0
- package/src/assets/plugins/highcharts/code/modules/vector.js +16 -0
- package/src/assets/plugins/highcharts/code/modules/vector.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/vector.src.js +409 -0
- package/src/assets/plugins/highcharts/code/modules/venn.js +39 -0
- package/src/assets/plugins/highcharts/code/modules/venn.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/venn.src.js +2095 -0
- package/src/assets/plugins/highcharts/code/modules/windbarb.js +24 -0
- package/src/assets/plugins/highcharts/code/modules/windbarb.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/windbarb.src.js +772 -0
- package/src/assets/plugins/highcharts/code/modules/wordcloud.js +31 -0
- package/src/assets/plugins/highcharts/code/modules/wordcloud.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/wordcloud.src.js +1584 -0
- package/src/assets/plugins/highcharts/code/modules/xrange.js +26 -0
- package/src/assets/plugins/highcharts/code/modules/xrange.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/xrange.src.js +940 -0
- package/src/assets/plugins/highcharts/code/themes/avocado.js +10 -0
- package/src/assets/plugins/highcharts/code/themes/avocado.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/avocado.src.js +103 -0
- package/src/assets/plugins/highcharts/code/themes/brand-dark.js +15 -0
- package/src/assets/plugins/highcharts/code/themes/brand-dark.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/brand-dark.src.js +328 -0
- package/src/assets/plugins/highcharts/code/themes/brand-light.js +15 -0
- package/src/assets/plugins/highcharts/code/themes/brand-light.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/brand-light.src.js +294 -0
- package/src/assets/plugins/highcharts/code/themes/dark-blue.js +15 -0
- package/src/assets/plugins/highcharts/code/themes/dark-blue.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/dark-blue.src.js +315 -0
- package/src/assets/plugins/highcharts/code/themes/dark-green.js +15 -0
- package/src/assets/plugins/highcharts/code/themes/dark-green.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/dark-green.src.js +315 -0
- package/src/assets/plugins/highcharts/code/themes/dark-unica.js +14 -0
- package/src/assets/plugins/highcharts/code/themes/dark-unica.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/dark-unica.src.js +284 -0
- package/src/assets/plugins/highcharts/code/themes/gray.js +15 -0
- package/src/assets/plugins/highcharts/code/themes/gray.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/gray.src.js +323 -0
- package/src/assets/plugins/highcharts/code/themes/grid-light.js +11 -0
- package/src/assets/plugins/highcharts/code/themes/grid-light.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/grid-light.src.js +146 -0
- package/src/assets/plugins/highcharts/code/themes/grid.js +12 -0
- package/src/assets/plugins/highcharts/code/themes/grid.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/grid.src.js +176 -0
- package/src/assets/plugins/highcharts/code/themes/high-contrast-dark.js +14 -0
- package/src/assets/plugins/highcharts/code/themes/high-contrast-dark.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/high-contrast-dark.src.js +275 -0
- package/src/assets/plugins/highcharts/code/themes/high-contrast-light.js +10 -0
- package/src/assets/plugins/highcharts/code/themes/high-contrast-light.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/high-contrast-light.src.js +105 -0
- package/src/assets/plugins/highcharts/code/themes/sand-signika.js +12 -0
- package/src/assets/plugins/highcharts/code/themes/sand-signika.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/sand-signika.src.js +179 -0
- package/src/assets/plugins/highcharts/code/themes/skies.js +12 -0
- package/src/assets/plugins/highcharts/code/themes/skies.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/skies.src.js +167 -0
- package/src/assets/plugins/highcharts/code/themes/sunset.js +10 -0
- package/src/assets/plugins/highcharts/code/themes/sunset.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/sunset.src.js +102 -0
- package/src/assets/plugins/highcharts/examples/3d-area-multiple/index.html +192 -0
- package/src/assets/plugins/highcharts/examples/3d-column-interactive/index.html +111 -0
- package/src/assets/plugins/highcharts/examples/3d-column-null-values/index.html +118 -0
- package/src/assets/plugins/highcharts/examples/3d-column-stacking-grouping/index.html +144 -0
- package/src/assets/plugins/highcharts/examples/3d-pie/index.html +130 -0
- package/src/assets/plugins/highcharts/examples/3d-pie-donut/index.html +112 -0
- package/src/assets/plugins/highcharts/examples/3d-scatter-draggable/index.html +221 -0
- package/src/assets/plugins/highcharts/examples/accessible-line/index.html +198 -0
- package/src/assets/plugins/highcharts/examples/accessible-pie/index.html +213 -0
- package/src/assets/plugins/highcharts/examples/advanced-accessible/index.html +271 -0
- package/src/assets/plugins/highcharts/examples/annotations/index.html +2170 -0
- package/src/assets/plugins/highcharts/examples/area-basic/index.html +157 -0
- package/src/assets/plugins/highcharts/examples/area-inverted/index.html +135 -0
- package/src/assets/plugins/highcharts/examples/area-missing/index.html +125 -0
- package/src/assets/plugins/highcharts/examples/area-negative/index.html +101 -0
- package/src/assets/plugins/highcharts/examples/area-stacked/index.html +136 -0
- package/src/assets/plugins/highcharts/examples/area-stacked-percent/index.html +141 -0
- package/src/assets/plugins/highcharts/examples/arearange/index.html +132 -0
- package/src/assets/plugins/highcharts/examples/arearange-line/index.html +195 -0
- package/src/assets/plugins/highcharts/examples/areaspline/index.html +137 -0
- package/src/assets/plugins/highcharts/examples/bar-basic/index.html +143 -0
- package/src/assets/plugins/highcharts/examples/bar-negative-stack/index.html +173 -0
- package/src/assets/plugins/highcharts/examples/bar-stacked/index.html +112 -0
- package/src/assets/plugins/highcharts/examples/bellcurve/index.html +133 -0
- package/src/assets/plugins/highcharts/examples/box-plot/index.html +149 -0
- package/src/assets/plugins/highcharts/examples/bubble/index.html +209 -0
- package/src/assets/plugins/highcharts/examples/bubble-3d/index.html +159 -0
- package/src/assets/plugins/highcharts/examples/bullet-graph/index.html +233 -0
- package/src/assets/plugins/highcharts/examples/chart-update/index.html +137 -0
- package/src/assets/plugins/highcharts/examples/column-basic/index.html +144 -0
- package/src/assets/plugins/highcharts/examples/column-comparison/index.html +350 -0
- package/src/assets/plugins/highcharts/examples/column-drilldown/index.html +387 -0
- package/src/assets/plugins/highcharts/examples/column-negative/index.html +101 -0
- package/src/assets/plugins/highcharts/examples/column-parsed/index.html +138 -0
- package/src/assets/plugins/highcharts/examples/column-placement/index.html +160 -0
- package/src/assets/plugins/highcharts/examples/column-pyramid/index.html +117 -0
- package/src/assets/plugins/highcharts/examples/column-rotated-labels/index.html +147 -0
- package/src/assets/plugins/highcharts/examples/column-stacked/index.html +138 -0
- package/src/assets/plugins/highcharts/examples/column-stacked-and-grouped/index.html +133 -0
- package/src/assets/plugins/highcharts/examples/column-stacked-percent/index.html +113 -0
- package/src/assets/plugins/highcharts/examples/columnrange/index.html +145 -0
- package/src/assets/plugins/highcharts/examples/combo/index.html +146 -0
- package/src/assets/plugins/highcharts/examples/combo-dual-axes/index.html +153 -0
- package/src/assets/plugins/highcharts/examples/combo-meteogram/index.html +768 -0
- package/src/assets/plugins/highcharts/examples/combo-multi-axes/index.html +222 -0
- package/src/assets/plugins/highcharts/examples/combo-regression/index.html +110 -0
- package/src/assets/plugins/highcharts/examples/combo-timeline/index.html +592 -0
- package/src/assets/plugins/highcharts/examples/cylinder/index.html +104 -0
- package/src/assets/plugins/highcharts/examples/dependency-wheel/index.html +165 -0
- package/src/assets/plugins/highcharts/examples/dumbbell/index.html +230 -0
- package/src/assets/plugins/highcharts/examples/dynamic-click-to-add/index.html +147 -0
- package/src/assets/plugins/highcharts/examples/dynamic-master-detail/index.html +316 -0
- package/src/assets/plugins/highcharts/examples/dynamic-update/index.html +163 -0
- package/src/assets/plugins/highcharts/examples/error-bar/index.html +154 -0
- package/src/assets/plugins/highcharts/examples/euler-diagram/index.html +119 -0
- package/src/assets/plugins/highcharts/examples/flame/index.html +1324 -0
- package/src/assets/plugins/highcharts/examples/funnel/index.html +131 -0
- package/src/assets/plugins/highcharts/examples/funnel3d/index.html +117 -0
- package/src/assets/plugins/highcharts/examples/gauge-activity/index.html +272 -0
- package/src/assets/plugins/highcharts/examples/gauge-clock/index.html +261 -0
- package/src/assets/plugins/highcharts/examples/gauge-dual/index.html +181 -0
- package/src/assets/plugins/highcharts/examples/gauge-solid/index.html +248 -0
- package/src/assets/plugins/highcharts/examples/gauge-speedometer/index.html +189 -0
- package/src/assets/plugins/highcharts/examples/gauge-vu-meter/index.html +210 -0
- package/src/assets/plugins/highcharts/examples/heatmap/index.html +168 -0
- package/src/assets/plugins/highcharts/examples/heatmap-canvas/index.html +8928 -0
- package/src/assets/plugins/highcharts/examples/histogram/index.html +133 -0
- package/src/assets/plugins/highcharts/examples/honeycomb-usa/index.html +518 -0
- package/src/assets/plugins/highcharts/examples/line-ajax/index.html +206 -0
- package/src/assets/plugins/highcharts/examples/line-basic/index.html +147 -0
- package/src/assets/plugins/highcharts/examples/line-boost/index.html +144 -0
- package/src/assets/plugins/highcharts/examples/line-labels/index.html +108 -0
- package/src/assets/plugins/highcharts/examples/line-log-axis/index.html +106 -0
- package/src/assets/plugins/highcharts/examples/line-time-series/index.html +136 -0
- package/src/assets/plugins/highcharts/examples/live-data/index.html +155 -0
- package/src/assets/plugins/highcharts/examples/lollipop/index.html +161 -0
- package/src/assets/plugins/highcharts/examples/network-graph/index.html +277 -0
- package/src/assets/plugins/highcharts/examples/organization-chart/index.html +224 -0
- package/src/assets/plugins/highcharts/examples/packed-bubble/index.html +588 -0
- package/src/assets/plugins/highcharts/examples/packed-bubble-split/index.html +589 -0
- package/src/assets/plugins/highcharts/examples/parallel-coordinates/index.html +176 -0
- package/src/assets/plugins/highcharts/examples/pareto/index.html +133 -0
- package/src/assets/plugins/highcharts/examples/parliament-chart/index.html +138 -0
- package/src/assets/plugins/highcharts/examples/pie-basic/index.html +141 -0
- package/src/assets/plugins/highcharts/examples/pie-donut/index.html +347 -0
- package/src/assets/plugins/highcharts/examples/pie-drilldown/index.html +418 -0
- package/src/assets/plugins/highcharts/examples/pie-gradient/index.html +133 -0
- package/src/assets/plugins/highcharts/examples/pie-legend/index.html +128 -0
- package/src/assets/plugins/highcharts/examples/pie-monochrome/index.html +139 -0
- package/src/assets/plugins/highcharts/examples/pie-semi-circle/index.html +133 -0
- package/src/assets/plugins/highcharts/examples/polar/index.html +136 -0
- package/src/assets/plugins/highcharts/examples/polar-radial-bar/index.html +169 -0
- package/src/assets/plugins/highcharts/examples/polar-spider/index.html +148 -0
- package/src/assets/plugins/highcharts/examples/polar-wind-rose/index.html +351 -0
- package/src/assets/plugins/highcharts/examples/polygon/index.html +190 -0
- package/src/assets/plugins/highcharts/examples/pyramid/index.html +126 -0
- package/src/assets/plugins/highcharts/examples/pyramid3d/index.html +117 -0
- package/src/assets/plugins/highcharts/examples/renderer/index.html +334 -0
- package/src/assets/plugins/highcharts/examples/responsive/index.html +176 -0
- package/src/assets/plugins/highcharts/examples/sankey-diagram/index.html +145 -0
- package/src/assets/plugins/highcharts/examples/scatter/index.html +246 -0
- package/src/assets/plugins/highcharts/examples/scatter-boost/index.html +142 -0
- package/src/assets/plugins/highcharts/examples/sonification/index.html +331 -0
- package/src/assets/plugins/highcharts/examples/sparkline/index.html +676 -0
- package/src/assets/plugins/highcharts/examples/spline-inverted/index.html +135 -0
- package/src/assets/plugins/highcharts/examples/spline-irregular-time/index.html +255 -0
- package/src/assets/plugins/highcharts/examples/spline-plot-bands/index.html +223 -0
- package/src/assets/plugins/highcharts/examples/spline-symbols/index.html +139 -0
- package/src/assets/plugins/highcharts/examples/streamgraph/index.html +447 -0
- package/src/assets/plugins/highcharts/examples/styled-mode-column/index.html +146 -0
- package/src/assets/plugins/highcharts/examples/styled-mode-pie/index.html +119 -0
- package/src/assets/plugins/highcharts/examples/sunburst/index.html +1520 -0
- package/src/assets/plugins/highcharts/examples/synchronized-charts/index.html +238 -0
- package/src/assets/plugins/highcharts/examples/timeline/index.html +142 -0
- package/src/assets/plugins/highcharts/examples/treemap-coloraxis/index.html +119 -0
- package/src/assets/plugins/highcharts/examples/treemap-large-dataset/index.html +172 -0
- package/src/assets/plugins/highcharts/examples/treemap-with-levels/index.html +151 -0
- package/src/assets/plugins/highcharts/examples/variable-radius-pie/index.html +131 -0
- package/src/assets/plugins/highcharts/examples/variwide/index.html +146 -0
- package/src/assets/plugins/highcharts/examples/vector-plot/index.html +494 -0
- package/src/assets/plugins/highcharts/examples/venn-diagram/index.html +124 -0
- package/src/assets/plugins/highcharts/examples/waterfall/index.html +143 -0
- package/src/assets/plugins/highcharts/examples/windbarb-series/index.html +189 -0
- package/src/assets/plugins/highcharts/examples/wordcloud/index.html +110 -0
- package/src/assets/plugins/highcharts/examples/x-range/index.html +142 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/annotations-hidden.svg +19 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/annotations-visible.svg +20 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-bottom.svg +9 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-left.svg +9 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-line.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-ray.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-right.svg +9 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-segment.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/circle.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/close.svg +8 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/crooked-3.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/crooked-5.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/current-price-hide.svg +40 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/current-price-show.svg +41 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/destroy.svg +14 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/drawing.svg +18 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/edit.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/elliott-3.svg +59 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/elliott-5.svg +41 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/ellipse.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/fibonacci-timezone.svg +16 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/fibonacci.svg +25 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/flag-basic.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/flag-diamond.svg +12 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/flag-elipse.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/flag-trapeze.svg +14 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/fullscreen.svg +15 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/horizontal-line.svg +8 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/indicators.svg +27 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/label.svg +16 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/line.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/linear.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/logarithmic.svg +1 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/measure-x.svg +23 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/measure-xy.svg +28 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/measure-y.svg +24 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/panning.svg +17 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/parallel-channel.svg +15 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/pitchfork.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/ray.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/rectangle.svg +8 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/remove-annotations.svg +15 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/save-chart.svg +12 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/segment.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/separator.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/series-candlestick.svg +12 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/series-heikin-ashi.svg +1 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/series-hlc.svg +1 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/series-hollow-candlestick.svg +1 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/series-line.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/series-ohlc.svg +14 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/text.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/time-cycles.svg +35 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-arrow.svg +7 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-counter.svg +23 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-double-arrow.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-label.svg +14 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-line.svg +8 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/zoom-x.svg +17 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/zoom-xy.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/zoom-y.svg +17 -0
- package/src/assets/plugins/highcharts/gfx/vml-radial-gradient.png +0 -0
- package/src/assets/plugins/highcharts/graphics/color-picker.svg +12 -0
- package/src/assets/plugins/highcharts/graphics/cursor.svg +11 -0
- package/src/assets/plugins/highcharts/graphics/earth.svg +432 -0
- package/src/assets/plugins/highcharts/graphics/feature.svg +13 -0
- package/src/assets/plugins/highcharts/graphics/flag-circle.svg +17 -0
- package/src/assets/plugins/highcharts/graphics/flag-circlepin.svg +15 -0
- package/src/assets/plugins/highcharts/graphics/flag-diamondpin.svg +15 -0
- package/src/assets/plugins/highcharts/graphics/flag-flag.svg +14 -0
- package/src/assets/plugins/highcharts/graphics/flag-rectangle.svg +18 -0
- package/src/assets/plugins/highcharts/graphics/flag-squarepin.svg +16 -0
- package/src/assets/plugins/highcharts/graphics/flag.svg +15 -0
- package/src/assets/plugins/highcharts/graphics/homepage/apple.svg +55 -0
- package/src/assets/plugins/highcharts/graphics/homepage/award.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/cloud.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/earth.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/jupiter.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/mars.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/mercury.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/moon.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/neptune.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p1.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p1.svg +9 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p2.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p2.svg +9 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p3.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p3.svg +9 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p4.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p4.svg +9 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p5.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p5.svg +9 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p6.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p6.svg +9 -0
- package/src/assets/plugins/highcharts/graphics/homepage/product.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/saturn.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/sun.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/uranus.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/venus.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/version.png +0 -0
- package/src/assets/plugins/highcharts/graphics/rect.svg +12 -0
- package/src/assets/plugins/highcharts/graphics/reset.svg +16 -0
- package/src/assets/plugins/highcharts/graphics/sand.png +0 -0
- package/src/assets/plugins/highcharts/graphics/save-chart-cloud.svg +14 -0
- package/src/assets/plugins/highcharts/graphics/save.svg +14 -0
- package/src/assets/plugins/highcharts/graphics/search.png +0 -0
- package/src/assets/plugins/highcharts/graphics/skies.jpg +0 -0
- package/src/assets/plugins/highcharts/graphics/snow.png +0 -0
- package/src/assets/plugins/highcharts/graphics/sun.png +0 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/blue-flake-big.svg +32 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/blue-star-big.svg +16 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/car-tree.svg +429 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/green-flake-big.svg +119 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/green-star.svg +20 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/hill.svg +193 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/hill2.svg +164 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/horse.svg +1 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/people.svg +2336 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/pines.svg +777 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/pond-skate.svg +1 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/red-flake.svg +30 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/red-house.svg +85 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/red-star-big.svg +36 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/red-star.svg +20 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/santa-b.svg +91 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/santa.svg +91 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/snow-mound.svg +146 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/snow.svg +20788 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/sun-disk.svg +597 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/tree-cluster.svg +2735 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/white-flake-big.svg +99 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/white-flake.big.svg +96 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/white-star-big.svg +36 -0
- package/src/assets/plugins/highcharts/index.html +133 -0
|
@@ -0,0 +1,2095 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license Highcharts JS v9.3.3 (2022-02-01)
|
|
3
|
+
*
|
|
4
|
+
* (c) 2017-2021 Highsoft AS
|
|
5
|
+
* Authors: Jon Arild Nygard
|
|
6
|
+
*
|
|
7
|
+
* License: www.highcharts.com/license
|
|
8
|
+
*/
|
|
9
|
+
'use strict';
|
|
10
|
+
(function (factory) {
|
|
11
|
+
if (typeof module === 'object' && module.exports) {
|
|
12
|
+
factory['default'] = factory;
|
|
13
|
+
module.exports = factory;
|
|
14
|
+
} else if (typeof define === 'function' && define.amd) {
|
|
15
|
+
define('highcharts/modules/venn', ['highcharts'], function (Highcharts) {
|
|
16
|
+
factory(Highcharts);
|
|
17
|
+
factory.Highcharts = Highcharts;
|
|
18
|
+
return factory;
|
|
19
|
+
});
|
|
20
|
+
} else {
|
|
21
|
+
factory(typeof Highcharts !== 'undefined' ? Highcharts : undefined);
|
|
22
|
+
}
|
|
23
|
+
}(function (Highcharts) {
|
|
24
|
+
var _modules = Highcharts ? Highcharts._modules : {};
|
|
25
|
+
function _registerModule(obj, path, args, fn) {
|
|
26
|
+
if (!obj.hasOwnProperty(path)) {
|
|
27
|
+
obj[path] = fn.apply(null, args);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
_registerModule(_modules, 'Core/Geometry/GeometryUtilities.js', [], function () {
|
|
31
|
+
/* *
|
|
32
|
+
*
|
|
33
|
+
* (c) 2010-2021 Highsoft AS
|
|
34
|
+
*
|
|
35
|
+
* License: www.highcharts.com/license
|
|
36
|
+
*
|
|
37
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
38
|
+
*
|
|
39
|
+
* */
|
|
40
|
+
/* *
|
|
41
|
+
*
|
|
42
|
+
* Namespace
|
|
43
|
+
*
|
|
44
|
+
* */
|
|
45
|
+
var GeometryUtilities;
|
|
46
|
+
(function (GeometryUtilities) {
|
|
47
|
+
/* *
|
|
48
|
+
*
|
|
49
|
+
* Functions
|
|
50
|
+
*
|
|
51
|
+
* */
|
|
52
|
+
/**
|
|
53
|
+
* Calculates the center between a list of points.
|
|
54
|
+
*
|
|
55
|
+
* @private
|
|
56
|
+
*
|
|
57
|
+
* @param {Array<Highcharts.PositionObject>} points
|
|
58
|
+
* A list of points to calculate the center of.
|
|
59
|
+
*
|
|
60
|
+
* @return {Highcharts.PositionObject}
|
|
61
|
+
* Calculated center
|
|
62
|
+
*/
|
|
63
|
+
function getCenterOfPoints(points) {
|
|
64
|
+
var sum = points.reduce(function (sum,
|
|
65
|
+
point) {
|
|
66
|
+
sum.x += point.x;
|
|
67
|
+
sum.y += point.y;
|
|
68
|
+
return sum;
|
|
69
|
+
}, { x: 0, y: 0 });
|
|
70
|
+
return {
|
|
71
|
+
x: sum.x / points.length,
|
|
72
|
+
y: sum.y / points.length
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
GeometryUtilities.getCenterOfPoints = getCenterOfPoints;
|
|
76
|
+
/**
|
|
77
|
+
* Calculates the distance between two points based on their x and y
|
|
78
|
+
* coordinates.
|
|
79
|
+
*
|
|
80
|
+
* @private
|
|
81
|
+
*
|
|
82
|
+
* @param {Highcharts.PositionObject} p1
|
|
83
|
+
* The x and y coordinates of the first point.
|
|
84
|
+
*
|
|
85
|
+
* @param {Highcharts.PositionObject} p2
|
|
86
|
+
* The x and y coordinates of the second point.
|
|
87
|
+
*
|
|
88
|
+
* @return {number}
|
|
89
|
+
* Returns the distance between the points.
|
|
90
|
+
*/
|
|
91
|
+
function getDistanceBetweenPoints(p1, p2) {
|
|
92
|
+
return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));
|
|
93
|
+
}
|
|
94
|
+
GeometryUtilities.getDistanceBetweenPoints = getDistanceBetweenPoints;
|
|
95
|
+
/**
|
|
96
|
+
* Calculates the angle between two points.
|
|
97
|
+
* @todo add unit tests.
|
|
98
|
+
* @private
|
|
99
|
+
* @param {Highcharts.PositionObject} p1 The first point.
|
|
100
|
+
* @param {Highcharts.PositionObject} p2 The second point.
|
|
101
|
+
* @return {number} Returns the angle in radians.
|
|
102
|
+
*/
|
|
103
|
+
function getAngleBetweenPoints(p1, p2) {
|
|
104
|
+
return Math.atan2(p2.x - p1.x, p2.y - p1.y);
|
|
105
|
+
}
|
|
106
|
+
GeometryUtilities.getAngleBetweenPoints = getAngleBetweenPoints;
|
|
107
|
+
})(GeometryUtilities || (GeometryUtilities = {}));
|
|
108
|
+
/* *
|
|
109
|
+
*
|
|
110
|
+
* Default Export
|
|
111
|
+
*
|
|
112
|
+
* */
|
|
113
|
+
|
|
114
|
+
return GeometryUtilities;
|
|
115
|
+
});
|
|
116
|
+
_registerModule(_modules, 'Core/Geometry/CircleUtilities.js', [_modules['Core/Geometry/GeometryUtilities.js']], function (Geometry) {
|
|
117
|
+
/* *
|
|
118
|
+
*
|
|
119
|
+
* (c) 2010-2021 Highsoft AS
|
|
120
|
+
*
|
|
121
|
+
* License: www.highcharts.com/license
|
|
122
|
+
*
|
|
123
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
124
|
+
*
|
|
125
|
+
* */
|
|
126
|
+
var getAngleBetweenPoints = Geometry.getAngleBetweenPoints,
|
|
127
|
+
getCenterOfPoints = Geometry.getCenterOfPoints,
|
|
128
|
+
getDistanceBetweenPoints = Geometry.getDistanceBetweenPoints;
|
|
129
|
+
/* *
|
|
130
|
+
*
|
|
131
|
+
* Namespace
|
|
132
|
+
*
|
|
133
|
+
* */
|
|
134
|
+
var CircleUtilities;
|
|
135
|
+
(function (CircleUtilities) {
|
|
136
|
+
/* *
|
|
137
|
+
*
|
|
138
|
+
* Functions
|
|
139
|
+
*
|
|
140
|
+
* */
|
|
141
|
+
/**
|
|
142
|
+
* @private
|
|
143
|
+
*
|
|
144
|
+
* @param {number} x
|
|
145
|
+
* Number to round
|
|
146
|
+
*
|
|
147
|
+
* @param {number} decimals
|
|
148
|
+
* Number of decimals to round to
|
|
149
|
+
*
|
|
150
|
+
* @return {number}
|
|
151
|
+
* Rounded number
|
|
152
|
+
*/
|
|
153
|
+
function round(x, decimals) {
|
|
154
|
+
var a = Math.pow(10,
|
|
155
|
+
decimals);
|
|
156
|
+
return Math.round(x * a) / a;
|
|
157
|
+
}
|
|
158
|
+
CircleUtilities.round = round;
|
|
159
|
+
/**
|
|
160
|
+
* Calculates the area of a circle based on its radius.
|
|
161
|
+
*
|
|
162
|
+
* @private
|
|
163
|
+
*
|
|
164
|
+
* @param {number} r
|
|
165
|
+
* The radius of the circle.
|
|
166
|
+
*
|
|
167
|
+
* @return {number}
|
|
168
|
+
* Returns the area of the circle.
|
|
169
|
+
*/
|
|
170
|
+
function getAreaOfCircle(r) {
|
|
171
|
+
if (r <= 0) {
|
|
172
|
+
throw new Error('radius of circle must be a positive number.');
|
|
173
|
+
}
|
|
174
|
+
return Math.PI * r * r;
|
|
175
|
+
}
|
|
176
|
+
CircleUtilities.getAreaOfCircle = getAreaOfCircle;
|
|
177
|
+
/**
|
|
178
|
+
* Calculates the area of a circular segment based on the radius of the
|
|
179
|
+
* circle and the height of the segment.
|
|
180
|
+
*
|
|
181
|
+
* @see http://mathworld.wolfram.com/CircularSegment.html
|
|
182
|
+
*
|
|
183
|
+
* @private
|
|
184
|
+
*
|
|
185
|
+
* @param {number} r
|
|
186
|
+
* The radius of the circle.
|
|
187
|
+
*
|
|
188
|
+
* @param {number} h
|
|
189
|
+
* The height of the circular segment.
|
|
190
|
+
*
|
|
191
|
+
* @return {number}
|
|
192
|
+
* Returns the area of the circular segment.
|
|
193
|
+
*/
|
|
194
|
+
function getCircularSegmentArea(r, h) {
|
|
195
|
+
return (r * r * Math.acos(1 - h / r) -
|
|
196
|
+
(r - h) * Math.sqrt(h * (2 * r - h)));
|
|
197
|
+
}
|
|
198
|
+
CircleUtilities.getCircularSegmentArea = getCircularSegmentArea;
|
|
199
|
+
/**
|
|
200
|
+
* Calculates the area of overlap between two circles based on their
|
|
201
|
+
* radiuses and the distance between them.
|
|
202
|
+
*
|
|
203
|
+
* @see http://mathworld.wolfram.com/Circle-CircleIntersection.html
|
|
204
|
+
*
|
|
205
|
+
* @private
|
|
206
|
+
*
|
|
207
|
+
* @param {number} r1
|
|
208
|
+
* Radius of the first circle.
|
|
209
|
+
*
|
|
210
|
+
* @param {number} r2
|
|
211
|
+
* Radius of the second circle.
|
|
212
|
+
*
|
|
213
|
+
* @param {number} d
|
|
214
|
+
* The distance between the two circles.
|
|
215
|
+
*
|
|
216
|
+
* @return {number}
|
|
217
|
+
* Returns the area of overlap between the two circles.
|
|
218
|
+
*/
|
|
219
|
+
function getOverlapBetweenCircles(r1, r2, d) {
|
|
220
|
+
var overlap = 0;
|
|
221
|
+
// If the distance is larger than the sum of the radiuses then the
|
|
222
|
+
// circles does not overlap.
|
|
223
|
+
if (d < r1 + r2) {
|
|
224
|
+
if (d <= Math.abs(r2 - r1)) {
|
|
225
|
+
// If the circles are completely overlapping, then the overlap
|
|
226
|
+
// equals the area of the smallest circle.
|
|
227
|
+
overlap = getAreaOfCircle(r1 < r2 ? r1 : r2);
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
// Height of first triangle segment.
|
|
231
|
+
var d1 = (r1 * r1 - r2 * r2 + d * d) / (2 * d),
|
|
232
|
+
// Height of second triangle segment.
|
|
233
|
+
d2 = d - d1;
|
|
234
|
+
overlap = (getCircularSegmentArea(r1, r1 - d1) +
|
|
235
|
+
getCircularSegmentArea(r2, r2 - d2));
|
|
236
|
+
}
|
|
237
|
+
// Round the result to two decimals.
|
|
238
|
+
overlap = round(overlap, 14);
|
|
239
|
+
}
|
|
240
|
+
return overlap;
|
|
241
|
+
}
|
|
242
|
+
CircleUtilities.getOverlapBetweenCircles = getOverlapBetweenCircles;
|
|
243
|
+
/**
|
|
244
|
+
* Calculates the intersection points of two circles.
|
|
245
|
+
*
|
|
246
|
+
* NOTE: does not handle floating errors well.
|
|
247
|
+
*
|
|
248
|
+
* @private
|
|
249
|
+
*
|
|
250
|
+
* @param {Highcharts.CircleObject} c1
|
|
251
|
+
* The first circle.
|
|
252
|
+
*
|
|
253
|
+
* @param {Highcharts.CircleObject} c2
|
|
254
|
+
* The second sircle.
|
|
255
|
+
*
|
|
256
|
+
* @return {Array<Highcharts.PositionObject>}
|
|
257
|
+
* Returns the resulting intersection points.
|
|
258
|
+
*/
|
|
259
|
+
function getCircleCircleIntersection(c1, c2) {
|
|
260
|
+
var d = getDistanceBetweenPoints(c1,
|
|
261
|
+
c2),
|
|
262
|
+
r1 = c1.r,
|
|
263
|
+
r2 = c2.r;
|
|
264
|
+
var points = [];
|
|
265
|
+
if (d < r1 + r2 && d > Math.abs(r1 - r2)) {
|
|
266
|
+
// If the circles are overlapping, but not completely overlapping,
|
|
267
|
+
// then it exists intersecting points.
|
|
268
|
+
var r1Square = r1 * r1,
|
|
269
|
+
r2Square = r2 * r2,
|
|
270
|
+
// d^2 - r^2 + R^2 / 2d
|
|
271
|
+
x = (r1Square - r2Square + d * d) / (2 * d),
|
|
272
|
+
// y^2 = R^2 - x^2
|
|
273
|
+
y = Math.sqrt(r1Square - x * x),
|
|
274
|
+
x1 = c1.x,
|
|
275
|
+
x2 = c2.x,
|
|
276
|
+
y1 = c1.y,
|
|
277
|
+
y2 = c2.y,
|
|
278
|
+
x0 = x1 + x * (x2 - x1) / d,
|
|
279
|
+
y0 = y1 + x * (y2 - y1) / d,
|
|
280
|
+
rx = -(y2 - y1) * (y / d),
|
|
281
|
+
ry = -(x2 - x1) * (y / d);
|
|
282
|
+
points = [
|
|
283
|
+
{ x: round(x0 + rx, 14), y: round(y0 - ry, 14) },
|
|
284
|
+
{ x: round(x0 - rx, 14), y: round(y0 + ry, 14) }
|
|
285
|
+
];
|
|
286
|
+
}
|
|
287
|
+
return points;
|
|
288
|
+
}
|
|
289
|
+
CircleUtilities.getCircleCircleIntersection = getCircleCircleIntersection;
|
|
290
|
+
/**
|
|
291
|
+
* Calculates all the intersection points for between a list of circles.
|
|
292
|
+
*
|
|
293
|
+
* @private
|
|
294
|
+
*
|
|
295
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
296
|
+
* The circles to calculate the points from.
|
|
297
|
+
*
|
|
298
|
+
* @return {Array<Highcharts.GeometryObject>}
|
|
299
|
+
* Returns a list of intersection points.
|
|
300
|
+
*/
|
|
301
|
+
function getCirclesIntersectionPoints(circles) {
|
|
302
|
+
return circles.reduce(function (points, c1, i, arr) {
|
|
303
|
+
var additional = arr
|
|
304
|
+
.slice(i + 1)
|
|
305
|
+
.reduce(function (points,
|
|
306
|
+
c2,
|
|
307
|
+
j,
|
|
308
|
+
arr) {
|
|
309
|
+
var indexes = [i,
|
|
310
|
+
j + i + 1];
|
|
311
|
+
return points.concat(getCircleCircleIntersection(c1, c2).map(function (p) {
|
|
312
|
+
p.indexes = indexes;
|
|
313
|
+
return p;
|
|
314
|
+
}));
|
|
315
|
+
}, []);
|
|
316
|
+
return points.concat(additional);
|
|
317
|
+
}, []);
|
|
318
|
+
}
|
|
319
|
+
CircleUtilities.getCirclesIntersectionPoints = getCirclesIntersectionPoints;
|
|
320
|
+
/**
|
|
321
|
+
* Tests wether the first circle is completely overlapping the second
|
|
322
|
+
* circle.
|
|
323
|
+
*
|
|
324
|
+
* @private
|
|
325
|
+
*
|
|
326
|
+
* @param {Highcharts.CircleObject} circle1
|
|
327
|
+
* The first circle.
|
|
328
|
+
*
|
|
329
|
+
* @param {Highcharts.CircleObject} circle2
|
|
330
|
+
* The The second circle.
|
|
331
|
+
*
|
|
332
|
+
* @return {boolean}
|
|
333
|
+
* Returns true if circle1 is completely overlapping circle2, false if not.
|
|
334
|
+
*/
|
|
335
|
+
function isCircle1CompletelyOverlappingCircle2(circle1, circle2) {
|
|
336
|
+
return getDistanceBetweenPoints(circle1, circle2) + circle2.r < circle1.r + 1e-10;
|
|
337
|
+
}
|
|
338
|
+
CircleUtilities.isCircle1CompletelyOverlappingCircle2 = isCircle1CompletelyOverlappingCircle2;
|
|
339
|
+
/**
|
|
340
|
+
* Tests wether a point lies within a given circle.
|
|
341
|
+
* @private
|
|
342
|
+
* @param {Highcharts.PositionObject} point
|
|
343
|
+
* The point to test for.
|
|
344
|
+
*
|
|
345
|
+
* @param {Highcharts.CircleObject} circle
|
|
346
|
+
* The circle to test if the point is within.
|
|
347
|
+
*
|
|
348
|
+
* @return {boolean}
|
|
349
|
+
* Returns true if the point is inside, false if outside.
|
|
350
|
+
*/
|
|
351
|
+
function isPointInsideCircle(point, circle) {
|
|
352
|
+
return getDistanceBetweenPoints(point, circle) <= circle.r + 1e-10;
|
|
353
|
+
}
|
|
354
|
+
CircleUtilities.isPointInsideCircle = isPointInsideCircle;
|
|
355
|
+
/**
|
|
356
|
+
* Tests wether a point lies within a set of circles.
|
|
357
|
+
*
|
|
358
|
+
* @private
|
|
359
|
+
*
|
|
360
|
+
* @param {Highcharts.PositionObject} point
|
|
361
|
+
* The point to test.
|
|
362
|
+
*
|
|
363
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
364
|
+
* The list of circles to test against.
|
|
365
|
+
*
|
|
366
|
+
* @return {boolean}
|
|
367
|
+
* Returns true if the point is inside all the circles, false if not.
|
|
368
|
+
*/
|
|
369
|
+
function isPointInsideAllCircles(point, circles) {
|
|
370
|
+
return !circles.some(function (circle) {
|
|
371
|
+
return !isPointInsideCircle(point, circle);
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
CircleUtilities.isPointInsideAllCircles = isPointInsideAllCircles;
|
|
375
|
+
/**
|
|
376
|
+
* Tests wether a point lies outside a set of circles.
|
|
377
|
+
*
|
|
378
|
+
* TODO: add unit tests.
|
|
379
|
+
*
|
|
380
|
+
* @private
|
|
381
|
+
*
|
|
382
|
+
* @param {Highcharts.PositionObject} point
|
|
383
|
+
* The point to test.
|
|
384
|
+
*
|
|
385
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
386
|
+
* The list of circles to test against.
|
|
387
|
+
*
|
|
388
|
+
* @return {boolean}
|
|
389
|
+
* Returns true if the point is outside all the circles, false if not.
|
|
390
|
+
*/
|
|
391
|
+
function isPointOutsideAllCircles(point, circles) {
|
|
392
|
+
return !circles.some(function (circle) {
|
|
393
|
+
return isPointInsideCircle(point, circle);
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
CircleUtilities.isPointOutsideAllCircles = isPointOutsideAllCircles;
|
|
397
|
+
/**
|
|
398
|
+
* Calculates the points for the polygon of the intersection area between
|
|
399
|
+
* a set of circles.
|
|
400
|
+
*
|
|
401
|
+
* @private
|
|
402
|
+
*
|
|
403
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
404
|
+
* List of circles to calculate polygon of.
|
|
405
|
+
*
|
|
406
|
+
* @return {Array<Highcharts.GeometryObject>}
|
|
407
|
+
* Return list of points in the intersection polygon.
|
|
408
|
+
*/
|
|
409
|
+
function getCirclesIntersectionPolygon(circles) {
|
|
410
|
+
return getCirclesIntersectionPoints(circles)
|
|
411
|
+
.filter(function (p) {
|
|
412
|
+
return isPointInsideAllCircles(p, circles);
|
|
413
|
+
});
|
|
414
|
+
}
|
|
415
|
+
CircleUtilities.getCirclesIntersectionPolygon = getCirclesIntersectionPolygon;
|
|
416
|
+
/**
|
|
417
|
+
* Calculate the path for the area of overlap between a set of circles.
|
|
418
|
+
*
|
|
419
|
+
* @todo handle cases with only 1 or 0 arcs.
|
|
420
|
+
*
|
|
421
|
+
* @private
|
|
422
|
+
*
|
|
423
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
424
|
+
* List of circles to calculate area of.
|
|
425
|
+
*
|
|
426
|
+
* @return {Highcharts.GeometryIntersectionObject|undefined}
|
|
427
|
+
* Returns the path for the area of overlap. Returns an empty string if
|
|
428
|
+
* there are no intersection between all the circles.
|
|
429
|
+
*/
|
|
430
|
+
function getAreaOfIntersectionBetweenCircles(circles) {
|
|
431
|
+
var intersectionPoints = getCirclesIntersectionPolygon(circles),
|
|
432
|
+
result;
|
|
433
|
+
if (intersectionPoints.length > 1) {
|
|
434
|
+
// Calculate the center of the intersection points.
|
|
435
|
+
var center_1 = getCenterOfPoints(intersectionPoints);
|
|
436
|
+
intersectionPoints = intersectionPoints
|
|
437
|
+
// Calculate the angle between the center and the points.
|
|
438
|
+
.map(function (p) {
|
|
439
|
+
p.angle = getAngleBetweenPoints(center_1, p);
|
|
440
|
+
return p;
|
|
441
|
+
})
|
|
442
|
+
// Sort the points by the angle to the center.
|
|
443
|
+
.sort(function (a, b) {
|
|
444
|
+
return b.angle - a.angle;
|
|
445
|
+
});
|
|
446
|
+
var startPoint = intersectionPoints[intersectionPoints.length - 1];
|
|
447
|
+
var arcs = intersectionPoints
|
|
448
|
+
.reduce(function (data,
|
|
449
|
+
p1) {
|
|
450
|
+
var startPoint = data.startPoint,
|
|
451
|
+
midPoint = getCenterOfPoints([startPoint,
|
|
452
|
+
p1]);
|
|
453
|
+
// Calculate the arc from the intersection points and their
|
|
454
|
+
// circles.
|
|
455
|
+
var arc = p1.indexes
|
|
456
|
+
// Filter out circles that are not included in both
|
|
457
|
+
// intersection points.
|
|
458
|
+
.filter(function (index) {
|
|
459
|
+
return startPoint.indexes.indexOf(index) > -1;
|
|
460
|
+
})
|
|
461
|
+
// Iterate the circles of the intersection points and
|
|
462
|
+
// calculate arcs.
|
|
463
|
+
.reduce(function (arc, index) {
|
|
464
|
+
var circle = circles[index],
|
|
465
|
+
angle1 = getAngleBetweenPoints(circle,
|
|
466
|
+
p1),
|
|
467
|
+
angle2 = getAngleBetweenPoints(circle,
|
|
468
|
+
startPoint),
|
|
469
|
+
angleDiff = angle2 - angle1 +
|
|
470
|
+
(angle2 < angle1 ? 2 * Math.PI : 0),
|
|
471
|
+
angle = angle2 - angleDiff / 2;
|
|
472
|
+
var width = getDistanceBetweenPoints(midPoint, {
|
|
473
|
+
x: circle.x + circle.r * Math.sin(angle),
|
|
474
|
+
y: circle.y + circle.r * Math.cos(angle)
|
|
475
|
+
});
|
|
476
|
+
var r = circle.r;
|
|
477
|
+
// Width can sometimes become to large due to
|
|
478
|
+
// floating point errors
|
|
479
|
+
if (width > r * 2) {
|
|
480
|
+
width = r * 2;
|
|
481
|
+
}
|
|
482
|
+
// Get the arc with the smallest width.
|
|
483
|
+
if (!arc || arc.width > width) {
|
|
484
|
+
arc = {
|
|
485
|
+
r: r,
|
|
486
|
+
largeArc: width > r ? 1 : 0,
|
|
487
|
+
width: width,
|
|
488
|
+
x: p1.x,
|
|
489
|
+
y: p1.y
|
|
490
|
+
};
|
|
491
|
+
}
|
|
492
|
+
// Return the chosen arc.
|
|
493
|
+
return arc;
|
|
494
|
+
}, null);
|
|
495
|
+
// If we find an arc then add it to the list and update p2.
|
|
496
|
+
if (arc) {
|
|
497
|
+
var r = arc.r;
|
|
498
|
+
data.arcs.push(['A', r, r, 0, arc.largeArc, 1, arc.x, arc.y]);
|
|
499
|
+
data.startPoint = p1;
|
|
500
|
+
}
|
|
501
|
+
return data;
|
|
502
|
+
}, {
|
|
503
|
+
startPoint: startPoint,
|
|
504
|
+
arcs: []
|
|
505
|
+
}).arcs;
|
|
506
|
+
if (arcs.length === 0) {
|
|
507
|
+
// empty
|
|
508
|
+
}
|
|
509
|
+
else if (arcs.length === 1) {
|
|
510
|
+
// empty
|
|
511
|
+
}
|
|
512
|
+
else {
|
|
513
|
+
arcs.unshift(['M', startPoint.x, startPoint.y]);
|
|
514
|
+
result = {
|
|
515
|
+
center: center_1,
|
|
516
|
+
d: arcs
|
|
517
|
+
};
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
return result;
|
|
521
|
+
}
|
|
522
|
+
CircleUtilities.getAreaOfIntersectionBetweenCircles = getAreaOfIntersectionBetweenCircles;
|
|
523
|
+
})(CircleUtilities || (CircleUtilities = {}));
|
|
524
|
+
/* *
|
|
525
|
+
*
|
|
526
|
+
* Default Export
|
|
527
|
+
*
|
|
528
|
+
* */
|
|
529
|
+
|
|
530
|
+
return CircleUtilities;
|
|
531
|
+
});
|
|
532
|
+
_registerModule(_modules, 'Series/DrawPointComposition.js', [], function () {
|
|
533
|
+
/* *
|
|
534
|
+
*
|
|
535
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
536
|
+
*
|
|
537
|
+
* */
|
|
538
|
+
/* *
|
|
539
|
+
*
|
|
540
|
+
* Composition
|
|
541
|
+
*
|
|
542
|
+
* */
|
|
543
|
+
var DrawPointComposition;
|
|
544
|
+
(function (DrawPointComposition) {
|
|
545
|
+
/* *
|
|
546
|
+
*
|
|
547
|
+
* Declarations
|
|
548
|
+
*
|
|
549
|
+
* */
|
|
550
|
+
/* *
|
|
551
|
+
*
|
|
552
|
+
* Constants
|
|
553
|
+
*
|
|
554
|
+
* */
|
|
555
|
+
var composedClasses = [];
|
|
556
|
+
/* *
|
|
557
|
+
*
|
|
558
|
+
* Functions
|
|
559
|
+
*
|
|
560
|
+
* */
|
|
561
|
+
/* eslint-disable valid-jsdoc */
|
|
562
|
+
/**
|
|
563
|
+
* @private
|
|
564
|
+
*/
|
|
565
|
+
function compose(PointClass) {
|
|
566
|
+
if (composedClasses.indexOf(PointClass) === -1) {
|
|
567
|
+
composedClasses.push(PointClass);
|
|
568
|
+
var pointProto = PointClass.prototype;
|
|
569
|
+
pointProto.draw = draw;
|
|
570
|
+
if (!pointProto.shouldDraw) {
|
|
571
|
+
pointProto.shouldDraw = shouldDraw;
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
return PointClass;
|
|
575
|
+
}
|
|
576
|
+
DrawPointComposition.compose = compose;
|
|
577
|
+
/**
|
|
578
|
+
* Handles the drawing of a component.
|
|
579
|
+
* Can be used for any type of component that reserves the graphic property,
|
|
580
|
+
* and provides a shouldDraw on its context.
|
|
581
|
+
*
|
|
582
|
+
* @private
|
|
583
|
+
*
|
|
584
|
+
* @todo add type checking.
|
|
585
|
+
* @todo export this function to enable usage
|
|
586
|
+
*/
|
|
587
|
+
function draw(params) {
|
|
588
|
+
var _this = this;
|
|
589
|
+
var animatableAttribs = params.animatableAttribs,
|
|
590
|
+
onComplete = params.onComplete,
|
|
591
|
+
css = params.css,
|
|
592
|
+
renderer = params.renderer;
|
|
593
|
+
var animation = (this.series && this.series.chart.hasRendered) ?
|
|
594
|
+
// Chart-level animation on updates
|
|
595
|
+
void 0 :
|
|
596
|
+
// Series-level animation on new points
|
|
597
|
+
(this.series &&
|
|
598
|
+
this.series.options.animation);
|
|
599
|
+
var graphic = this.graphic;
|
|
600
|
+
params.attribs = params.attribs || {};
|
|
601
|
+
// Assigning class in dot notation does go well in IE8
|
|
602
|
+
// eslint-disable-next-line dot-notation
|
|
603
|
+
params.attribs['class'] = this.getClassName();
|
|
604
|
+
if (this.shouldDraw()) {
|
|
605
|
+
if (!graphic) {
|
|
606
|
+
this.graphic = graphic =
|
|
607
|
+
renderer[params.shapeType](params.shapeArgs)
|
|
608
|
+
.add(params.group);
|
|
609
|
+
}
|
|
610
|
+
graphic
|
|
611
|
+
.css(css)
|
|
612
|
+
.attr(params.attribs)
|
|
613
|
+
.animate(animatableAttribs, params.isNew ? false : animation, onComplete);
|
|
614
|
+
}
|
|
615
|
+
else if (graphic) {
|
|
616
|
+
var destroy_1 = function () {
|
|
617
|
+
_this.graphic = graphic = (graphic && graphic.destroy());
|
|
618
|
+
if (typeof onComplete === 'function') {
|
|
619
|
+
onComplete();
|
|
620
|
+
}
|
|
621
|
+
};
|
|
622
|
+
// animate only runs complete callback if something was animated.
|
|
623
|
+
if (Object.keys(animatableAttribs).length) {
|
|
624
|
+
graphic.animate(animatableAttribs, void 0, function () {
|
|
625
|
+
destroy_1();
|
|
626
|
+
});
|
|
627
|
+
}
|
|
628
|
+
else {
|
|
629
|
+
destroy_1();
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
/**
|
|
634
|
+
* @private
|
|
635
|
+
*/
|
|
636
|
+
function shouldDraw() {
|
|
637
|
+
return !this.isNull;
|
|
638
|
+
}
|
|
639
|
+
})(DrawPointComposition || (DrawPointComposition = {}));
|
|
640
|
+
/* *
|
|
641
|
+
*
|
|
642
|
+
* Default Export
|
|
643
|
+
*
|
|
644
|
+
* */
|
|
645
|
+
|
|
646
|
+
return DrawPointComposition;
|
|
647
|
+
});
|
|
648
|
+
_registerModule(_modules, 'Series/Venn/VennPoint.js', [_modules['Series/DrawPointComposition.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (DrawPointComposition, SeriesRegistry, U) {
|
|
649
|
+
/* *
|
|
650
|
+
*
|
|
651
|
+
* Experimental Highcharts module which enables visualization of a Venn
|
|
652
|
+
* diagram.
|
|
653
|
+
*
|
|
654
|
+
* (c) 2016-2021 Highsoft AS
|
|
655
|
+
* Authors: Jon Arild Nygard
|
|
656
|
+
*
|
|
657
|
+
* Layout algorithm by Ben Frederickson:
|
|
658
|
+
* https://www.benfrederickson.com/better-venn-diagrams/
|
|
659
|
+
*
|
|
660
|
+
* License: www.highcharts.com/license
|
|
661
|
+
*
|
|
662
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
663
|
+
*
|
|
664
|
+
* */
|
|
665
|
+
var __extends = (this && this.__extends) || (function () {
|
|
666
|
+
var extendStatics = function (d,
|
|
667
|
+
b) {
|
|
668
|
+
extendStatics = Object.setPrototypeOf ||
|
|
669
|
+
({ __proto__: [] } instanceof Array && function (d,
|
|
670
|
+
b) { d.__proto__ = b; }) ||
|
|
671
|
+
function (d,
|
|
672
|
+
b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
673
|
+
return extendStatics(d, b);
|
|
674
|
+
};
|
|
675
|
+
return function (d, b) {
|
|
676
|
+
extendStatics(d, b);
|
|
677
|
+
function __() { this.constructor = d; }
|
|
678
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
679
|
+
};
|
|
680
|
+
})();
|
|
681
|
+
var ScatterSeries = SeriesRegistry.seriesTypes.scatter;
|
|
682
|
+
var extend = U.extend,
|
|
683
|
+
isNumber = U.isNumber;
|
|
684
|
+
/* *
|
|
685
|
+
*
|
|
686
|
+
* Class
|
|
687
|
+
*
|
|
688
|
+
* */
|
|
689
|
+
var VennPoint = /** @class */ (function (_super) {
|
|
690
|
+
__extends(VennPoint, _super);
|
|
691
|
+
function VennPoint() {
|
|
692
|
+
/* *
|
|
693
|
+
*
|
|
694
|
+
* Properties
|
|
695
|
+
*
|
|
696
|
+
* */
|
|
697
|
+
var _this = _super !== null && _super.apply(this,
|
|
698
|
+
arguments) || this;
|
|
699
|
+
_this.options = void 0;
|
|
700
|
+
_this.series = void 0;
|
|
701
|
+
return _this;
|
|
702
|
+
/* eslint-enable valid-jsdoc */
|
|
703
|
+
}
|
|
704
|
+
/* *
|
|
705
|
+
*
|
|
706
|
+
* Functions
|
|
707
|
+
*
|
|
708
|
+
* */
|
|
709
|
+
/* eslint-disable valid-jsdoc */
|
|
710
|
+
VennPoint.prototype.isValid = function () {
|
|
711
|
+
return isNumber(this.value);
|
|
712
|
+
};
|
|
713
|
+
VennPoint.prototype.shouldDraw = function () {
|
|
714
|
+
// Only draw points with single sets.
|
|
715
|
+
return !!this.shapeArgs;
|
|
716
|
+
};
|
|
717
|
+
return VennPoint;
|
|
718
|
+
}(ScatterSeries.prototype.pointClass));
|
|
719
|
+
DrawPointComposition.compose(VennPoint);
|
|
720
|
+
/* *
|
|
721
|
+
*
|
|
722
|
+
* Default Export
|
|
723
|
+
*
|
|
724
|
+
* */
|
|
725
|
+
|
|
726
|
+
return VennPoint;
|
|
727
|
+
});
|
|
728
|
+
_registerModule(_modules, 'Series/Venn/VennUtils.js', [_modules['Core/Geometry/CircleUtilities.js'], _modules['Core/Geometry/GeometryUtilities.js'], _modules['Core/Utilities.js']], function (CU, GU, U) {
|
|
729
|
+
/* *
|
|
730
|
+
*
|
|
731
|
+
* Experimental Highcharts module which enables visualization of a Venn
|
|
732
|
+
* diagram.
|
|
733
|
+
*
|
|
734
|
+
* (c) 2016-2021 Highsoft AS
|
|
735
|
+
* Authors: Jon Arild Nygard
|
|
736
|
+
*
|
|
737
|
+
* Layout algorithm by Ben Frederickson:
|
|
738
|
+
* https://www.benfrederickson.com/better-venn-diagrams/
|
|
739
|
+
*
|
|
740
|
+
* License: www.highcharts.com/license
|
|
741
|
+
*
|
|
742
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
743
|
+
*
|
|
744
|
+
* */
|
|
745
|
+
var getAreaOfCircle = CU.getAreaOfCircle,
|
|
746
|
+
getCircleCircleIntersection = CU.getCircleCircleIntersection,
|
|
747
|
+
getOverlapBetweenCirclesByDistance = CU.getOverlapBetweenCircles,
|
|
748
|
+
isPointInsideAllCircles = CU.isPointInsideAllCircles,
|
|
749
|
+
isPointInsideCircle = CU.isPointInsideCircle,
|
|
750
|
+
isPointOutsideAllCircles = CU.isPointOutsideAllCircles;
|
|
751
|
+
var getDistanceBetweenPoints = GU.getDistanceBetweenPoints;
|
|
752
|
+
var extend = U.extend,
|
|
753
|
+
isArray = U.isArray,
|
|
754
|
+
isNumber = U.isNumber,
|
|
755
|
+
isObject = U.isObject,
|
|
756
|
+
isString = U.isString;
|
|
757
|
+
/* *
|
|
758
|
+
*
|
|
759
|
+
* Functions
|
|
760
|
+
*
|
|
761
|
+
* */
|
|
762
|
+
/* eslint-disable valid-jsdoc */
|
|
763
|
+
/**
|
|
764
|
+
* Takes an array of relations and adds the properties `totalOverlap` and
|
|
765
|
+
* `overlapping` to each set. The property `totalOverlap` is the sum of
|
|
766
|
+
* value for each relation where this set is included. The property
|
|
767
|
+
* `overlapping` is a map of how much this set is overlapping another set.
|
|
768
|
+
* NOTE: This algorithm ignores relations consisting of more than 2 sets.
|
|
769
|
+
* @private
|
|
770
|
+
* @param {Array<Highcharts.VennRelationObject>} relations
|
|
771
|
+
* The list of relations that should be sorted.
|
|
772
|
+
* @return {Array<Highcharts.VennRelationObject>}
|
|
773
|
+
* Returns the modified input relations with added properties `totalOverlap`
|
|
774
|
+
* and `overlapping`.
|
|
775
|
+
*/
|
|
776
|
+
function addOverlapToSets(relations) {
|
|
777
|
+
// Calculate the amount of overlap per set.
|
|
778
|
+
var mapOfIdToProps = relations
|
|
779
|
+
// Filter out relations consisting of 2 sets.
|
|
780
|
+
.filter(function (relation) { return (relation.sets.length === 2); })
|
|
781
|
+
// Sum up the amount of overlap for each set.
|
|
782
|
+
.reduce(function (map,
|
|
783
|
+
relation) {
|
|
784
|
+
relation.sets.forEach(function (set,
|
|
785
|
+
i,
|
|
786
|
+
arr) {
|
|
787
|
+
if (!isObject(map[set])) {
|
|
788
|
+
map[set] = {
|
|
789
|
+
overlapping: {},
|
|
790
|
+
totalOverlap: 0
|
|
791
|
+
};
|
|
792
|
+
}
|
|
793
|
+
map[set].totalOverlap += relation.value;
|
|
794
|
+
map[set].overlapping[arr[1 - i]] = relation.value;
|
|
795
|
+
});
|
|
796
|
+
return map;
|
|
797
|
+
}, {});
|
|
798
|
+
relations
|
|
799
|
+
// Filter out single sets
|
|
800
|
+
.filter(isSet)
|
|
801
|
+
// Extend the set with the calculated properties.
|
|
802
|
+
.forEach(function (set) {
|
|
803
|
+
var properties = mapOfIdToProps[set.sets[0]];
|
|
804
|
+
extend(set, properties);
|
|
805
|
+
});
|
|
806
|
+
// Returns the modified relations.
|
|
807
|
+
return relations;
|
|
808
|
+
}
|
|
809
|
+
/**
|
|
810
|
+
* Finds the root of a given function. The root is the input value needed
|
|
811
|
+
* for a function to return 0.
|
|
812
|
+
*
|
|
813
|
+
* See https://en.wikipedia.org/wiki/Bisection_method#Algorithm
|
|
814
|
+
*
|
|
815
|
+
* TODO: Add unit tests.
|
|
816
|
+
*
|
|
817
|
+
* @param {Function} f
|
|
818
|
+
* The function to find the root of.
|
|
819
|
+
* @param {number} a
|
|
820
|
+
* The lowest number in the search range.
|
|
821
|
+
* @param {number} b
|
|
822
|
+
* The highest number in the search range.
|
|
823
|
+
* @param {number} [tolerance=1e-10]
|
|
824
|
+
* The allowed difference between the returned value and root.
|
|
825
|
+
* @param {number} [maxIterations=100]
|
|
826
|
+
* The maximum iterations allowed.
|
|
827
|
+
* @return {number}
|
|
828
|
+
* Root number.
|
|
829
|
+
*/
|
|
830
|
+
function bisect(f, a, b, tolerance, maxIterations) {
|
|
831
|
+
var fA = f(a),
|
|
832
|
+
fB = f(b),
|
|
833
|
+
nMax = maxIterations || 100,
|
|
834
|
+
tol = tolerance || 1e-10,
|
|
835
|
+
delta = b - a,
|
|
836
|
+
n = 1,
|
|
837
|
+
x,
|
|
838
|
+
fX;
|
|
839
|
+
if (a >= b) {
|
|
840
|
+
throw new Error('a must be smaller than b.');
|
|
841
|
+
}
|
|
842
|
+
else if (fA * fB > 0) {
|
|
843
|
+
throw new Error('f(a) and f(b) must have opposite signs.');
|
|
844
|
+
}
|
|
845
|
+
if (fA === 0) {
|
|
846
|
+
x = a;
|
|
847
|
+
}
|
|
848
|
+
else if (fB === 0) {
|
|
849
|
+
x = b;
|
|
850
|
+
}
|
|
851
|
+
else {
|
|
852
|
+
while (n++ <= nMax && fX !== 0 && delta > tol) {
|
|
853
|
+
delta = (b - a) / 2;
|
|
854
|
+
x = a + delta;
|
|
855
|
+
fX = f(x);
|
|
856
|
+
// Update low and high for next search interval.
|
|
857
|
+
if (fA * fX > 0) {
|
|
858
|
+
a = x;
|
|
859
|
+
}
|
|
860
|
+
else {
|
|
861
|
+
b = x;
|
|
862
|
+
}
|
|
863
|
+
}
|
|
864
|
+
}
|
|
865
|
+
return x;
|
|
866
|
+
}
|
|
867
|
+
/**
|
|
868
|
+
* @private
|
|
869
|
+
*/
|
|
870
|
+
function getCentroid(simplex) {
|
|
871
|
+
var arr = simplex.slice(0, -1),
|
|
872
|
+
length = arr.length,
|
|
873
|
+
result = [],
|
|
874
|
+
sum = function (data,
|
|
875
|
+
point) {
|
|
876
|
+
data.sum += point[data.i];
|
|
877
|
+
return data;
|
|
878
|
+
};
|
|
879
|
+
for (var i = 0; i < length; i++) {
|
|
880
|
+
result[i] = arr.reduce(sum, { sum: 0, i: i }).sum / length;
|
|
881
|
+
}
|
|
882
|
+
return result;
|
|
883
|
+
}
|
|
884
|
+
/**
|
|
885
|
+
* Uses the bisection method to make a best guess of the ideal distance
|
|
886
|
+
* between two circles too get the desired overlap.
|
|
887
|
+
* Currently there is no known formula to calculate the distance from the
|
|
888
|
+
* area of overlap, which makes the bisection method preferred.
|
|
889
|
+
* @private
|
|
890
|
+
* @param {number} r1
|
|
891
|
+
* Radius of the first circle.
|
|
892
|
+
* @param {number} r2
|
|
893
|
+
* Radiues of the second circle.
|
|
894
|
+
* @param {number} overlap
|
|
895
|
+
* The wanted overlap between the two circles.
|
|
896
|
+
* @return {number}
|
|
897
|
+
* Returns the distance needed to get the wanted overlap between the two
|
|
898
|
+
* circles.
|
|
899
|
+
*/
|
|
900
|
+
function getDistanceBetweenCirclesByOverlap(r1, r2, overlap) {
|
|
901
|
+
var maxDistance = r1 + r2,
|
|
902
|
+
distance;
|
|
903
|
+
if (overlap <= 0) {
|
|
904
|
+
// If overlap is below or equal to zero, then there is no overlap.
|
|
905
|
+
distance = maxDistance;
|
|
906
|
+
}
|
|
907
|
+
else if (getAreaOfCircle(r1 < r2 ? r1 : r2) <= overlap) {
|
|
908
|
+
// When area of overlap is larger than the area of the smallest
|
|
909
|
+
// circle, then it is completely overlapping.
|
|
910
|
+
distance = 0;
|
|
911
|
+
}
|
|
912
|
+
else {
|
|
913
|
+
distance = bisect(function (x) {
|
|
914
|
+
var actualOverlap = getOverlapBetweenCirclesByDistance(r1,
|
|
915
|
+
r2,
|
|
916
|
+
x);
|
|
917
|
+
// Return the differance between wanted and actual overlap.
|
|
918
|
+
return overlap - actualOverlap;
|
|
919
|
+
}, 0, maxDistance);
|
|
920
|
+
}
|
|
921
|
+
return distance;
|
|
922
|
+
}
|
|
923
|
+
/**
|
|
924
|
+
* Finds the available width for a label, by taking the label position and
|
|
925
|
+
* finding the largest distance, which is inside all internal circles, and
|
|
926
|
+
* outside all external circles.
|
|
927
|
+
*
|
|
928
|
+
* @private
|
|
929
|
+
* @param {Highcharts.PositionObject} pos
|
|
930
|
+
* The x and y coordinate of the label.
|
|
931
|
+
* @param {Array<Highcharts.CircleObject>} internal
|
|
932
|
+
* Internal circles.
|
|
933
|
+
* @param {Array<Highcharts.CircleObject>} external
|
|
934
|
+
* External circles.
|
|
935
|
+
* @return {number}
|
|
936
|
+
* Returns available width for the label.
|
|
937
|
+
*/
|
|
938
|
+
function getLabelWidth(pos, internal, external) {
|
|
939
|
+
var radius = internal.reduce(function (min,
|
|
940
|
+
circle) { return Math.min(circle.r,
|
|
941
|
+
min); },
|
|
942
|
+
Infinity),
|
|
943
|
+
// Filter out external circles that are completely overlapping.
|
|
944
|
+
filteredExternals = external.filter(function (circle) {
|
|
945
|
+
return !isPointInsideCircle(pos,
|
|
946
|
+
circle);
|
|
947
|
+
});
|
|
948
|
+
var findDistance = function (maxDistance,
|
|
949
|
+
direction) {
|
|
950
|
+
return bisect(function (x) {
|
|
951
|
+
var testPos = {
|
|
952
|
+
x: pos.x + (direction * x),
|
|
953
|
+
y: pos.y
|
|
954
|
+
},
|
|
955
|
+
isValid = (isPointInsideAllCircles(testPos,
|
|
956
|
+
internal) &&
|
|
957
|
+
isPointOutsideAllCircles(testPos,
|
|
958
|
+
filteredExternals));
|
|
959
|
+
// If the position is valid, then we want to move towards the
|
|
960
|
+
// max distance. If not, then we want to away from the max
|
|
961
|
+
// distance.
|
|
962
|
+
return -(maxDistance - x) + (isValid ? 0 : Number.MAX_VALUE);
|
|
963
|
+
}, 0, maxDistance);
|
|
964
|
+
};
|
|
965
|
+
// Find the smallest distance of left and right.
|
|
966
|
+
return Math.min(findDistance(radius, -1), findDistance(radius, 1)) * 2;
|
|
967
|
+
}
|
|
968
|
+
/**
|
|
969
|
+
* Calculates a margin for a point based on the iternal and external
|
|
970
|
+
* circles. The margin describes if the point is well placed within the
|
|
971
|
+
* internal circles, and away from the external.
|
|
972
|
+
* @private
|
|
973
|
+
* @todo add unit tests.
|
|
974
|
+
* @param {Highcharts.PositionObject} point
|
|
975
|
+
* The point to evaluate.
|
|
976
|
+
* @param {Array<Highcharts.CircleObject>} internal
|
|
977
|
+
* The internal circles.
|
|
978
|
+
* @param {Array<Highcharts.CircleObject>} external
|
|
979
|
+
* The external circles.
|
|
980
|
+
* @return {number}
|
|
981
|
+
* Returns the margin.
|
|
982
|
+
*/
|
|
983
|
+
function getMarginFromCircles(point, internal, external) {
|
|
984
|
+
var margin = internal.reduce(function (margin,
|
|
985
|
+
circle) {
|
|
986
|
+
var m = circle.r - getDistanceBetweenPoints(point,
|
|
987
|
+
circle);
|
|
988
|
+
return (m <= margin) ? m : margin;
|
|
989
|
+
}, Number.MAX_VALUE);
|
|
990
|
+
margin = external.reduce(function (margin, circle) {
|
|
991
|
+
var m = getDistanceBetweenPoints(point,
|
|
992
|
+
circle) - circle.r;
|
|
993
|
+
return (m <= margin) ? m : margin;
|
|
994
|
+
}, margin);
|
|
995
|
+
return margin;
|
|
996
|
+
}
|
|
997
|
+
/**
|
|
998
|
+
* Calculates the area of overlap between a list of circles.
|
|
999
|
+
* @private
|
|
1000
|
+
* @todo add support for calculating overlap between more than 2 circles.
|
|
1001
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
1002
|
+
* List of circles with their given positions.
|
|
1003
|
+
* @return {number}
|
|
1004
|
+
* Returns the area of overlap between all the circles.
|
|
1005
|
+
*/
|
|
1006
|
+
function getOverlapBetweenCircles(circles) {
|
|
1007
|
+
var overlap = 0;
|
|
1008
|
+
// When there is only two circles we can find the overlap by using their
|
|
1009
|
+
// radiuses and the distance between them.
|
|
1010
|
+
if (circles.length === 2) {
|
|
1011
|
+
var circle1 = circles[0];
|
|
1012
|
+
var circle2 = circles[1];
|
|
1013
|
+
overlap = getOverlapBetweenCirclesByDistance(circle1.r, circle2.r, getDistanceBetweenPoints(circle1, circle2));
|
|
1014
|
+
}
|
|
1015
|
+
return overlap;
|
|
1016
|
+
}
|
|
1017
|
+
// eslint-disable-next-line require-jsdoc
|
|
1018
|
+
function isSet(x) {
|
|
1019
|
+
return isArray(x.sets) && x.sets.length === 1;
|
|
1020
|
+
}
|
|
1021
|
+
// eslint-disable-next-line require-jsdoc
|
|
1022
|
+
function isValidRelation(x) {
|
|
1023
|
+
var map = {};
|
|
1024
|
+
return (isObject(x) &&
|
|
1025
|
+
(isNumber(x.value) && x.value > -1) &&
|
|
1026
|
+
(isArray(x.sets) && x.sets.length > 0) &&
|
|
1027
|
+
!x.sets.some(function (set) {
|
|
1028
|
+
var invalid = false;
|
|
1029
|
+
if (!map[set] && isString(set)) {
|
|
1030
|
+
map[set] = true;
|
|
1031
|
+
}
|
|
1032
|
+
else {
|
|
1033
|
+
invalid = true;
|
|
1034
|
+
}
|
|
1035
|
+
return invalid;
|
|
1036
|
+
}));
|
|
1037
|
+
}
|
|
1038
|
+
// eslint-disable-next-line require-jsdoc
|
|
1039
|
+
function isValidSet(x) {
|
|
1040
|
+
return (isValidRelation(x) && isSet(x) && x.value > 0);
|
|
1041
|
+
}
|
|
1042
|
+
/**
|
|
1043
|
+
* Uses a greedy approach to position all the sets. Works well with a small
|
|
1044
|
+
* number of sets, and are in these cases a good choice aesthetically.
|
|
1045
|
+
* @private
|
|
1046
|
+
* @param {Array<object>} relations List of the overlap between two or more
|
|
1047
|
+
* sets, or the size of a single set.
|
|
1048
|
+
* @return {Array<object>} List of circles and their calculated positions.
|
|
1049
|
+
*/
|
|
1050
|
+
function layoutGreedyVenn(relations) {
|
|
1051
|
+
var positionedSets = [],
|
|
1052
|
+
mapOfIdToCircles = {};
|
|
1053
|
+
// Define a circle for each set.
|
|
1054
|
+
relations
|
|
1055
|
+
.filter(function (relation) {
|
|
1056
|
+
return relation.sets.length === 1;
|
|
1057
|
+
}).forEach(function (relation) {
|
|
1058
|
+
mapOfIdToCircles[relation.sets[0]] = relation.circle = {
|
|
1059
|
+
x: Number.MAX_VALUE,
|
|
1060
|
+
y: Number.MAX_VALUE,
|
|
1061
|
+
r: Math.sqrt(relation.value / Math.PI)
|
|
1062
|
+
};
|
|
1063
|
+
});
|
|
1064
|
+
/**
|
|
1065
|
+
* Takes a set and updates the position, and add the set to the list of
|
|
1066
|
+
* positioned sets.
|
|
1067
|
+
* @private
|
|
1068
|
+
* @param {Object} set
|
|
1069
|
+
* The set to add to its final position.
|
|
1070
|
+
* @param {Object} coordinates
|
|
1071
|
+
* The coordinates to position the set at.
|
|
1072
|
+
*/
|
|
1073
|
+
var positionSet = function positionSet(set,
|
|
1074
|
+
coordinates) {
|
|
1075
|
+
var circle = set.circle;
|
|
1076
|
+
circle.x = coordinates.x;
|
|
1077
|
+
circle.y = coordinates.y;
|
|
1078
|
+
positionedSets.push(set);
|
|
1079
|
+
};
|
|
1080
|
+
// Find overlap between sets. Ignore relations with more then 2 sets.
|
|
1081
|
+
addOverlapToSets(relations);
|
|
1082
|
+
// Sort sets by the sum of their size from large to small.
|
|
1083
|
+
var sortedByOverlap = relations
|
|
1084
|
+
.filter(isSet)
|
|
1085
|
+
.sort(sortByTotalOverlap);
|
|
1086
|
+
// Position the most overlapped set at 0,0.
|
|
1087
|
+
positionSet(sortedByOverlap.shift(), { x: 0, y: 0 });
|
|
1088
|
+
var relationsWithTwoSets = relations.filter(function (x) {
|
|
1089
|
+
return x.sets.length === 2;
|
|
1090
|
+
});
|
|
1091
|
+
// Iterate and position the remaining sets.
|
|
1092
|
+
sortedByOverlap.forEach(function (set) {
|
|
1093
|
+
var circle = set.circle,
|
|
1094
|
+
radius = circle.r,
|
|
1095
|
+
overlapping = set.overlapping;
|
|
1096
|
+
var bestPosition = positionedSets.reduce(function (best,
|
|
1097
|
+
positionedSet,
|
|
1098
|
+
i) {
|
|
1099
|
+
var positionedCircle = positionedSet.circle,
|
|
1100
|
+
overlap = overlapping[positionedSet.sets[0]];
|
|
1101
|
+
// Calculate the distance between the sets to get the
|
|
1102
|
+
// correct overlap
|
|
1103
|
+
var distance = getDistanceBetweenCirclesByOverlap(radius,
|
|
1104
|
+
positionedCircle.r,
|
|
1105
|
+
overlap);
|
|
1106
|
+
// Create a list of possible coordinates calculated from
|
|
1107
|
+
// distance.
|
|
1108
|
+
var possibleCoordinates = [
|
|
1109
|
+
{ x: positionedCircle.x + distance,
|
|
1110
|
+
y: positionedCircle.y },
|
|
1111
|
+
{ x: positionedCircle.x - distance,
|
|
1112
|
+
y: positionedCircle.y },
|
|
1113
|
+
{ x: positionedCircle.x,
|
|
1114
|
+
y: positionedCircle.y + distance },
|
|
1115
|
+
{ x: positionedCircle.x,
|
|
1116
|
+
y: positionedCircle.y - distance }
|
|
1117
|
+
];
|
|
1118
|
+
// If there are more circles overlapping, then add the
|
|
1119
|
+
// intersection points as possible positions.
|
|
1120
|
+
positionedSets.slice(i + 1).forEach(function (positionedSet2) {
|
|
1121
|
+
var positionedCircle2 = positionedSet2.circle,
|
|
1122
|
+
overlap2 = overlapping[positionedSet2.sets[0]],
|
|
1123
|
+
distance2 = getDistanceBetweenCirclesByOverlap(radius,
|
|
1124
|
+
positionedCircle2.r,
|
|
1125
|
+
overlap2);
|
|
1126
|
+
// Add intersections to list of coordinates.
|
|
1127
|
+
possibleCoordinates = possibleCoordinates.concat(getCircleCircleIntersection({
|
|
1128
|
+
x: positionedCircle.x,
|
|
1129
|
+
y: positionedCircle.y,
|
|
1130
|
+
r: distance
|
|
1131
|
+
}, {
|
|
1132
|
+
x: positionedCircle2.x,
|
|
1133
|
+
y: positionedCircle2.y,
|
|
1134
|
+
r: distance2
|
|
1135
|
+
}));
|
|
1136
|
+
});
|
|
1137
|
+
// Iterate all suggested coordinates and find the best one.
|
|
1138
|
+
possibleCoordinates.forEach(function (coordinates) {
|
|
1139
|
+
circle.x = coordinates.x;
|
|
1140
|
+
circle.y = coordinates.y;
|
|
1141
|
+
// Calculate loss for the suggested coordinates.
|
|
1142
|
+
var currentLoss = loss(mapOfIdToCircles,
|
|
1143
|
+
relationsWithTwoSets);
|
|
1144
|
+
// If the loss is better, then use these new coordinates
|
|
1145
|
+
if (currentLoss < best.loss) {
|
|
1146
|
+
best.loss = currentLoss;
|
|
1147
|
+
best.coordinates = coordinates;
|
|
1148
|
+
}
|
|
1149
|
+
});
|
|
1150
|
+
// Return resulting coordinates.
|
|
1151
|
+
return best;
|
|
1152
|
+
}, {
|
|
1153
|
+
loss: Number.MAX_VALUE,
|
|
1154
|
+
coordinates: void 0
|
|
1155
|
+
});
|
|
1156
|
+
// Add the set to its final position.
|
|
1157
|
+
positionSet(set, bestPosition.coordinates);
|
|
1158
|
+
});
|
|
1159
|
+
// Return the positions of each set.
|
|
1160
|
+
return mapOfIdToCircles;
|
|
1161
|
+
}
|
|
1162
|
+
/**
|
|
1163
|
+
* Calculates the difference between the desired overlap and the actual
|
|
1164
|
+
* overlap between two circles.
|
|
1165
|
+
* @private
|
|
1166
|
+
* @param {Dictionary<Highcharts.CircleObject>} mapOfIdToCircle
|
|
1167
|
+
* Map from id to circle.
|
|
1168
|
+
* @param {Array<Highcharts.VennRelationObject>} relations
|
|
1169
|
+
* List of relations to calculate the loss of.
|
|
1170
|
+
* @return {number}
|
|
1171
|
+
* Returns the loss between positions of the circles for the given
|
|
1172
|
+
* relations.
|
|
1173
|
+
*/
|
|
1174
|
+
function loss(mapOfIdToCircle, relations) {
|
|
1175
|
+
var precision = 10e10;
|
|
1176
|
+
// Iterate all the relations and calculate their individual loss.
|
|
1177
|
+
return relations.reduce(function (totalLoss, relation) {
|
|
1178
|
+
var loss = 0;
|
|
1179
|
+
if (relation.sets.length > 1) {
|
|
1180
|
+
var wantedOverlap = relation.value;
|
|
1181
|
+
// Calculate the actual overlap between the sets.
|
|
1182
|
+
var actualOverlap = getOverlapBetweenCircles(
|
|
1183
|
+
// Get the circles for the given sets.
|
|
1184
|
+
relation.sets.map(function (set) {
|
|
1185
|
+
return mapOfIdToCircle[set];
|
|
1186
|
+
}));
|
|
1187
|
+
var diff = wantedOverlap - actualOverlap;
|
|
1188
|
+
loss = Math.round((diff * diff) * precision) / precision;
|
|
1189
|
+
}
|
|
1190
|
+
// Add calculated loss to the sum.
|
|
1191
|
+
return totalLoss + loss;
|
|
1192
|
+
}, 0);
|
|
1193
|
+
}
|
|
1194
|
+
/**
|
|
1195
|
+
* Finds an optimal position for a given point.
|
|
1196
|
+
* @todo add unit tests.
|
|
1197
|
+
* @todo add constraints to optimize the algorithm.
|
|
1198
|
+
* @private
|
|
1199
|
+
* @param {Highcharts.NelderMeadTestFunction} fn
|
|
1200
|
+
* The function to test a point.
|
|
1201
|
+
* @param {Highcharts.NelderMeadPointArray} initial
|
|
1202
|
+
* The initial point to optimize.
|
|
1203
|
+
* @return {Highcharts.NelderMeadPointArray}
|
|
1204
|
+
* Returns the opimized position of a point.
|
|
1205
|
+
*/
|
|
1206
|
+
function nelderMead(fn, initial) {
|
|
1207
|
+
var maxIterations = 100,
|
|
1208
|
+
sortByFx = function (a,
|
|
1209
|
+
b) {
|
|
1210
|
+
return a.fx - b.fx;
|
|
1211
|
+
}, pRef = 1, // Reflection parameter
|
|
1212
|
+
pExp = 2, // Expansion parameter
|
|
1213
|
+
pCon = -0.5, // Contraction parameter
|
|
1214
|
+
pOCon = pCon * pRef, // Outwards contraction parameter
|
|
1215
|
+
pShrink = 0.5; // Shrink parameter
|
|
1216
|
+
/**
|
|
1217
|
+
* @private
|
|
1218
|
+
*/
|
|
1219
|
+
var weightedSum = function (weight1,
|
|
1220
|
+
v1,
|
|
1221
|
+
weight2,
|
|
1222
|
+
v2) { return v1.map(function (x,
|
|
1223
|
+
i) { return weight1 * x + weight2 * v2[i]; }); };
|
|
1224
|
+
/**
|
|
1225
|
+
* @private
|
|
1226
|
+
*/
|
|
1227
|
+
var getSimplex = function (initial) {
|
|
1228
|
+
var n = initial.length,
|
|
1229
|
+
simplex = new Array(n + 1);
|
|
1230
|
+
// Initial point to the simplex.
|
|
1231
|
+
simplex[0] = initial;
|
|
1232
|
+
simplex[0].fx = fn(initial);
|
|
1233
|
+
// Create a set of extra points based on the initial.
|
|
1234
|
+
for (var i = 0; i < n; ++i) {
|
|
1235
|
+
var point = initial.slice();
|
|
1236
|
+
point[i] = point[i] ? point[i] * 1.05 : 0.001;
|
|
1237
|
+
point.fx = fn(point);
|
|
1238
|
+
simplex[i + 1] = point;
|
|
1239
|
+
}
|
|
1240
|
+
return simplex;
|
|
1241
|
+
};
|
|
1242
|
+
var updateSimplex = function (simplex,
|
|
1243
|
+
point) {
|
|
1244
|
+
point.fx = fn(point);
|
|
1245
|
+
simplex[simplex.length - 1] = point;
|
|
1246
|
+
return simplex;
|
|
1247
|
+
};
|
|
1248
|
+
var shrinkSimplex = function (simplex) {
|
|
1249
|
+
var best = simplex[0];
|
|
1250
|
+
return simplex.map(function (point) {
|
|
1251
|
+
var p = weightedSum(1 - pShrink,
|
|
1252
|
+
best,
|
|
1253
|
+
pShrink,
|
|
1254
|
+
point);
|
|
1255
|
+
p.fx = fn(p);
|
|
1256
|
+
return p;
|
|
1257
|
+
});
|
|
1258
|
+
};
|
|
1259
|
+
var getPoint = function (centroid,
|
|
1260
|
+
worst,
|
|
1261
|
+
a,
|
|
1262
|
+
b) {
|
|
1263
|
+
var point = weightedSum(a,
|
|
1264
|
+
centroid,
|
|
1265
|
+
b,
|
|
1266
|
+
worst);
|
|
1267
|
+
point.fx = fn(point);
|
|
1268
|
+
return point;
|
|
1269
|
+
};
|
|
1270
|
+
// Create a simplex
|
|
1271
|
+
var simplex = getSimplex(initial);
|
|
1272
|
+
// Iterate from 0 to max iterations
|
|
1273
|
+
for (var i = 0; i < maxIterations; i++) {
|
|
1274
|
+
// Sort the simplex
|
|
1275
|
+
simplex.sort(sortByFx);
|
|
1276
|
+
// Create a centroid from the simplex
|
|
1277
|
+
var worst = simplex[simplex.length - 1];
|
|
1278
|
+
var centroid = getCentroid(simplex);
|
|
1279
|
+
// Calculate the reflected point.
|
|
1280
|
+
var reflected = getPoint(centroid,
|
|
1281
|
+
worst, 1 + pRef, -pRef);
|
|
1282
|
+
if (reflected.fx < simplex[0].fx) {
|
|
1283
|
+
// If reflected point is the best, then possibly expand.
|
|
1284
|
+
var expanded = getPoint(centroid,
|
|
1285
|
+
worst, 1 + pExp, -pExp);
|
|
1286
|
+
simplex = updateSimplex(simplex, (expanded.fx < reflected.fx) ? expanded : reflected);
|
|
1287
|
+
}
|
|
1288
|
+
else if (reflected.fx >= simplex[simplex.length - 2].fx) {
|
|
1289
|
+
// If the reflected point is worse than the second worse, then
|
|
1290
|
+
// contract.
|
|
1291
|
+
var contracted = void 0;
|
|
1292
|
+
if (reflected.fx > worst.fx) {
|
|
1293
|
+
// If the reflected is worse than the worst point, do a
|
|
1294
|
+
// contraction
|
|
1295
|
+
contracted = getPoint(centroid, worst, 1 + pCon, -pCon);
|
|
1296
|
+
if (contracted.fx < worst.fx) {
|
|
1297
|
+
simplex = updateSimplex(simplex, contracted);
|
|
1298
|
+
}
|
|
1299
|
+
else {
|
|
1300
|
+
simplex = shrinkSimplex(simplex);
|
|
1301
|
+
}
|
|
1302
|
+
}
|
|
1303
|
+
else {
|
|
1304
|
+
// Otherwise do an outwards contraction
|
|
1305
|
+
contracted = getPoint(centroid, worst, 1 - pOCon, pOCon);
|
|
1306
|
+
if (contracted.fx < reflected.fx) {
|
|
1307
|
+
simplex = updateSimplex(simplex, contracted);
|
|
1308
|
+
}
|
|
1309
|
+
else {
|
|
1310
|
+
simplex = shrinkSimplex(simplex);
|
|
1311
|
+
}
|
|
1312
|
+
}
|
|
1313
|
+
}
|
|
1314
|
+
else {
|
|
1315
|
+
simplex = updateSimplex(simplex, reflected);
|
|
1316
|
+
}
|
|
1317
|
+
}
|
|
1318
|
+
return simplex[0];
|
|
1319
|
+
}
|
|
1320
|
+
/**
|
|
1321
|
+
* Prepares the venn data so that it is usable for the layout function.
|
|
1322
|
+
* Filter out sets, or intersections that includes sets, that are missing in
|
|
1323
|
+
* the data or has (value < 1). Adds missing relations between sets in the
|
|
1324
|
+
* data as value = 0.
|
|
1325
|
+
* @private
|
|
1326
|
+
* @param {Array<object>} data The raw input data.
|
|
1327
|
+
* @return {Array<object>} Returns an array of valid venn data.
|
|
1328
|
+
*/
|
|
1329
|
+
function processVennData(data) {
|
|
1330
|
+
var d = isArray(data) ? data : [];
|
|
1331
|
+
var validSets = d
|
|
1332
|
+
.reduce(function (arr,
|
|
1333
|
+
x) {
|
|
1334
|
+
// Check if x is a valid set, and that it is not an duplicate.
|
|
1335
|
+
if (isValidSet(x) && arr.indexOf(x.sets[0]) === -1) {
|
|
1336
|
+
arr.push(x.sets[0]);
|
|
1337
|
+
}
|
|
1338
|
+
return arr;
|
|
1339
|
+
}, [])
|
|
1340
|
+
.sort();
|
|
1341
|
+
var mapOfIdToRelation = d.reduce(function (mapOfIdToRelation,
|
|
1342
|
+
relation) {
|
|
1343
|
+
if (isValidRelation(relation) &&
|
|
1344
|
+
!relation.sets.some(function (set) {
|
|
1345
|
+
return validSets.indexOf(set) === -1;
|
|
1346
|
+
})) {
|
|
1347
|
+
mapOfIdToRelation[relation.sets.sort().join()] =
|
|
1348
|
+
relation;
|
|
1349
|
+
}
|
|
1350
|
+
return mapOfIdToRelation;
|
|
1351
|
+
}, {});
|
|
1352
|
+
validSets.reduce(function (combinations, set, i, arr) {
|
|
1353
|
+
var remaining = arr.slice(i + 1);
|
|
1354
|
+
remaining.forEach(function (set2) {
|
|
1355
|
+
combinations.push(set + ',' + set2);
|
|
1356
|
+
});
|
|
1357
|
+
return combinations;
|
|
1358
|
+
}, []).forEach(function (combination) {
|
|
1359
|
+
if (!mapOfIdToRelation[combination]) {
|
|
1360
|
+
var obj = {
|
|
1361
|
+
sets: combination.split(','),
|
|
1362
|
+
value: 0
|
|
1363
|
+
};
|
|
1364
|
+
mapOfIdToRelation[combination] = obj;
|
|
1365
|
+
}
|
|
1366
|
+
});
|
|
1367
|
+
// Transform map into array.
|
|
1368
|
+
return Object
|
|
1369
|
+
.keys(mapOfIdToRelation)
|
|
1370
|
+
.map(function (id) {
|
|
1371
|
+
return mapOfIdToRelation[id];
|
|
1372
|
+
});
|
|
1373
|
+
}
|
|
1374
|
+
/**
|
|
1375
|
+
* Takes two sets and finds the one with the largest total overlap.
|
|
1376
|
+
* @private
|
|
1377
|
+
* @param {Object} a
|
|
1378
|
+
* The first set to compare.
|
|
1379
|
+
* @param {Object} b
|
|
1380
|
+
* The second set to compare.
|
|
1381
|
+
* @return {number}
|
|
1382
|
+
* Returns 0 if a and b are equal, <0 if a is greater, >0 if b is greater.
|
|
1383
|
+
*/
|
|
1384
|
+
function sortByTotalOverlap(a, b) {
|
|
1385
|
+
return b.totalOverlap - a.totalOverlap;
|
|
1386
|
+
}
|
|
1387
|
+
/* *
|
|
1388
|
+
*
|
|
1389
|
+
* Default Export
|
|
1390
|
+
*
|
|
1391
|
+
* */
|
|
1392
|
+
var VennUtils = {
|
|
1393
|
+
geometry: GU,
|
|
1394
|
+
geometryCircles: CU,
|
|
1395
|
+
addOverlapToSets: addOverlapToSets,
|
|
1396
|
+
getCentroid: getCentroid,
|
|
1397
|
+
getDistanceBetweenCirclesByOverlap: getDistanceBetweenCirclesByOverlap,
|
|
1398
|
+
getLabelWidth: getLabelWidth,
|
|
1399
|
+
getMarginFromCircles: getMarginFromCircles,
|
|
1400
|
+
isSet: isSet,
|
|
1401
|
+
layoutGreedyVenn: layoutGreedyVenn,
|
|
1402
|
+
loss: loss,
|
|
1403
|
+
nelderMead: nelderMead,
|
|
1404
|
+
processVennData: processVennData,
|
|
1405
|
+
sortByTotalOverlap: sortByTotalOverlap
|
|
1406
|
+
};
|
|
1407
|
+
|
|
1408
|
+
return VennUtils;
|
|
1409
|
+
});
|
|
1410
|
+
_registerModule(_modules, 'Series/Venn/VennSeries.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Color/Color.js'], _modules['Core/Geometry/CircleUtilities.js'], _modules['Core/Geometry/GeometryUtilities.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Series/Venn/VennPoint.js'], _modules['Series/Venn/VennUtils.js'], _modules['Core/Utilities.js']], function (A, Color, CU, GU, SeriesRegistry, VennPoint, VennUtils, U) {
|
|
1411
|
+
/* *
|
|
1412
|
+
*
|
|
1413
|
+
* Experimental Highcharts module which enables visualization of a Venn
|
|
1414
|
+
* diagram.
|
|
1415
|
+
*
|
|
1416
|
+
* (c) 2016-2021 Highsoft AS
|
|
1417
|
+
* Authors: Jon Arild Nygard
|
|
1418
|
+
*
|
|
1419
|
+
* Layout algorithm by Ben Frederickson:
|
|
1420
|
+
* https://www.benfrederickson.com/better-venn-diagrams/
|
|
1421
|
+
*
|
|
1422
|
+
* License: www.highcharts.com/license
|
|
1423
|
+
*
|
|
1424
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
1425
|
+
*
|
|
1426
|
+
* */
|
|
1427
|
+
var __extends = (this && this.__extends) || (function () {
|
|
1428
|
+
var extendStatics = function (d,
|
|
1429
|
+
b) {
|
|
1430
|
+
extendStatics = Object.setPrototypeOf ||
|
|
1431
|
+
({ __proto__: [] } instanceof Array && function (d,
|
|
1432
|
+
b) { d.__proto__ = b; }) ||
|
|
1433
|
+
function (d,
|
|
1434
|
+
b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
1435
|
+
return extendStatics(d, b);
|
|
1436
|
+
};
|
|
1437
|
+
return function (d, b) {
|
|
1438
|
+
extendStatics(d, b);
|
|
1439
|
+
function __() { this.constructor = d; }
|
|
1440
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
1441
|
+
};
|
|
1442
|
+
})();
|
|
1443
|
+
var animObject = A.animObject;
|
|
1444
|
+
var color = Color.parse;
|
|
1445
|
+
var getAreaOfIntersectionBetweenCircles = CU.getAreaOfIntersectionBetweenCircles,
|
|
1446
|
+
getCirclesIntersectionPolygon = CU.getCirclesIntersectionPolygon,
|
|
1447
|
+
isCircle1CompletelyOverlappingCircle2 = CU.isCircle1CompletelyOverlappingCircle2,
|
|
1448
|
+
isPointInsideAllCircles = CU.isPointInsideAllCircles,
|
|
1449
|
+
isPointOutsideAllCircles = CU.isPointOutsideAllCircles;
|
|
1450
|
+
var getCenterOfPoints = GU.getCenterOfPoints;
|
|
1451
|
+
var ScatterSeries = SeriesRegistry.seriesTypes.scatter;
|
|
1452
|
+
var addEvent = U.addEvent,
|
|
1453
|
+
extend = U.extend,
|
|
1454
|
+
isArray = U.isArray,
|
|
1455
|
+
isNumber = U.isNumber,
|
|
1456
|
+
isObject = U.isObject,
|
|
1457
|
+
isString = U.isString,
|
|
1458
|
+
merge = U.merge;
|
|
1459
|
+
/* *
|
|
1460
|
+
*
|
|
1461
|
+
* Class
|
|
1462
|
+
*
|
|
1463
|
+
* */
|
|
1464
|
+
/**
|
|
1465
|
+
* @private
|
|
1466
|
+
* @class
|
|
1467
|
+
* @name Highcharts.seriesTypes.venn
|
|
1468
|
+
*
|
|
1469
|
+
* @augments Highcharts.Series
|
|
1470
|
+
*/
|
|
1471
|
+
var VennSeries = /** @class */ (function (_super) {
|
|
1472
|
+
__extends(VennSeries, _super);
|
|
1473
|
+
function VennSeries() {
|
|
1474
|
+
/* *
|
|
1475
|
+
*
|
|
1476
|
+
* Static Properties
|
|
1477
|
+
*
|
|
1478
|
+
* */
|
|
1479
|
+
var _this = _super !== null && _super.apply(this,
|
|
1480
|
+
arguments) || this;
|
|
1481
|
+
/* *
|
|
1482
|
+
*
|
|
1483
|
+
* Properties
|
|
1484
|
+
*
|
|
1485
|
+
* */
|
|
1486
|
+
_this.data = void 0;
|
|
1487
|
+
_this.mapOfIdToRelation = void 0;
|
|
1488
|
+
_this.options = void 0;
|
|
1489
|
+
_this.points = void 0;
|
|
1490
|
+
return _this;
|
|
1491
|
+
/* eslint-enable valid-jsdoc */
|
|
1492
|
+
}
|
|
1493
|
+
/* *
|
|
1494
|
+
*
|
|
1495
|
+
* Static Functions
|
|
1496
|
+
*
|
|
1497
|
+
* */
|
|
1498
|
+
/**
|
|
1499
|
+
* Finds the optimal label position by looking for a position that has a low
|
|
1500
|
+
* distance from the internal circles, and as large possible distane to the
|
|
1501
|
+
* external circles.
|
|
1502
|
+
* @private
|
|
1503
|
+
* @todo Optimize the intial position.
|
|
1504
|
+
* @todo Add unit tests.
|
|
1505
|
+
* @param {Array<Highcharts.CircleObject>} internal
|
|
1506
|
+
* Internal circles.
|
|
1507
|
+
* @param {Array<Highcharts.CircleObject>} external
|
|
1508
|
+
* External circles.
|
|
1509
|
+
* @return {Highcharts.PositionObject}
|
|
1510
|
+
* Returns the found position.
|
|
1511
|
+
*/
|
|
1512
|
+
VennSeries.getLabelPosition = function (internal, external) {
|
|
1513
|
+
// Get the best label position within the internal circles.
|
|
1514
|
+
var best = internal.reduce(function (best,
|
|
1515
|
+
circle) {
|
|
1516
|
+
var d = circle.r / 2;
|
|
1517
|
+
// Give a set of points with the circle to evaluate as the best
|
|
1518
|
+
// label position.
|
|
1519
|
+
return [
|
|
1520
|
+
{ x: circle.x, y: circle.y },
|
|
1521
|
+
{ x: circle.x + d, y: circle.y },
|
|
1522
|
+
{ x: circle.x - d, y: circle.y },
|
|
1523
|
+
{ x: circle.x, y: circle.y + d },
|
|
1524
|
+
{ x: circle.x, y: circle.y - d }
|
|
1525
|
+
]
|
|
1526
|
+
// Iterate the given points and return the one with the
|
|
1527
|
+
// largest margin.
|
|
1528
|
+
.reduce(function (best, point) {
|
|
1529
|
+
var margin = VennUtils.getMarginFromCircles(point,
|
|
1530
|
+
internal,
|
|
1531
|
+
external);
|
|
1532
|
+
// If the margin better than the current best, then
|
|
1533
|
+
// update sbest.
|
|
1534
|
+
if (best.margin < margin) {
|
|
1535
|
+
best.point = point;
|
|
1536
|
+
best.margin = margin;
|
|
1537
|
+
}
|
|
1538
|
+
return best;
|
|
1539
|
+
}, best);
|
|
1540
|
+
}, {
|
|
1541
|
+
point: void 0,
|
|
1542
|
+
margin: -Number.MAX_VALUE
|
|
1543
|
+
}).point;
|
|
1544
|
+
// Use nelder mead to optimize the initial label position.
|
|
1545
|
+
var optimal = VennUtils.nelderMead(function (p) {
|
|
1546
|
+
return -(VennUtils.getMarginFromCircles({ x: p[0],
|
|
1547
|
+
y: p[1] },
|
|
1548
|
+
internal,
|
|
1549
|
+
external));
|
|
1550
|
+
}, [best.x, best.y]);
|
|
1551
|
+
// Update best to be the point which was found to have the best margin.
|
|
1552
|
+
best = {
|
|
1553
|
+
x: optimal[0],
|
|
1554
|
+
y: optimal[1]
|
|
1555
|
+
};
|
|
1556
|
+
if (!(isPointInsideAllCircles(best, internal) &&
|
|
1557
|
+
isPointOutsideAllCircles(best, external))) {
|
|
1558
|
+
// If point was either outside one of the internal, or inside one of
|
|
1559
|
+
// the external, then it was invalid and should use a fallback.
|
|
1560
|
+
if (internal.length > 1) {
|
|
1561
|
+
best = getCenterOfPoints(getCirclesIntersectionPolygon(internal));
|
|
1562
|
+
}
|
|
1563
|
+
else {
|
|
1564
|
+
best = {
|
|
1565
|
+
x: internal[0].x,
|
|
1566
|
+
y: internal[0].y
|
|
1567
|
+
};
|
|
1568
|
+
}
|
|
1569
|
+
}
|
|
1570
|
+
// Return the best point.
|
|
1571
|
+
return best;
|
|
1572
|
+
};
|
|
1573
|
+
/**
|
|
1574
|
+
* Calulates data label values for a given relations object.
|
|
1575
|
+
*
|
|
1576
|
+
* @private
|
|
1577
|
+
* @todo add unit tests
|
|
1578
|
+
* @param {Highcharts.VennRelationObject} relation A relations object.
|
|
1579
|
+
* @param {Array<Highcharts.VennRelationObject>} setRelations The list of
|
|
1580
|
+
* relations that is a set.
|
|
1581
|
+
* @return {Highcharts.VennLabelValuesObject}
|
|
1582
|
+
* Returns an object containing position and width of the label.
|
|
1583
|
+
*/
|
|
1584
|
+
VennSeries.getLabelValues = function (relation, setRelations) {
|
|
1585
|
+
var sets = relation.sets;
|
|
1586
|
+
// Create a list of internal and external circles.
|
|
1587
|
+
var data = setRelations.reduce(function (data,
|
|
1588
|
+
set) {
|
|
1589
|
+
// If the set exists in this relation, then it is internal,
|
|
1590
|
+
// otherwise it will be external.
|
|
1591
|
+
var isInternal = sets.indexOf(set.sets[0]) > -1;
|
|
1592
|
+
var property = isInternal ? 'internal' : 'external';
|
|
1593
|
+
// Add the circle to the list.
|
|
1594
|
+
data[property].push(set.circle);
|
|
1595
|
+
return data;
|
|
1596
|
+
}, {
|
|
1597
|
+
internal: [],
|
|
1598
|
+
external: []
|
|
1599
|
+
});
|
|
1600
|
+
// Filter out external circles that are completely overlapping all
|
|
1601
|
+
// internal
|
|
1602
|
+
data.external = data.external.filter(function (externalCircle) {
|
|
1603
|
+
return data.internal.some(function (internalCircle) {
|
|
1604
|
+
return !isCircle1CompletelyOverlappingCircle2(externalCircle, internalCircle);
|
|
1605
|
+
});
|
|
1606
|
+
});
|
|
1607
|
+
// Calulate the label position.
|
|
1608
|
+
var position = VennSeries.getLabelPosition(data.internal,
|
|
1609
|
+
data.external);
|
|
1610
|
+
// Calculate the label width
|
|
1611
|
+
var width = VennUtils.getLabelWidth(position,
|
|
1612
|
+
data.internal,
|
|
1613
|
+
data.external);
|
|
1614
|
+
return {
|
|
1615
|
+
position: position,
|
|
1616
|
+
width: width
|
|
1617
|
+
};
|
|
1618
|
+
};
|
|
1619
|
+
/**
|
|
1620
|
+
* Calculates the positions, and the label values of all the sets in the
|
|
1621
|
+
* venn diagram.
|
|
1622
|
+
*
|
|
1623
|
+
* @private
|
|
1624
|
+
* @todo Add support for constrained MDS.
|
|
1625
|
+
* @param {Array<Highchats.VennRelationObject>} relations
|
|
1626
|
+
* List of the overlap between two or more sets, or the size of a single
|
|
1627
|
+
* sset.
|
|
1628
|
+
* @return {Highcharts.Dictionary<*>}
|
|
1629
|
+
* List of circles and their calculated positions.
|
|
1630
|
+
*/
|
|
1631
|
+
VennSeries.layout = function (relations) {
|
|
1632
|
+
var mapOfIdToShape = {};
|
|
1633
|
+
var mapOfIdToLabelValues = {};
|
|
1634
|
+
// Calculate best initial positions by using greedy layout.
|
|
1635
|
+
if (relations.length > 0) {
|
|
1636
|
+
var mapOfIdToCircles_1 = VennUtils.layoutGreedyVenn(relations);
|
|
1637
|
+
var setRelations_1 = relations.filter(VennUtils.isSet);
|
|
1638
|
+
relations.forEach(function (relation) {
|
|
1639
|
+
var sets = relation.sets;
|
|
1640
|
+
var id = sets.join();
|
|
1641
|
+
// Get shape from map of circles, or calculate intersection.
|
|
1642
|
+
var shape = VennUtils.isSet(relation) ?
|
|
1643
|
+
mapOfIdToCircles_1[id] :
|
|
1644
|
+
getAreaOfIntersectionBetweenCircles(sets.map(function (set) { return mapOfIdToCircles_1[set]; }));
|
|
1645
|
+
// Calculate label values if the set has a shape
|
|
1646
|
+
if (shape) {
|
|
1647
|
+
mapOfIdToShape[id] = shape;
|
|
1648
|
+
mapOfIdToLabelValues[id] = VennSeries.getLabelValues(relation, setRelations_1);
|
|
1649
|
+
}
|
|
1650
|
+
});
|
|
1651
|
+
}
|
|
1652
|
+
return { mapOfIdToShape: mapOfIdToShape, mapOfIdToLabelValues: mapOfIdToLabelValues };
|
|
1653
|
+
};
|
|
1654
|
+
/**
|
|
1655
|
+
* Calculates the proper scale to fit the cloud inside the plotting area.
|
|
1656
|
+
* @private
|
|
1657
|
+
* @todo add unit test
|
|
1658
|
+
* @param {number} targetWidth
|
|
1659
|
+
* Width of target area.
|
|
1660
|
+
* @param {number} targetHeight
|
|
1661
|
+
* Height of target area.
|
|
1662
|
+
* @param {Highcharts.PolygonBoxObject} field
|
|
1663
|
+
* The playing field.
|
|
1664
|
+
* @return {Highcharts.Dictionary<number>}
|
|
1665
|
+
* Returns the value to scale the playing field up to the size of the target
|
|
1666
|
+
* area, and center of x and y.
|
|
1667
|
+
*/
|
|
1668
|
+
VennSeries.getScale = function (targetWidth, targetHeight, field) {
|
|
1669
|
+
var height = field.bottom - field.top, // top is smaller than bottom
|
|
1670
|
+
width = field.right - field.left,
|
|
1671
|
+
scaleX = width > 0 ? 1 / width * targetWidth : 1,
|
|
1672
|
+
scaleY = height > 0 ? 1 / height * targetHeight : 1,
|
|
1673
|
+
adjustX = (field.right + field.left) / 2,
|
|
1674
|
+
adjustY = (field.top + field.bottom) / 2,
|
|
1675
|
+
scale = Math.min(scaleX,
|
|
1676
|
+
scaleY);
|
|
1677
|
+
return {
|
|
1678
|
+
scale: scale,
|
|
1679
|
+
centerX: targetWidth / 2 - adjustX * scale,
|
|
1680
|
+
centerY: targetHeight / 2 - adjustY * scale
|
|
1681
|
+
};
|
|
1682
|
+
};
|
|
1683
|
+
/**
|
|
1684
|
+
* If a circle is outside a give field, then the boundaries of the field is
|
|
1685
|
+
* adjusted accordingly. Modifies the field object which is passed as the
|
|
1686
|
+
* first parameter.
|
|
1687
|
+
* @private
|
|
1688
|
+
* @todo NOTE: Copied from wordcloud, can probably be unified.
|
|
1689
|
+
* @param {Highcharts.PolygonBoxObject} field
|
|
1690
|
+
* The bounding box of a playing field.
|
|
1691
|
+
* @param {Highcharts.CircleObject} circle
|
|
1692
|
+
* The bounding box for a placed point.
|
|
1693
|
+
* @return {Highcharts.PolygonBoxObject}
|
|
1694
|
+
* Returns a modified field object.
|
|
1695
|
+
*/
|
|
1696
|
+
VennSeries.updateFieldBoundaries = function (field, circle) {
|
|
1697
|
+
var left = circle.x - circle.r,
|
|
1698
|
+
right = circle.x + circle.r,
|
|
1699
|
+
bottom = circle.y + circle.r,
|
|
1700
|
+
top = circle.y - circle.r;
|
|
1701
|
+
// TODO improve type checking.
|
|
1702
|
+
if (!isNumber(field.left) || field.left > left) {
|
|
1703
|
+
field.left = left;
|
|
1704
|
+
}
|
|
1705
|
+
if (!isNumber(field.right) || field.right < right) {
|
|
1706
|
+
field.right = right;
|
|
1707
|
+
}
|
|
1708
|
+
if (!isNumber(field.top) || field.top > top) {
|
|
1709
|
+
field.top = top;
|
|
1710
|
+
}
|
|
1711
|
+
if (!isNumber(field.bottom) || field.bottom < bottom) {
|
|
1712
|
+
field.bottom = bottom;
|
|
1713
|
+
}
|
|
1714
|
+
return field;
|
|
1715
|
+
};
|
|
1716
|
+
/* *
|
|
1717
|
+
*
|
|
1718
|
+
* Functions
|
|
1719
|
+
*
|
|
1720
|
+
* */
|
|
1721
|
+
/* eslint-disable valid-jsdoc */
|
|
1722
|
+
VennSeries.prototype.animate = function (init) {
|
|
1723
|
+
if (!init) {
|
|
1724
|
+
var series = this,
|
|
1725
|
+
animOptions_1 = animObject(series.options.animation);
|
|
1726
|
+
series.points.forEach(function (point) {
|
|
1727
|
+
var args = point.shapeArgs;
|
|
1728
|
+
if (point.graphic && args) {
|
|
1729
|
+
var attr = {},
|
|
1730
|
+
animate = {};
|
|
1731
|
+
if (args.d) {
|
|
1732
|
+
// If shape is a path, then animate opacity.
|
|
1733
|
+
attr.opacity = 0.001;
|
|
1734
|
+
}
|
|
1735
|
+
else {
|
|
1736
|
+
// If shape is a circle, then animate radius.
|
|
1737
|
+
attr.r = 0;
|
|
1738
|
+
animate.r = args.r;
|
|
1739
|
+
}
|
|
1740
|
+
point.graphic
|
|
1741
|
+
.attr(attr)
|
|
1742
|
+
.animate(animate, animOptions_1);
|
|
1743
|
+
// If shape is path, then fade it in after the circles
|
|
1744
|
+
// animation
|
|
1745
|
+
if (args.d) {
|
|
1746
|
+
setTimeout(function () {
|
|
1747
|
+
if (point && point.graphic) {
|
|
1748
|
+
point.graphic.animate({
|
|
1749
|
+
opacity: 1
|
|
1750
|
+
});
|
|
1751
|
+
}
|
|
1752
|
+
}, animOptions_1.duration);
|
|
1753
|
+
}
|
|
1754
|
+
}
|
|
1755
|
+
}, series);
|
|
1756
|
+
}
|
|
1757
|
+
};
|
|
1758
|
+
/**
|
|
1759
|
+
* Draw the graphics for each point.
|
|
1760
|
+
* @private
|
|
1761
|
+
*/
|
|
1762
|
+
VennSeries.prototype.drawPoints = function () {
|
|
1763
|
+
var series = this,
|
|
1764
|
+
// Series properties
|
|
1765
|
+
chart = series.chart,
|
|
1766
|
+
group = series.group,
|
|
1767
|
+
points = series.points || [],
|
|
1768
|
+
// Chart properties
|
|
1769
|
+
renderer = chart.renderer;
|
|
1770
|
+
// Iterate all points and calculate and draw their graphics.
|
|
1771
|
+
points.forEach(function (point) {
|
|
1772
|
+
var attribs = {
|
|
1773
|
+
zIndex: isArray(point.sets) ? point.sets.length : 0
|
|
1774
|
+
},
|
|
1775
|
+
shapeArgs = point.shapeArgs;
|
|
1776
|
+
// Add point attribs
|
|
1777
|
+
if (!chart.styledMode) {
|
|
1778
|
+
extend(attribs, series.pointAttribs(point, point.state));
|
|
1779
|
+
}
|
|
1780
|
+
// Draw the point graphic.
|
|
1781
|
+
point.draw({
|
|
1782
|
+
isNew: !point.graphic,
|
|
1783
|
+
animatableAttribs: shapeArgs,
|
|
1784
|
+
attribs: attribs,
|
|
1785
|
+
group: group,
|
|
1786
|
+
renderer: renderer,
|
|
1787
|
+
shapeType: shapeArgs && shapeArgs.d ? 'path' : 'circle'
|
|
1788
|
+
});
|
|
1789
|
+
});
|
|
1790
|
+
};
|
|
1791
|
+
VennSeries.prototype.init = function () {
|
|
1792
|
+
ScatterSeries.prototype.init.apply(this, arguments);
|
|
1793
|
+
// Venn's opacity is a different option from other series
|
|
1794
|
+
delete this.opacity;
|
|
1795
|
+
};
|
|
1796
|
+
/**
|
|
1797
|
+
* Calculates the style attributes for a point. The attributes can vary
|
|
1798
|
+
* depending on the state of the point.
|
|
1799
|
+
* @private
|
|
1800
|
+
* @param {Highcharts.Point} point
|
|
1801
|
+
* The point which will get the resulting attributes.
|
|
1802
|
+
* @param {string} [state]
|
|
1803
|
+
* The state of the point.
|
|
1804
|
+
* @return {Highcharts.SVGAttributes}
|
|
1805
|
+
* Returns the calculated attributes.
|
|
1806
|
+
*/
|
|
1807
|
+
VennSeries.prototype.pointAttribs = function (point, state) {
|
|
1808
|
+
var series = this,
|
|
1809
|
+
seriesOptions = series.options || {},
|
|
1810
|
+
pointOptions = point && point.options || {},
|
|
1811
|
+
stateOptions = (state && seriesOptions.states[state]) || {},
|
|
1812
|
+
options = merge(seriesOptions, { color: point && point.color },
|
|
1813
|
+
pointOptions,
|
|
1814
|
+
stateOptions);
|
|
1815
|
+
// Return resulting values for the attributes.
|
|
1816
|
+
return {
|
|
1817
|
+
'fill': color(options.color)
|
|
1818
|
+
.brighten(options.brightness)
|
|
1819
|
+
.get(),
|
|
1820
|
+
// Set opacity directly to the SVG element, not to pattern #14372.
|
|
1821
|
+
opacity: options.opacity,
|
|
1822
|
+
'stroke': options.borderColor,
|
|
1823
|
+
'stroke-width': options.borderWidth,
|
|
1824
|
+
'dashstyle': options.borderDashStyle
|
|
1825
|
+
};
|
|
1826
|
+
};
|
|
1827
|
+
VennSeries.prototype.translate = function () {
|
|
1828
|
+
var chart = this.chart;
|
|
1829
|
+
this.processedXData = this.xData;
|
|
1830
|
+
this.generatePoints();
|
|
1831
|
+
// Process the data before passing it into the layout function.
|
|
1832
|
+
var relations = VennUtils.processVennData(this.options.data);
|
|
1833
|
+
// Calculate the positions of each circle.
|
|
1834
|
+
var _a = VennSeries.layout(relations),
|
|
1835
|
+
mapOfIdToShape = _a.mapOfIdToShape,
|
|
1836
|
+
mapOfIdToLabelValues = _a.mapOfIdToLabelValues;
|
|
1837
|
+
// Calculate the scale, and center of the plot area.
|
|
1838
|
+
var field = Object.keys(mapOfIdToShape)
|
|
1839
|
+
.filter(function (key) {
|
|
1840
|
+
var shape = mapOfIdToShape[key];
|
|
1841
|
+
return shape && isNumber(shape.r);
|
|
1842
|
+
})
|
|
1843
|
+
.reduce(function (field, key) {
|
|
1844
|
+
return VennSeries.updateFieldBoundaries(field, mapOfIdToShape[key]);
|
|
1845
|
+
}, { top: 0, bottom: 0, left: 0, right: 0 }), scaling = VennSeries.getScale(chart.plotWidth, chart.plotHeight, field), scale = scaling.scale, centerX = scaling.centerX, centerY = scaling.centerY;
|
|
1846
|
+
// Iterate all points and calculate and draw their graphics.
|
|
1847
|
+
this.points.forEach(function (point) {
|
|
1848
|
+
var sets = isArray(point.sets) ? point.sets : [],
|
|
1849
|
+
id = sets.join(),
|
|
1850
|
+
shape = mapOfIdToShape[id],
|
|
1851
|
+
shapeArgs,
|
|
1852
|
+
dataLabelValues = mapOfIdToLabelValues[id] || {},
|
|
1853
|
+
dataLabelWidth = dataLabelValues.width,
|
|
1854
|
+
dataLabelPosition = dataLabelValues.position,
|
|
1855
|
+
dlOptions = point.options && point.options.dataLabels;
|
|
1856
|
+
if (shape) {
|
|
1857
|
+
if (shape.r) {
|
|
1858
|
+
shapeArgs = {
|
|
1859
|
+
x: centerX + shape.x * scale,
|
|
1860
|
+
y: centerY + shape.y * scale,
|
|
1861
|
+
r: shape.r * scale
|
|
1862
|
+
};
|
|
1863
|
+
}
|
|
1864
|
+
else if (shape.d) {
|
|
1865
|
+
var d = shape.d;
|
|
1866
|
+
d.forEach(function (seg) {
|
|
1867
|
+
if (seg[0] === 'M') {
|
|
1868
|
+
seg[1] = centerX + seg[1] * scale;
|
|
1869
|
+
seg[2] = centerY + seg[2] * scale;
|
|
1870
|
+
}
|
|
1871
|
+
else if (seg[0] === 'A') {
|
|
1872
|
+
seg[1] = seg[1] * scale;
|
|
1873
|
+
seg[2] = seg[2] * scale;
|
|
1874
|
+
seg[6] = centerX + seg[6] * scale;
|
|
1875
|
+
seg[7] = centerY + seg[7] * scale;
|
|
1876
|
+
}
|
|
1877
|
+
});
|
|
1878
|
+
shapeArgs = { d: d };
|
|
1879
|
+
}
|
|
1880
|
+
// Scale the position for the data label.
|
|
1881
|
+
if (dataLabelPosition) {
|
|
1882
|
+
dataLabelPosition.x = centerX + dataLabelPosition.x * scale;
|
|
1883
|
+
dataLabelPosition.y = centerY + dataLabelPosition.y * scale;
|
|
1884
|
+
}
|
|
1885
|
+
else {
|
|
1886
|
+
dataLabelPosition = {};
|
|
1887
|
+
}
|
|
1888
|
+
if (isNumber(dataLabelWidth)) {
|
|
1889
|
+
dataLabelWidth = Math.round(dataLabelWidth * scale);
|
|
1890
|
+
}
|
|
1891
|
+
}
|
|
1892
|
+
point.shapeArgs = shapeArgs;
|
|
1893
|
+
// Placement for the data labels
|
|
1894
|
+
if (dataLabelPosition && shapeArgs) {
|
|
1895
|
+
point.plotX = dataLabelPosition.x;
|
|
1896
|
+
point.plotY = dataLabelPosition.y;
|
|
1897
|
+
}
|
|
1898
|
+
// Add width for the data label
|
|
1899
|
+
if (dataLabelWidth && shapeArgs) {
|
|
1900
|
+
point.dlOptions = merge(true, {
|
|
1901
|
+
style: {
|
|
1902
|
+
width: dataLabelWidth
|
|
1903
|
+
}
|
|
1904
|
+
}, isObject(dlOptions, true) ? dlOptions : void 0);
|
|
1905
|
+
}
|
|
1906
|
+
// Set name for usage in tooltip and in data label.
|
|
1907
|
+
point.name = point.options.name || sets.join('∩');
|
|
1908
|
+
});
|
|
1909
|
+
};
|
|
1910
|
+
/**
|
|
1911
|
+
* A Venn diagram displays all possible logical relations between a
|
|
1912
|
+
* collection of different sets. The sets are represented by circles, and
|
|
1913
|
+
* the relation between the sets are displayed by the overlap or lack of
|
|
1914
|
+
* overlap between them. The venn diagram is a special case of Euler
|
|
1915
|
+
* diagrams, which can also be displayed by this series type.
|
|
1916
|
+
*
|
|
1917
|
+
* @sample {highcharts} highcharts/demo/venn-diagram/
|
|
1918
|
+
* Venn diagram
|
|
1919
|
+
* @sample {highcharts} highcharts/demo/euler-diagram/
|
|
1920
|
+
* Euler diagram
|
|
1921
|
+
*
|
|
1922
|
+
* @extends plotOptions.scatter
|
|
1923
|
+
* @excluding connectEnds, connectNulls, cropThreshold, dragDrop,
|
|
1924
|
+
* findNearestPointBy, getExtremesFromAll, jitter, label,
|
|
1925
|
+
* linecap, lineWidth, linkedTo, marker, negativeColor,
|
|
1926
|
+
* pointInterval, pointIntervalUnit, pointPlacement,
|
|
1927
|
+
* pointStart, softThreshold, stacking, steps, threshold,
|
|
1928
|
+
* xAxis, yAxis, zoneAxis, zones, dataSorting, boostThreshold,
|
|
1929
|
+
* boostBlending
|
|
1930
|
+
* @product highcharts
|
|
1931
|
+
* @requires modules/venn
|
|
1932
|
+
* @optionparent plotOptions.venn
|
|
1933
|
+
*/
|
|
1934
|
+
VennSeries.defaultOptions = merge(ScatterSeries.defaultOptions, {
|
|
1935
|
+
borderColor: "#cccccc" /* neutralColor20 */,
|
|
1936
|
+
borderDashStyle: 'solid',
|
|
1937
|
+
borderWidth: 1,
|
|
1938
|
+
brighten: 0,
|
|
1939
|
+
clip: false,
|
|
1940
|
+
colorByPoint: true,
|
|
1941
|
+
dataLabels: {
|
|
1942
|
+
enabled: true,
|
|
1943
|
+
verticalAlign: 'middle',
|
|
1944
|
+
formatter: function () {
|
|
1945
|
+
return this.point.name;
|
|
1946
|
+
}
|
|
1947
|
+
},
|
|
1948
|
+
/**
|
|
1949
|
+
* @ignore-option
|
|
1950
|
+
* @private
|
|
1951
|
+
*/
|
|
1952
|
+
inactiveOtherPoints: true,
|
|
1953
|
+
marker: false,
|
|
1954
|
+
opacity: 0.75,
|
|
1955
|
+
showInLegend: false,
|
|
1956
|
+
states: {
|
|
1957
|
+
/**
|
|
1958
|
+
* @excluding halo
|
|
1959
|
+
*/
|
|
1960
|
+
hover: {
|
|
1961
|
+
opacity: 1,
|
|
1962
|
+
borderColor: "#333333" /* neutralColor80 */
|
|
1963
|
+
},
|
|
1964
|
+
/**
|
|
1965
|
+
* @excluding halo
|
|
1966
|
+
*/
|
|
1967
|
+
select: {
|
|
1968
|
+
color: "#cccccc" /* neutralColor20 */,
|
|
1969
|
+
borderColor: "#000000" /* neutralColor100 */,
|
|
1970
|
+
animation: false
|
|
1971
|
+
},
|
|
1972
|
+
inactive: {
|
|
1973
|
+
opacity: 0.075
|
|
1974
|
+
}
|
|
1975
|
+
},
|
|
1976
|
+
tooltip: {
|
|
1977
|
+
pointFormat: '{point.name}: {point.value}'
|
|
1978
|
+
}
|
|
1979
|
+
});
|
|
1980
|
+
return VennSeries;
|
|
1981
|
+
}(ScatterSeries));
|
|
1982
|
+
extend(VennSeries.prototype, {
|
|
1983
|
+
axisTypes: [],
|
|
1984
|
+
directTouch: true,
|
|
1985
|
+
isCartesian: false,
|
|
1986
|
+
pointArrayMap: ['value'],
|
|
1987
|
+
pointClass: VennPoint,
|
|
1988
|
+
utils: VennUtils
|
|
1989
|
+
});
|
|
1990
|
+
SeriesRegistry.registerSeriesType('venn', VennSeries);
|
|
1991
|
+
/* *
|
|
1992
|
+
*
|
|
1993
|
+
* Default Export
|
|
1994
|
+
*
|
|
1995
|
+
* */
|
|
1996
|
+
/* *
|
|
1997
|
+
*
|
|
1998
|
+
* API Options
|
|
1999
|
+
*
|
|
2000
|
+
* */
|
|
2001
|
+
/**
|
|
2002
|
+
* A `venn` series. If the [type](#series.venn.type) option is
|
|
2003
|
+
* not specified, it is inherited from [chart.type](#chart.type).
|
|
2004
|
+
*
|
|
2005
|
+
* @extends series,plotOptions.venn
|
|
2006
|
+
* @excluding connectEnds, connectNulls, cropThreshold, dataParser, dataURL,
|
|
2007
|
+
* findNearestPointBy, getExtremesFromAll, label, linecap, lineWidth,
|
|
2008
|
+
* linkedTo, marker, negativeColor, pointInterval, pointIntervalUnit,
|
|
2009
|
+
* pointPlacement, pointStart, softThreshold, stack, stacking, steps,
|
|
2010
|
+
* threshold, xAxis, yAxis, zoneAxis, zones, dataSorting,
|
|
2011
|
+
* boostThreshold, boostBlending
|
|
2012
|
+
* @product highcharts
|
|
2013
|
+
* @requires modules/venn
|
|
2014
|
+
* @apioption series.venn
|
|
2015
|
+
*/
|
|
2016
|
+
/**
|
|
2017
|
+
* @type {Array<*>}
|
|
2018
|
+
* @extends series.scatter.data
|
|
2019
|
+
* @excluding marker, x, y
|
|
2020
|
+
* @product highcharts
|
|
2021
|
+
* @apioption series.venn.data
|
|
2022
|
+
*/
|
|
2023
|
+
/**
|
|
2024
|
+
* The name of the point. Used in data labels and tooltip. If name is not
|
|
2025
|
+
* defined then it will default to the joined values in
|
|
2026
|
+
* [sets](#series.venn.sets).
|
|
2027
|
+
*
|
|
2028
|
+
* @sample {highcharts} highcharts/demo/venn-diagram/
|
|
2029
|
+
* Venn diagram
|
|
2030
|
+
* @sample {highcharts} highcharts/demo/euler-diagram/
|
|
2031
|
+
* Euler diagram
|
|
2032
|
+
*
|
|
2033
|
+
* @type {number}
|
|
2034
|
+
* @since 7.0.0
|
|
2035
|
+
* @product highcharts
|
|
2036
|
+
* @apioption series.venn.data.name
|
|
2037
|
+
*/
|
|
2038
|
+
/**
|
|
2039
|
+
* The value of the point, resulting in a relative area of the circle, or area
|
|
2040
|
+
* of overlap between two sets in the venn or euler diagram.
|
|
2041
|
+
*
|
|
2042
|
+
* @sample {highcharts} highcharts/demo/venn-diagram/
|
|
2043
|
+
* Venn diagram
|
|
2044
|
+
* @sample {highcharts} highcharts/demo/euler-diagram/
|
|
2045
|
+
* Euler diagram
|
|
2046
|
+
*
|
|
2047
|
+
* @type {number}
|
|
2048
|
+
* @since 7.0.0
|
|
2049
|
+
* @product highcharts
|
|
2050
|
+
* @apioption series.venn.data.value
|
|
2051
|
+
*/
|
|
2052
|
+
/**
|
|
2053
|
+
* The set or sets the options will be applied to. If a single entry is defined,
|
|
2054
|
+
* then it will create a new set. If more than one entry is defined, then it
|
|
2055
|
+
* will define the overlap between the sets in the array.
|
|
2056
|
+
*
|
|
2057
|
+
* @sample {highcharts} highcharts/demo/venn-diagram/
|
|
2058
|
+
* Venn diagram
|
|
2059
|
+
* @sample {highcharts} highcharts/demo/euler-diagram/
|
|
2060
|
+
* Euler diagram
|
|
2061
|
+
*
|
|
2062
|
+
* @type {Array<string>}
|
|
2063
|
+
* @since 7.0.0
|
|
2064
|
+
* @product highcharts
|
|
2065
|
+
* @apioption series.venn.data.sets
|
|
2066
|
+
*/
|
|
2067
|
+
/**
|
|
2068
|
+
* @excluding halo
|
|
2069
|
+
* @apioption series.venn.states.hover
|
|
2070
|
+
*/
|
|
2071
|
+
/**
|
|
2072
|
+
* @excluding halo
|
|
2073
|
+
* @apioption series.venn.states.select
|
|
2074
|
+
*/
|
|
2075
|
+
''; // detach doclets above
|
|
2076
|
+
/* eslint-disable no-invalid-this */
|
|
2077
|
+
// Modify final series options.
|
|
2078
|
+
addEvent(VennSeries, 'afterSetOptions', function (e) {
|
|
2079
|
+
var options = e.options,
|
|
2080
|
+
states = options.states;
|
|
2081
|
+
if (this.is('venn')) {
|
|
2082
|
+
// Explicitly disable all halo options.
|
|
2083
|
+
Object.keys(states).forEach(function (state) {
|
|
2084
|
+
states[state].halo = false;
|
|
2085
|
+
});
|
|
2086
|
+
}
|
|
2087
|
+
});
|
|
2088
|
+
|
|
2089
|
+
return VennSeries;
|
|
2090
|
+
});
|
|
2091
|
+
_registerModule(_modules, 'masters/modules/venn.src.js', [], function () {
|
|
2092
|
+
|
|
2093
|
+
|
|
2094
|
+
});
|
|
2095
|
+
}));
|