highcharts 9.2.0 → 9.3.1
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/README.md +13 -6
- package/bower.json +1 -1
- package/css/annotations/popup.css +48 -8
- package/css/annotations/popup.scss +70 -22
- package/css/highcharts.css +45 -0
- package/css/highcharts.scss +40 -0
- package/css/themes/dark-unica.css +45 -0
- package/css/themes/grid-light.css +45 -0
- package/css/themes/sand-signika.css +45 -0
- package/es-modules/Accessibility/A11yI18n.js +273 -224
- package/es-modules/Accessibility/Accessibility.js +237 -128
- package/es-modules/Accessibility/AccessibilityComponent.js +79 -314
- package/es-modules/Accessibility/Components/AnnotationsA11y.js +10 -0
- package/es-modules/Accessibility/Components/ContainerComponent.js +52 -27
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +173 -104
- package/es-modules/Accessibility/Components/LegendComponent.js +97 -65
- package/es-modules/Accessibility/Components/MenuComponent.js +243 -149
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +170 -88
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +152 -115
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +133 -68
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +64 -27
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +38 -21
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +380 -325
- package/es-modules/Accessibility/Components/ZoomComponent.js +28 -20
- package/es-modules/Accessibility/FocusBorder.js +192 -147
- package/es-modules/Accessibility/HighContrastMode.js +78 -66
- package/es-modules/Accessibility/HighContrastTheme.js +10 -0
- package/es-modules/Accessibility/KeyboardNavigation.js +146 -71
- package/es-modules/Accessibility/KeyboardNavigationHandler.js +71 -44
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +11 -1
- package/es-modules/Accessibility/Options/LangOptions.js +1 -2
- package/es-modules/Accessibility/Options/Options.js +32 -17
- package/es-modules/Accessibility/ProxyElement.js +212 -0
- package/es-modules/Accessibility/ProxyProvider.js +305 -0
- package/es-modules/Accessibility/Utils/Announcer.js +15 -8
- package/es-modules/Accessibility/Utils/ChartUtilities.js +41 -16
- package/es-modules/Accessibility/Utils/DOMElementProvider.js +27 -15
- package/es-modules/Accessibility/Utils/EventProvider.js +27 -17
- package/es-modules/Accessibility/Utils/HTMLUtilities.js +125 -30
- package/es-modules/Core/Axis/Axis.js +37 -30
- package/es-modules/Core/Axis/AxisDefaults.js +35 -24
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +54 -4
- package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +5 -5
- package/es-modules/Core/Axis/OrdinalAxis.js +5 -13
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +4 -5
- package/es-modules/Core/Axis/ScrollbarAxis.js +10 -3
- package/es-modules/Core/Axis/TreeGridAxis.js +2 -2
- package/es-modules/Core/Axis/TreeGridTick.js +1 -2
- package/es-modules/Core/Chart/Chart.js +2 -3
- package/es-modules/Core/Chart/ChartDefaults.js +3 -4
- package/es-modules/Core/Chart/ChartNavigationComposition.js +92 -0
- package/es-modules/Core/Chart/MapChart.js +10 -22
- package/es-modules/Core/Chart/StockChart.js +3 -293
- package/es-modules/Core/Color/Palettes.js +22 -0
- package/es-modules/Core/DefaultOptions.js +19 -17
- package/es-modules/Core/Foundation.js +39 -31
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/HttpUtilities.js +3 -3
- package/es-modules/Core/Legend/Legend.js +7 -3
- package/es-modules/Core/Navigator.js +7 -8
- package/es-modules/Core/Pointer.js +39 -36
- package/es-modules/Core/Renderer/HTML/AST.js +3 -6
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +23 -18
- package/es-modules/Core/Renderer/SVG/SVGElement.js +3 -4
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +21 -18
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +17 -13
- package/es-modules/Core/ScrollbarDefaults.js +10 -9
- package/es-modules/Core/Series/DataLabel.js +2 -3
- package/es-modules/Core/Series/Point.js +5 -3
- package/es-modules/Core/Series/Series.js +156 -162
- package/es-modules/Core/Series/SeriesDefaults.js +3 -4
- package/es-modules/Core/Series/SeriesRegistry.js +1 -2
- package/es-modules/Core/Tooltip.js +44 -17
- package/es-modules/Core/Utilities.js +15 -7
- package/es-modules/Data/DataConverter.js +489 -0
- package/es-modules/Data/DataPromise.js +252 -0
- package/es-modules/Data/DataSeriesConverter.js +203 -0
- package/es-modules/Data/DataTable.js +1204 -0
- package/es-modules/Data/Modifiers/ChainModifier.js +299 -0
- package/es-modules/Data/Modifiers/DataModifier.js +303 -0
- package/es-modules/Data/Modifiers/GroupModifier.js +144 -0
- package/es-modules/Data/Modifiers/InvertModifier.js +254 -0
- package/es-modules/Data/Modifiers/RangeModifier.js +143 -0
- package/es-modules/Data/Modifiers/SeriesPointsModifier.js +110 -0
- package/es-modules/Data/Modifiers/SortModifier.js +249 -0
- package/es-modules/Data/Parsers/CSVParser.js +399 -0
- package/es-modules/Data/Parsers/DataParser.js +101 -0
- package/es-modules/Data/Parsers/GoogleSheetsParser.js +220 -0
- package/es-modules/Data/Parsers/HTMLTableParser.js +213 -0
- package/es-modules/Data/Stores/CSVStore.js +317 -0
- package/es-modules/Data/Stores/DataStore.js +276 -0
- package/es-modules/Data/Stores/GoogleSheetsStore.js +167 -0
- package/es-modules/Data/Stores/HTMLTableStore.js +351 -0
- package/es-modules/Extensions/Annotations/Annotations.js +61 -11
- package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +199 -0
- package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +7 -1
- package/es-modules/Extensions/Annotations/NavigationBindings.js +90 -28
- package/es-modules/Extensions/Annotations/Popup.js +479 -141
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +51 -2
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +1 -1
- package/es-modules/Extensions/Annotations/Types/Fibonacci.js +2 -3
- package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +219 -0
- package/es-modules/Extensions/Annotations/Types/InfinityLine.js +1 -1
- package/es-modules/Extensions/Annotations/Types/Measure.js +14 -8
- package/es-modules/Extensions/Annotations/Types/Pitchfork.js +5 -5
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +207 -0
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +3 -5
- package/es-modules/Extensions/Annotations/Types/VerticalLine.js +1 -1
- package/es-modules/Extensions/Boost/BoostOptions.js +2 -2
- package/es-modules/Extensions/Boost/BoostOverrides.js +3 -1
- package/es-modules/Extensions/Boost/WGLShader.js +4 -3
- package/es-modules/Extensions/BoostCanvas.js +1 -2
- package/es-modules/Extensions/CurrentDateIndication.js +2 -3
- package/es-modules/Extensions/Data.js +73 -67
- package/es-modules/Extensions/DataGrouping.js +33 -18
- package/es-modules/Extensions/Debugger/ErrorMessages.js +2 -2
- package/es-modules/Extensions/DownloadURL.js +2 -2
- package/es-modules/Extensions/DragPanes.js +1 -2
- package/es-modules/Extensions/Drilldown.js +2 -3
- package/es-modules/Extensions/Exporting/Exporting.js +12 -11
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +8 -15
- package/es-modules/Extensions/GeoJSON.js +39 -63
- package/es-modules/Extensions/MarkerClusters.js +115 -97
- package/es-modules/Extensions/NoDataToDisplay.js +1 -2
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +10 -9
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +2 -3
- package/es-modules/Extensions/Pane.js +5 -6
- package/es-modules/Extensions/Polar.js +1 -1
- package/es-modules/Extensions/RangeSelector.js +3 -4
- package/es-modules/Extensions/Sonification/ChartSonify.js +247 -637
- package/es-modules/Extensions/Sonification/Earcon.js +136 -102
- package/es-modules/Extensions/Sonification/Instrument.js +496 -426
- package/es-modules/Extensions/Sonification/MusicalFrequencies.js +10 -0
- package/es-modules/Extensions/Sonification/Options.js +10 -0
- package/es-modules/Extensions/Sonification/PointSonify.js +203 -152
- package/es-modules/Extensions/Sonification/SeriesSonify.js +459 -0
- package/es-modules/Extensions/Sonification/SignalHandler.js +124 -0
- package/es-modules/Extensions/Sonification/Sonification.js +26 -52
- package/es-modules/Extensions/Sonification/{Utilities.js → SonificationUtilities.js} +62 -84
- package/es-modules/Extensions/Sonification/Timeline.js +255 -567
- package/es-modules/Extensions/Sonification/TimelineEvent.js +158 -0
- package/es-modules/Extensions/Sonification/TimelinePath.js +311 -0
- package/es-modules/Maps/MapNavigation.js +27 -64
- package/es-modules/Maps/MapNavigationOptionsDefault.js +3 -0
- package/es-modules/Maps/MapPointer.js +7 -5
- package/es-modules/Maps/MapView.js +450 -0
- package/es-modules/Maps/MapViewOptionsDefault.js +97 -0
- package/es-modules/Maps/Projection.js +436 -0
- package/es-modules/Maps/ProjectionDefinition.js +9 -0
- package/es-modules/Maps/Projections/EqualEarth.js +42 -0
- package/es-modules/Maps/Projections/LambertConformalConic.js +52 -0
- package/es-modules/Maps/Projections/Miller.js +16 -0
- package/es-modules/Maps/Projections/Orthographic.js +26 -0
- package/es-modules/Maps/Projections/ProjectionRegistry.js +19 -0
- package/es-modules/Maps/Projections/WebMercator.js +24 -0
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +4 -5
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +2 -8
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +1 -2
- package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -2
- package/es-modules/Series/Bubble/BubbleLegendItem.js +3 -3
- package/es-modules/Series/Bubble/BubblePoint.js +5 -0
- package/es-modules/Series/Bubble/BubbleSeries.js +90 -50
- package/es-modules/Series/Candlestick/CandlestickSeries.js +10 -18
- package/es-modules/{Mixins/CenteredSeries.js → Series/CenteredUtilities.js} +45 -23
- package/es-modules/Series/ColorMapComposition.js +109 -0
- package/es-modules/Series/Column/ColumnDataLabel.js +5 -5
- package/es-modules/Series/Column/ColumnSeries.js +3 -4
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +6 -6
- package/es-modules/Series/DataModifyComposition.js +539 -0
- package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +2 -6
- package/es-modules/Series/DerivedComposition.js +137 -0
- package/es-modules/Series/DrawPointComposition.js +111 -0
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +2 -3
- package/es-modules/Series/ErrorBar/ErrorBarSeries.js +1 -2
- package/es-modules/Series/Flags/FlagsSeries.js +18 -25
- package/es-modules/Series/Funnel/FunnelSeries.js +6 -5
- package/es-modules/Series/Gantt/GanttSeries.js +0 -2
- package/es-modules/Series/Gauge/GaugePoint.js +1 -1
- package/es-modules/Series/Gauge/GaugeSeries.js +7 -7
- package/es-modules/Series/HLC/HLCPoint.js +55 -0
- package/es-modules/Series/HLC/HLCSeries.js +383 -0
- package/es-modules/Series/Heatmap/HeatmapPoint.js +3 -4
- package/es-modules/Series/Heatmap/HeatmapSeries.js +19 -6
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +2 -3
- package/es-modules/Series/Histogram/HistogramSeries.js +3 -7
- package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +2 -2
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +33 -34
- package/es-modules/Series/Line/LineSeries.js +1 -2
- package/es-modules/Series/Map/MapPoint.js +23 -16
- package/es-modules/Series/Map/MapSeries.js +271 -309
- package/es-modules/Series/MapBubble/MapBubblePoint.js +0 -3
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +10 -1
- package/es-modules/Series/MapLine/MapLineSeries.js +2 -0
- package/es-modules/Series/MapPoint/MapPointPoint.js +5 -1
- package/es-modules/Series/MapPoint/MapPointSeries.js +99 -14
- package/es-modules/Series/Networkgraph/Networkgraph.js +5 -5
- package/es-modules/{Mixins/Nodes.js → Series/NodesComposition.js} +76 -29
- package/es-modules/Series/OHLC/OHLCPoint.js +2 -6
- package/es-modules/Series/OHLC/OHLCSeries.js +55 -183
- package/es-modules/{Mixins/OnSeries.js → Series/OnSeriesComposition.js} +53 -21
- package/es-modules/Series/Organization/OrganizationSeries.js +2 -3
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +46 -6
- package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -7
- package/es-modules/Series/Pie/PieDataLabel.js +1 -2
- package/es-modules/Series/Pie/PieSeries.js +6 -7
- package/es-modules/Series/Sankey/SankeyPoint.js +0 -4
- package/es-modules/Series/Sankey/SankeySeries.js +89 -20
- package/es-modules/Series/Sunburst/SunburstPoint.js +2 -3
- package/es-modules/Series/Sunburst/SunburstSeries.js +4 -4
- package/es-modules/Series/Tilemap/TilemapPoint.js +2 -3
- package/es-modules/Series/Timeline/TimelineSeries.js +3 -4
- package/es-modules/{Mixins/TreeSeries.js → Series/TreeUtilities.js} +86 -76
- package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
- package/es-modules/Series/Treemap/TreemapSeries.js +8 -8
- package/es-modules/Series/Venn/VennPoint.js +16 -7
- package/es-modules/Series/Venn/VennSeries.js +5 -8
- package/es-modules/Series/Venn/VennUtils.js +550 -439
- package/es-modules/Series/Waterfall/WaterfallSeries.js +2 -3
- package/es-modules/Series/Windbarb/WindbarbSeries.js +23 -24
- package/es-modules/Series/Wordcloud/WordcloudPoint.js +8 -6
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +24 -20
- package/es-modules/Series/Wordcloud/WordcloudUtils.js +673 -484
- package/es-modules/Series/XRange/XRangePoint.js +1 -0
- package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +3 -6
- package/es-modules/Stock/Indicators/AO/AOIndicator.js +2 -3
- package/es-modules/Stock/Indicators/APO/APOIndicator.js +14 -20
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -6
- package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +11 -13
- package/es-modules/Stock/Indicators/ArrayUtilities.js +47 -0
- package/es-modules/Stock/Indicators/BB/BBIndicator.js +27 -11
- package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +6 -12
- package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +1 -11
- package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +19 -11
- package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +17 -11
- package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +1 -3
- package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +11 -9
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +8 -16
- package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +2 -2
- package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +2 -2
- package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +2 -2
- package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +2 -2
- package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +1 -2
- package/es-modules/{Mixins/MultipleLines.js → Stock/Indicators/MultipleLinesComposition.js} +136 -87
- package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +1 -3
- package/es-modules/Stock/Indicators/PC/PCIndicator.js +14 -13
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -11
- package/es-modules/Stock/Indicators/SMA/SMAComposition.js +0 -26
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +32 -49
- package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +0 -8
- package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +15 -8
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +4 -6
- package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +26 -11
- package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +6 -12
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +23 -7
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +2 -3
- package/es-modules/Stock/StockToolsBindings.js +144 -42
- package/es-modules/Stock/StockToolsGui.js +409 -15
- package/es-modules/masters/highcharts-3d.src.js +1 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +1 -1
- package/es-modules/masters/highcharts.src.js +1 -1
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/ema.src.js +4 -10
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +2 -2
- package/es-modules/masters/indicators/indicators.src.js +2 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/es-modules/masters/indicators/klinger.src.js +1 -1
- package/es-modules/masters/indicators/macd.src.js +1 -1
- package/es-modules/masters/indicators/mfi.src.js +1 -1
- package/es-modules/masters/indicators/momentum.src.js +1 -1
- package/es-modules/masters/indicators/natr.src.js +1 -1
- package/es-modules/masters/indicators/obv.src.js +1 -1
- package/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/es-modules/masters/indicators/ppo.src.js +1 -1
- package/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/es-modules/masters/indicators/psar.src.js +1 -1
- package/es-modules/masters/indicators/regressions.src.js +1 -1
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +16 -2
- package/es-modules/masters/modules/annotations-advanced.src.js +3 -1
- package/es-modules/masters/modules/annotations.src.js +1 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +1 -1
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data.src.js +6 -3
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +1 -1
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +1 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +1 -1
- package/es-modules/masters/modules/exporting.src.js +1 -1
- package/es-modules/masters/modules/full-screen.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +1 -1
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -2
- package/es-modules/masters/modules/heikinashi.src.js +1 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/lollipop.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +1 -3
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +1 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
- package/es-modules/masters/modules/oldie.src.js +1 -1
- package/es-modules/masters/modules/organization.src.js +1 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
- package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
- package/es-modules/masters/modules/pareto.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +1 -1
- package/es-modules/masters/modules/pattern-fill.src.js +1 -1
- package/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/es-modules/masters/modules/pyramid3d.src.js +1 -1
- package/es-modules/masters/modules/sankey.src.js +1 -1
- package/es-modules/masters/modules/series-label.src.js +1 -1
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +33 -2
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +1 -1
- package/es-modules/masters/modules/stock.src.js +4 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +1 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +1 -1
- package/es-modules/masters/themes/avocado.src.js +1 -1
- package/es-modules/masters/themes/dark-blue.src.js +1 -1
- package/es-modules/masters/themes/dark-green.src.js +1 -1
- package/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/es-modules/masters/themes/gray.src.js +1 -1
- package/es-modules/masters/themes/grid-light.src.js +1 -1
- package/es-modules/masters/themes/grid.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
- package/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/es-modules/masters/themes/skies.src.js +1 -1
- package/es-modules/masters/themes/sunset.src.js +1 -1
- package/highcharts-3d.js +1 -1
- package/highcharts-3d.src.js +1 -1
- package/highcharts-gantt.js +799 -801
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +793 -755
- package/highcharts-more.js +194 -193
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.js +208 -120
- package/highcharts.d.ts +9814 -4231
- package/highcharts.js +585 -587
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +9814 -4231
- package/highcharts.src.js +626 -603
- package/highmaps.js +728 -707
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +2824 -1613
- package/highstock.js +788 -782
- package/highstock.js.map +1 -1
- package/highstock.src.js +1913 -1284
- package/indicators/acceleration-bands.js +10 -9
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.js +156 -112
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.src.js +1 -1
- package/indicators/ao.js +6 -6
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +4 -4
- package/indicators/apo.js +5 -6
- package/indicators/apo.js.map +1 -1
- package/indicators/apo.src.js +16 -84
- package/indicators/aroon-oscillator.js +9 -9
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.js +160 -177
- package/indicators/aroon.js +9 -9
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.js +156 -112
- package/indicators/atr.js +1 -1
- package/indicators/atr.src.js +1 -1
- package/indicators/bollinger-bands.js +10 -9
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.js +180 -117
- package/indicators/cci.js +1 -1
- package/indicators/cci.src.js +1 -1
- package/indicators/chaikin.js +8 -9
- package/indicators/chaikin.js.map +1 -1
- package/indicators/chaikin.src.js +8 -76
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.src.js +1 -1
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.src.js +1 -1
- package/indicators/dema.js +5 -6
- package/indicators/dema.js.map +1 -1
- package/indicators/dema.src.js +3 -75
- package/indicators/disparity-index.js +6 -7
- package/indicators/disparity-index.js.map +1 -1
- package/indicators/disparity-index.src.js +19 -74
- package/indicators/dmi.js +11 -11
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +173 -116
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.src.js +1 -1
- package/indicators/ema.js +1 -13
- package/indicators/ema.js.map +1 -1
- package/indicators/ema.src.js +7 -188
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/indicators/indicators-all.js +197 -203
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.js +677 -743
- package/indicators/indicators.js +12 -12
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +213 -143
- package/indicators/keltner-channels.js +10 -10
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.js +164 -118
- package/indicators/klinger.js +12 -13
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +161 -184
- package/indicators/macd.js +2 -2
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +2 -3
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.src.js +1 -1
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.src.js +1 -1
- package/indicators/natr.js +3 -3
- package/indicators/natr.js.map +1 -1
- package/indicators/natr.src.js +2 -4
- package/indicators/obv.js +1 -1
- package/indicators/obv.src.js +1 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.src.js +1 -1
- package/indicators/ppo.js +5 -6
- package/indicators/ppo.js.map +1 -1
- package/indicators/ppo.src.js +3 -75
- package/indicators/price-channel.js +9 -9
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.js +207 -168
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.src.js +1 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.src.js +1 -1
- package/indicators/regressions.js +1 -1
- package/indicators/regressions.src.js +9 -9
- package/indicators/roc.js +1 -1
- package/indicators/roc.src.js +1 -1
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.src.js +1 -1
- package/indicators/slow-stochastic.js +5 -6
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +2 -72
- package/indicators/stochastic.js +10 -10
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.js +209 -164
- package/indicators/supertrend.js +10 -10
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +6 -7
- package/indicators/tema.js +6 -7
- package/indicators/tema.js.map +1 -1
- package/indicators/tema.src.js +28 -75
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.src.js +1 -1
- package/indicators/trix.js +4 -5
- package/indicators/trix.js.map +1 -1
- package/indicators/trix.src.js +8 -76
- package/indicators/volume-by-price.js +16 -16
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +24 -7
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.src.js +1 -1
- package/indicators/williams-r.js +5 -6
- package/indicators/williams-r.js.map +1 -1
- package/indicators/williams-r.src.js +41 -51
- package/indicators/wma.js +1 -1
- package/indicators/wma.src.js +1 -1
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.src.js +1 -1
- package/modules/accessibility.d.ts +5 -0
- package/modules/accessibility.js +237 -216
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.d.ts +5 -0
- package/modules/accessibility.src.js +7400 -6078
- package/modules/annotations-advanced.d.ts +30 -0
- package/modules/annotations-advanced.js +192 -165
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.d.ts +30 -0
- package/modules/annotations-advanced.src.js +1604 -332
- package/modules/annotations.js +121 -106
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +981 -238
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +15 -15
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +3 -3
- package/modules/boost.js +79 -79
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +10 -9
- package/modules/broken-axis.js +1 -1
- package/modules/broken-axis.src.js +1 -1
- package/modules/bullet.js +1 -1
- package/modules/bullet.src.js +1 -1
- package/modules/coloraxis.js +24 -24
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +69 -98
- package/modules/current-date-indicator.js +4 -4
- package/modules/current-date-indicator.js.map +1 -1
- package/modules/current-date-indicator.src.js +4 -4
- package/modules/cylinder.js +1 -1
- package/modules/cylinder.src.js +1 -1
- package/modules/data.js +32 -32
- package/modules/data.js.map +1 -1
- package/modules/data.src.js +85 -88
- package/modules/datagrouping.js +20 -20
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.js +35 -19
- package/modules/debugger.js +3 -3
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +3 -3
- package/modules/dependency-wheel.js +11 -11
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +4 -7
- package/modules/dotplot.js +1 -1
- package/modules/dotplot.src.js +1 -1
- package/modules/drag-panes.js +8 -8
- package/modules/drag-panes.js.map +1 -1
- package/modules/drag-panes.src.js +3 -3
- package/modules/draggable-points.js +1 -1
- package/modules/draggable-points.src.js +1 -1
- package/modules/drilldown.js +24 -24
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.js +4 -4
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.js +4 -4
- package/modules/export-data.js +1 -1
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +3 -3
- package/modules/exporting.js +39 -38
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.js +102 -72
- package/modules/full-screen.js +1 -1
- package/modules/full-screen.src.js +1 -1
- package/modules/funnel.js +12 -12
- package/modules/funnel.js.map +1 -1
- package/modules/funnel.src.js +9 -6
- package/modules/funnel3d.js +1 -1
- package/modules/funnel3d.src.js +1 -1
- package/modules/gantt.js +217 -218
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +167 -152
- package/modules/grid-axis.js +1 -1
- package/modules/grid-axis.src.js +1 -1
- package/modules/heatmap.js +39 -39
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +177 -162
- package/modules/heikinashi.js +1 -1
- package/modules/heikinashi.src.js +4 -4
- package/modules/histogram-bellcurve.js +13 -13
- package/modules/histogram-bellcurve.js.map +1 -1
- package/modules/histogram-bellcurve.src.js +91 -86
- package/modules/hollowcandlestick.js +9 -9
- package/modules/hollowcandlestick.js.map +1 -1
- package/modules/hollowcandlestick.src.js +37 -37
- package/modules/item-series.js +1 -1
- package/modules/item-series.src.js +1 -1
- package/modules/lollipop.js +1 -1
- package/modules/lollipop.src.js +1 -1
- package/modules/map.d.ts +136 -14
- package/modules/map.js +144 -122
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +136 -14
- package/modules/map.src.js +2227 -1039
- package/modules/marker-clusters.js +36 -36
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +173 -142
- package/modules/networkgraph.d.ts +12 -1
- package/modules/networkgraph.js +49 -49
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.d.ts +12 -1
- package/modules/networkgraph.src.js +91 -43
- package/modules/no-data-to-display.js +5 -5
- package/modules/no-data-to-display.js.map +1 -1
- package/modules/no-data-to-display.src.js +3 -3
- package/modules/offline-exporting.js +18 -17
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +14 -14
- package/modules/oldie-polyfills.js +1 -1
- package/modules/oldie-polyfills.src.js +1 -1
- package/modules/oldie.js +26 -26
- package/modules/oldie.js.map +1 -1
- package/modules/oldie.src.js +4 -4
- package/modules/organization.js +13 -13
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +4 -4
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +1 -1
- package/modules/parallel-coordinates.src.js +1 -1
- package/modules/pareto.js +7 -7
- package/modules/pareto.js.map +1 -1
- package/modules/pareto.src.js +89 -78
- package/modules/pathfinder.js +1 -1
- package/modules/pathfinder.src.js +1 -1
- package/modules/pattern-fill.js +1 -1
- package/modules/pattern-fill.src.js +1 -1
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.src.js +1 -1
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.src.js +1 -1
- package/modules/sankey.d.ts +12 -1
- package/modules/sankey.js +29 -29
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.d.ts +12 -1
- package/modules/sankey.src.js +300 -176
- package/modules/series-label.js +1 -1
- package/modules/series-label.src.js +1 -1
- package/modules/solid-gauge.js +1 -1
- package/modules/solid-gauge.src.js +1 -1
- package/modules/sonification.js +59 -55
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.js +3034 -2553
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.js +178 -163
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +1028 -144
- package/modules/stock.d.ts +39 -6
- package/modules/stock.js +204 -196
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.d.ts +39 -6
- package/modules/stock.src.js +1667 -1061
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +61 -60
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +329 -266
- package/modules/tilemap.js +17 -17
- package/modules/tilemap.js.map +1 -1
- package/modules/tilemap.src.js +3 -4
- package/modules/timeline.js +18 -18
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +5 -5
- package/modules/treegrid.js +56 -57
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +126 -120
- package/modules/treemap.js +41 -41
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +319 -254
- package/modules/variable-pie.js +1 -1
- package/modules/variable-pie.src.js +1 -1
- package/modules/variwide.js +1 -1
- package/modules/variwide.src.js +1 -1
- package/modules/vector.js +1 -1
- package/modules/vector.src.js +1 -1
- package/modules/venn.js +31 -31
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +731 -721
- package/modules/windbarb.js +15 -15
- package/modules/windbarb.js.map +1 -1
- package/modules/windbarb.src.js +90 -62
- package/modules/wordcloud.js +23 -24
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +897 -949
- package/modules/xrange.js +2 -2
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +2 -1
- package/package.json +1 -1
- package/themes/avocado.js +1 -1
- package/themes/avocado.src.js +1 -1
- package/themes/dark-blue.js +1 -1
- package/themes/dark-blue.src.js +1 -1
- package/themes/dark-green.js +1 -1
- package/themes/dark-green.src.js +1 -1
- package/themes/dark-unica.js +1 -1
- package/themes/dark-unica.src.js +1 -1
- package/themes/gray.js +1 -1
- package/themes/gray.src.js +1 -1
- package/themes/grid-light.js +1 -1
- package/themes/grid-light.src.js +1 -1
- package/themes/grid.js +1 -1
- package/themes/grid.src.js +1 -1
- package/themes/high-contrast-dark.js +1 -1
- package/themes/high-contrast-dark.src.js +1 -1
- package/themes/high-contrast-light.js +1 -1
- package/themes/high-contrast-light.src.js +1 -1
- package/themes/sand-signika.js +1 -1
- package/themes/sand-signika.src.js +1 -1
- package/themes/skies.js +1 -1
- package/themes/skies.src.js +1 -1
- package/themes/sunset.js +1 -1
- package/themes/sunset.src.js +1 -1
- package/es-modules/Core/Axis/MapAxis.js +0 -157
- package/es-modules/Core/Color/Palette.js +0 -82
- package/es-modules/Extensions/Sonification/InstrumentDefinitions.js +0 -32
- package/es-modules/Mixins/ColorMapSeries.js +0 -82
- package/es-modules/Mixins/ColorSeries.js +0 -77
- package/es-modules/Mixins/DerivedSeries.js +0 -118
- package/es-modules/Mixins/DrawPoint.js +0 -81
- package/es-modules/Mixins/IndicatorRequired.js +0 -56
- package/es-modules/Mixins/Navigation.js +0 -54
- package/es-modules/Mixins/NelderMead.js +0 -132
- package/es-modules/Mixins/Polygon.js +0 -259
- package/es-modules/Mixins/ReduceArray.js +0 -54
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v9.
|
|
2
|
+
* @license Highcharts JS v9.3.1 (2021-11-05)
|
|
3
3
|
*
|
|
4
4
|
* Marker clusters module for Highcharts
|
|
5
5
|
*
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
obj[path] = fn.apply(null, args);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
_registerModule(_modules, 'Extensions/MarkerClusters.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Chart/Chart.js'], _modules['Core/DefaultOptions.js'], _modules['Core/
|
|
31
|
+
_registerModule(_modules, 'Extensions/MarkerClusters.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Chart/Chart.js'], _modules['Core/DefaultOptions.js'], _modules['Core/Series/Point.js'], _modules['Core/Series/Series.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Renderer/SVG/SVGRenderer.js'], _modules['Core/Utilities.js'], _modules['Core/Axis/Axis.js']], function (A, Chart, D, Point, Series, SeriesRegistry, SVGRenderer, U, Axis) {
|
|
32
32
|
/* *
|
|
33
33
|
*
|
|
34
34
|
* Marker clusters module.
|
|
@@ -71,11 +71,11 @@
|
|
|
71
71
|
''; // detach doclets from following code
|
|
72
72
|
/* eslint-disable no-invalid-this */
|
|
73
73
|
var Scatter = seriesTypes.scatter,
|
|
74
|
-
baseGeneratePoints = Series.prototype.generatePoints
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
baseGeneratePoints = Series.prototype.generatePoints;
|
|
75
|
+
// Points that ids are included in the oldPointsStateId array
|
|
76
|
+
// are hidden before animation. Other ones are destroyed.
|
|
77
|
+
var oldPointsStateId = [],
|
|
78
|
+
stateIdCounter = 0;
|
|
79
79
|
/**
|
|
80
80
|
* Options for marker clusters, the concept of sampling the data
|
|
81
81
|
* values into larger blocks in order to ease readability and
|
|
@@ -282,7 +282,7 @@
|
|
|
282
282
|
/** @internal */
|
|
283
283
|
lineWidth: 0,
|
|
284
284
|
/** @internal */
|
|
285
|
-
lineColor:
|
|
285
|
+
lineColor: "#ffffff" /* backgroundColor */
|
|
286
286
|
},
|
|
287
287
|
/**
|
|
288
288
|
* Fires when the cluster point is clicked and `drillToCluster` is enabled.
|
|
@@ -401,6 +401,32 @@
|
|
|
401
401
|
}
|
|
402
402
|
});
|
|
403
403
|
// Utils.
|
|
404
|
+
var pixelsToValues = function (series,
|
|
405
|
+
pos) {
|
|
406
|
+
var chart = series.chart,
|
|
407
|
+
xAxis = series.xAxis,
|
|
408
|
+
yAxis = series.yAxis;
|
|
409
|
+
if (chart.mapView) {
|
|
410
|
+
return chart.mapView.pixelsToProjectedUnits(pos);
|
|
411
|
+
}
|
|
412
|
+
return {
|
|
413
|
+
x: xAxis ? xAxis.toValue(pos.x) : 0,
|
|
414
|
+
y: yAxis ? yAxis.toValue(pos.y) : 0
|
|
415
|
+
};
|
|
416
|
+
};
|
|
417
|
+
var valuesToPixels = function (series,
|
|
418
|
+
pos) {
|
|
419
|
+
var chart = series.chart,
|
|
420
|
+
xAxis = series.xAxis,
|
|
421
|
+
yAxis = series.yAxis;
|
|
422
|
+
if (chart.mapView) {
|
|
423
|
+
return chart.mapView.projectedUnitsToPixels(pos);
|
|
424
|
+
}
|
|
425
|
+
return {
|
|
426
|
+
x: xAxis ? xAxis.toPixels(pos.x) : 0,
|
|
427
|
+
y: yAxis ? yAxis.toPixels(pos.y) : 0
|
|
428
|
+
};
|
|
429
|
+
};
|
|
404
430
|
/* eslint-disable require-jsdoc */
|
|
405
431
|
function getClusterPosition(points) {
|
|
406
432
|
var pointsLen = points.length,
|
|
@@ -521,19 +547,18 @@
|
|
|
521
547
|
};
|
|
522
548
|
Scatter.prototype.animateClusterPoint = function (clusterObj) {
|
|
523
549
|
var series = this,
|
|
524
|
-
xAxis = series.xAxis,
|
|
525
|
-
yAxis = series.yAxis,
|
|
526
550
|
chart = series.chart,
|
|
551
|
+
mapView = chart.mapView,
|
|
527
552
|
clusterOptions = series.options.cluster,
|
|
528
553
|
animation = animObject((clusterOptions || {}).animation),
|
|
529
554
|
animDuration = animation.duration || 500,
|
|
530
555
|
pointsState = (series.markerClusterInfo || {}).pointsState,
|
|
531
556
|
newState = (pointsState || {}).newState,
|
|
532
557
|
oldState = (pointsState || {}).oldState,
|
|
533
|
-
|
|
558
|
+
oldPoints = [];
|
|
559
|
+
var parentId,
|
|
534
560
|
oldPointObj,
|
|
535
561
|
newPointObj,
|
|
536
|
-
oldPoints = [],
|
|
537
562
|
newPointBBox,
|
|
538
563
|
offset = 0,
|
|
539
564
|
newX = 0,
|
|
@@ -542,8 +567,10 @@
|
|
|
542
567
|
isCbHandled = false;
|
|
543
568
|
if (oldState && newState) {
|
|
544
569
|
newPointObj = newState[clusterObj.stateId];
|
|
545
|
-
|
|
546
|
-
|
|
570
|
+
var newPos = valuesToPixels(series,
|
|
571
|
+
newPointObj);
|
|
572
|
+
newX = newPos.x - (mapView ? 0 : chart.plotLeft);
|
|
573
|
+
newY = newPos.y - (mapView ? 0 : chart.plotTop);
|
|
547
574
|
// Point has one ancestor.
|
|
548
575
|
if (newPointObj.parentsId.length === 1) {
|
|
549
576
|
parentId = (newState || {})[clusterObj.stateId].parentsId[0];
|
|
@@ -656,14 +683,14 @@
|
|
|
656
683
|
yAxis = series.yAxis,
|
|
657
684
|
plotLeft = 0,
|
|
658
685
|
plotTop = 0;
|
|
659
|
-
if (series.dataMinX && series.dataMaxX) {
|
|
686
|
+
if (xAxis && series.dataMinX && series.dataMaxX) {
|
|
660
687
|
plotLeft = xAxis.reversed ?
|
|
661
688
|
xAxis.toPixels(series.dataMaxX) : xAxis.toPixels(series.dataMinX);
|
|
662
689
|
}
|
|
663
690
|
else {
|
|
664
691
|
plotLeft = chart.plotLeft;
|
|
665
692
|
}
|
|
666
|
-
if (series.dataMinY && series.dataMaxY) {
|
|
693
|
+
if (yAxis && series.dataMinY && series.dataMaxY) {
|
|
667
694
|
plotTop = yAxis.reversed ?
|
|
668
695
|
yAxis.toPixels(series.dataMinY) : yAxis.toPixels(series.dataMaxY);
|
|
669
696
|
}
|
|
@@ -675,22 +702,28 @@
|
|
|
675
702
|
Scatter.prototype.getScaledGridSize = function (options) {
|
|
676
703
|
var series = this,
|
|
677
704
|
xAxis = series.xAxis,
|
|
678
|
-
|
|
679
|
-
k = 1,
|
|
680
|
-
divider = 1,
|
|
705
|
+
mapView = this.chart.mapView,
|
|
681
706
|
processedGridSize = options.processedGridSize ||
|
|
682
|
-
clusterDefaultOptions.layoutAlgorithm.gridSize
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
707
|
+
clusterDefaultOptions.layoutAlgorithm.gridSize;
|
|
708
|
+
var search = true,
|
|
709
|
+
k = 1,
|
|
710
|
+
divider = 1;
|
|
686
711
|
if (!series.gridValueSize) {
|
|
687
|
-
|
|
712
|
+
if (mapView) {
|
|
713
|
+
series.gridValueSize = processedGridSize / mapView.getScale();
|
|
714
|
+
}
|
|
715
|
+
else {
|
|
716
|
+
series.gridValueSize = Math.abs(xAxis.toValue(processedGridSize) - xAxis.toValue(0));
|
|
717
|
+
}
|
|
688
718
|
}
|
|
689
|
-
gridSize =
|
|
690
|
-
|
|
719
|
+
var gridSize = mapView ?
|
|
720
|
+
series.gridValueSize * mapView.getScale() :
|
|
721
|
+
xAxis.toPixels(series.gridValueSize) - xAxis.toPixels(0);
|
|
722
|
+
var scale = +(processedGridSize / gridSize).toFixed(14);
|
|
691
723
|
// Find the level and its divider.
|
|
692
724
|
while (search && scale !== 1) {
|
|
693
|
-
level = Math.pow(2,
|
|
725
|
+
var level = Math.pow(2,
|
|
726
|
+
k);
|
|
694
727
|
if (scale > 0.75 && scale < 1.25) {
|
|
695
728
|
search = false;
|
|
696
729
|
}
|
|
@@ -707,105 +740,97 @@
|
|
|
707
740
|
return (processedGridSize / divider) / scale;
|
|
708
741
|
};
|
|
709
742
|
Scatter.prototype.getRealExtremes = function () {
|
|
710
|
-
var
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
if (realMinY > realMaxY) {
|
|
726
|
-
_b = [realMinY, realMaxY], realMaxY = _b[0], realMinY = _b[1];
|
|
727
|
-
}
|
|
743
|
+
var chart = this.chart,
|
|
744
|
+
x = chart.mapView ? 0 : chart.plotLeft,
|
|
745
|
+
y = chart.mapView ? 0 : chart.plotTop,
|
|
746
|
+
p1 = pixelsToValues(this, {
|
|
747
|
+
x: x,
|
|
748
|
+
y: y
|
|
749
|
+
}),
|
|
750
|
+
p2 = pixelsToValues(this, {
|
|
751
|
+
x: x + chart.plotWidth,
|
|
752
|
+
y: x + chart.plotHeight
|
|
753
|
+
}),
|
|
754
|
+
realMinX = p1.x,
|
|
755
|
+
realMaxX = p2.x,
|
|
756
|
+
realMinY = p1.y,
|
|
757
|
+
realMaxY = p2.y;
|
|
728
758
|
return {
|
|
729
|
-
minX: realMinX,
|
|
730
|
-
maxX: realMaxX,
|
|
731
|
-
minY: realMinY,
|
|
732
|
-
maxY: realMaxY
|
|
759
|
+
minX: Math.min(realMinX, realMaxX),
|
|
760
|
+
maxX: Math.max(realMinX, realMaxX),
|
|
761
|
+
minY: Math.min(realMinY, realMaxY),
|
|
762
|
+
maxY: Math.max(realMinY, realMaxY)
|
|
733
763
|
};
|
|
734
764
|
};
|
|
735
765
|
Scatter.prototype.onDrillToCluster = function (event) {
|
|
736
766
|
var point = event.point || event.target;
|
|
737
767
|
point.firePointEvent('drillToCluster', event, function (e) {
|
|
738
|
-
var _a,
|
|
739
|
-
_b;
|
|
740
768
|
var point = e.point || e.target,
|
|
741
769
|
series = point.series,
|
|
742
770
|
xAxis = point.series.xAxis,
|
|
743
771
|
yAxis = point.series.yAxis,
|
|
744
772
|
chart = point.series.chart,
|
|
773
|
+
mapView = chart.mapView,
|
|
745
774
|
clusterOptions = series.options.cluster,
|
|
746
|
-
drillToCluster = (clusterOptions || {}).drillToCluster
|
|
747
|
-
offsetX,
|
|
748
|
-
offsetY,
|
|
749
|
-
sortedDataX,
|
|
750
|
-
sortedDataY,
|
|
751
|
-
minX,
|
|
752
|
-
minY,
|
|
753
|
-
maxX,
|
|
754
|
-
maxY;
|
|
775
|
+
drillToCluster = (clusterOptions || {}).drillToCluster;
|
|
755
776
|
if (drillToCluster && point.clusteredData) {
|
|
756
|
-
sortedDataX = point.clusteredData
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
777
|
+
var sortedDataX = point.clusteredData
|
|
778
|
+
.map(function (data) { return data.x; })
|
|
779
|
+
.sort(function (a,
|
|
780
|
+
b) { return a - b; }),
|
|
781
|
+
sortedDataY = point.clusteredData
|
|
782
|
+
.map(function (data) { return data.y; })
|
|
783
|
+
.sort(function (a,
|
|
784
|
+
b) { return a - b; }),
|
|
785
|
+
minX = sortedDataX[0],
|
|
786
|
+
maxX = sortedDataX[sortedDataX.length - 1],
|
|
787
|
+
minY = sortedDataY[0],
|
|
788
|
+
maxY = sortedDataY[sortedDataY.length - 1],
|
|
789
|
+
offsetX = Math.abs((maxX - minX) * 0.1),
|
|
790
|
+
offsetY = Math.abs((maxY - minY) * 0.1),
|
|
791
|
+
x1 = Math.min(minX,
|
|
792
|
+
maxX) - offsetX,
|
|
793
|
+
x2 = Math.max(minX,
|
|
794
|
+
maxX) + offsetX,
|
|
795
|
+
y1 = Math.min(minY,
|
|
796
|
+
maxY) - offsetY,
|
|
797
|
+
y2 = Math.max(minY,
|
|
798
|
+
maxY) + offsetY;
|
|
799
|
+
if (mapView) {
|
|
800
|
+
mapView.fitToBounds({ x1: x1, x2: x2, y1: y1, y2: y2 });
|
|
773
801
|
}
|
|
774
|
-
if (
|
|
775
|
-
|
|
802
|
+
else if (xAxis && yAxis) {
|
|
803
|
+
chart.pointer.zoomX = true;
|
|
804
|
+
chart.pointer.zoomY = true;
|
|
805
|
+
chart.zoom({
|
|
806
|
+
originalEvent: e,
|
|
807
|
+
xAxis: [{
|
|
808
|
+
axis: xAxis,
|
|
809
|
+
min: x1,
|
|
810
|
+
max: x2
|
|
811
|
+
}],
|
|
812
|
+
yAxis: [{
|
|
813
|
+
axis: yAxis,
|
|
814
|
+
min: y1,
|
|
815
|
+
max: y2
|
|
816
|
+
}]
|
|
817
|
+
});
|
|
776
818
|
}
|
|
777
|
-
chart.zoom({
|
|
778
|
-
originalEvent: e,
|
|
779
|
-
xAxis: [{
|
|
780
|
-
axis: xAxis,
|
|
781
|
-
min: minX - offsetX,
|
|
782
|
-
max: maxX + offsetX
|
|
783
|
-
}],
|
|
784
|
-
yAxis: [{
|
|
785
|
-
axis: yAxis,
|
|
786
|
-
min: minY - offsetY,
|
|
787
|
-
max: maxY + offsetY
|
|
788
|
-
}]
|
|
789
|
-
});
|
|
790
819
|
}
|
|
791
820
|
});
|
|
792
821
|
};
|
|
793
822
|
Scatter.prototype.getClusterDistancesFromPoint = function (clusters, pointX, pointY) {
|
|
794
|
-
var
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
pointClusterDistance.push({
|
|
806
|
-
clusterIndex: j,
|
|
807
|
-
distance: distance
|
|
808
|
-
});
|
|
823
|
+
var pointClusterDistance = [];
|
|
824
|
+
for (var clusterIndex = 0; clusterIndex < clusters.length; clusterIndex++) {
|
|
825
|
+
var p1 = valuesToPixels(this, { x: pointX,
|
|
826
|
+
y: pointY }),
|
|
827
|
+
p2 = valuesToPixels(this, {
|
|
828
|
+
x: clusters[clusterIndex].posX,
|
|
829
|
+
y: clusters[clusterIndex].posY
|
|
830
|
+
}),
|
|
831
|
+
distance = Math.sqrt(Math.pow(p1.x - p2.x, 2) +
|
|
832
|
+
Math.pow(p1.y - p2.y, 2));
|
|
833
|
+
pointClusterDistance.push({ clusterIndex: clusterIndex, distance: distance });
|
|
809
834
|
}
|
|
810
835
|
return pointClusterDistance.sort(function (a, b) { return a.distance - b.distance; });
|
|
811
836
|
};
|
|
@@ -862,23 +887,21 @@
|
|
|
862
887
|
};
|
|
863
888
|
Scatter.prototype.markerClusterAlgorithms = {
|
|
864
889
|
grid: function (dataX, dataY, dataIndexes, options) {
|
|
865
|
-
var
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
grid = {},
|
|
869
|
-
gridOffset = series.getGridOffset(),
|
|
870
|
-
scaledGridSize,
|
|
871
|
-
x,
|
|
890
|
+
var grid = {},
|
|
891
|
+
gridOffset = this.getGridOffset();
|
|
892
|
+
var x,
|
|
872
893
|
y,
|
|
873
894
|
gridX,
|
|
874
895
|
gridY,
|
|
875
896
|
key,
|
|
876
897
|
i;
|
|
877
898
|
// drawGridLines(series, options);
|
|
878
|
-
scaledGridSize =
|
|
899
|
+
var scaledGridSize = this.getScaledGridSize(options);
|
|
879
900
|
for (i = 0; i < dataX.length; i++) {
|
|
880
|
-
|
|
881
|
-
|
|
901
|
+
var p = valuesToPixels(this, { x: dataX[i],
|
|
902
|
+
y: dataY[i] });
|
|
903
|
+
x = p.x - gridOffset.plotLeft;
|
|
904
|
+
y = p.y - gridOffset.plotTop;
|
|
882
905
|
gridX = Math.floor(x / scaledGridSize);
|
|
883
906
|
gridY = Math.floor(y / scaledGridSize);
|
|
884
907
|
key = gridY + '-' + gridX;
|
|
@@ -1042,10 +1065,12 @@
|
|
|
1042
1065
|
cluster.pointsOutside = [];
|
|
1043
1066
|
cluster.pointsInside = [];
|
|
1044
1067
|
cluster.data.forEach(function (dataPoint) {
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1068
|
+
var dataPointPx = valuesToPixels(series,
|
|
1069
|
+
dataPoint),
|
|
1070
|
+
clusterPx = valuesToPixels(series,
|
|
1071
|
+
cluster);
|
|
1072
|
+
distance = Math.sqrt(Math.pow(dataPointPx.x - clusterPx.x, 2) +
|
|
1073
|
+
Math.pow(dataPointPx.y - clusterPx.y, 2));
|
|
1049
1074
|
if (cluster.clusterZone &&
|
|
1050
1075
|
cluster.clusterZone.marker &&
|
|
1051
1076
|
cluster.clusterZone.marker.radius) {
|
|
@@ -1084,8 +1109,6 @@
|
|
|
1084
1109
|
};
|
|
1085
1110
|
Scatter.prototype.preventClusterCollisions = function (props) {
|
|
1086
1111
|
var series = this,
|
|
1087
|
-
xAxis = series.xAxis,
|
|
1088
|
-
yAxis = series.yAxis,
|
|
1089
1112
|
_a = props.key.split('-').map(parseFloat),
|
|
1090
1113
|
gridY = _a[0],
|
|
1091
1114
|
gridX = _a[1],
|
|
@@ -1095,8 +1118,10 @@
|
|
|
1095
1118
|
clusterRadius = props.clusterRadius,
|
|
1096
1119
|
gridXPx = gridX * gridSize,
|
|
1097
1120
|
gridYPx = gridY * gridSize,
|
|
1098
|
-
|
|
1099
|
-
|
|
1121
|
+
propsPx = valuesToPixels(series,
|
|
1122
|
+
props),
|
|
1123
|
+
xPixel = propsPx.x,
|
|
1124
|
+
yPixel = propsPx.y,
|
|
1100
1125
|
gridsToCheckCollision = [],
|
|
1101
1126
|
pointsLen = 0,
|
|
1102
1127
|
radius = 0,
|
|
@@ -1115,9 +1140,7 @@
|
|
|
1115
1140
|
itemY,
|
|
1116
1141
|
nextClusterPos,
|
|
1117
1142
|
maxDist,
|
|
1118
|
-
keys
|
|
1119
|
-
x,
|
|
1120
|
-
y;
|
|
1143
|
+
keys;
|
|
1121
1144
|
// Distance to the grid start.
|
|
1122
1145
|
xPixel -= gridOffset.plotLeft;
|
|
1123
1146
|
yPixel -= gridOffset.plotTop;
|
|
@@ -1147,10 +1170,12 @@
|
|
|
1147
1170
|
groupedData[item].posX = nextClusterPos.x;
|
|
1148
1171
|
groupedData[item].posY = nextClusterPos.y;
|
|
1149
1172
|
}
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1173
|
+
var pos_1 = valuesToPixels(series, {
|
|
1174
|
+
x: groupedData[item].posX || 0,
|
|
1175
|
+
y: groupedData[item].posY || 0
|
|
1176
|
+
});
|
|
1177
|
+
nextXPixel = pos_1.x - gridOffset.plotLeft;
|
|
1178
|
+
nextYPixel = pos_1.y - gridOffset.plotTop;
|
|
1154
1179
|
_a = item.split('-').map(parseFloat), itemY = _a[0], itemX = _a[1];
|
|
1155
1180
|
if (zoneOptions) {
|
|
1156
1181
|
pointsLen = groupedData[item].length;
|
|
@@ -1193,11 +1218,13 @@
|
|
|
1193
1218
|
}
|
|
1194
1219
|
}
|
|
1195
1220
|
});
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1221
|
+
var pos = pixelsToValues(series, {
|
|
1222
|
+
x: xPixel + gridOffset.plotLeft,
|
|
1223
|
+
y: yPixel + gridOffset.plotTop
|
|
1224
|
+
});
|
|
1225
|
+
groupedData[props.key].posX = pos.x;
|
|
1226
|
+
groupedData[props.key].posY = pos.y;
|
|
1227
|
+
return pos;
|
|
1201
1228
|
};
|
|
1202
1229
|
// Check if user algorithm result is valid groupedDataObject.
|
|
1203
1230
|
Scatter.prototype.isValidGroupedDataObject = function (groupedData) {
|
|
@@ -1414,6 +1441,7 @@
|
|
|
1414
1441
|
Scatter.prototype.generatePoints = function () {
|
|
1415
1442
|
var series = this,
|
|
1416
1443
|
chart = series.chart,
|
|
1444
|
+
mapView = chart.mapView,
|
|
1417
1445
|
xAxis = series.xAxis,
|
|
1418
1446
|
yAxis = series.yAxis,
|
|
1419
1447
|
clusterOptions = series.options.cluster,
|
|
@@ -1455,10 +1483,13 @@
|
|
|
1455
1483
|
kmeansThreshold = layoutAlgOptions.kmeansThreshold ||
|
|
1456
1484
|
clusterDefaultOptions.layoutAlgorithm.kmeansThreshold;
|
|
1457
1485
|
// Offset to prevent cluster size changes.
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1486
|
+
var halfGrid = layoutAlgOptions.processedGridSize / 2,
|
|
1487
|
+
p1 = pixelsToValues(series, { x: 0,
|
|
1488
|
+
y: 0 }),
|
|
1489
|
+
p2 = pixelsToValues(series, { x: halfGrid,
|
|
1490
|
+
y: halfGrid });
|
|
1491
|
+
cropDataOffsetX = Math.abs(p1.x - p2.x);
|
|
1492
|
+
cropDataOffsetY = Math.abs(p1.y - p2.y);
|
|
1462
1493
|
// Get only visible data.
|
|
1463
1494
|
for (i = 0; i < series.xData.length; i++) {
|
|
1464
1495
|
if (!series.dataMaxX) {
|
|
@@ -1592,7 +1623,7 @@
|
|
|
1592
1623
|
if ((options || {}).animation &&
|
|
1593
1624
|
series.markerClusterInfo &&
|
|
1594
1625
|
series.chart.pointer.pinchDown.length === 0 &&
|
|
1595
|
-
(series.xAxis.eventArgs || {}).trigger !== 'pan' &&
|
|
1626
|
+
((series.xAxis || {}).eventArgs || {}).trigger !== 'pan' &&
|
|
1596
1627
|
oldState &&
|
|
1597
1628
|
Object.keys(oldState).length) {
|
|
1598
1629
|
series.markerClusterInfo.clusters.forEach(function (cluster) {
|
|
@@ -12,6 +12,17 @@ import * as _Highcharts from "../highcharts";
|
|
|
12
12
|
* The imported Highcharts namespace to extend.
|
|
13
13
|
*/
|
|
14
14
|
export function factory(highcharts: typeof Highcharts): void;
|
|
15
|
-
declare module "../highcharts" {
|
|
15
|
+
declare module "../highcharts" {
|
|
16
|
+
/**
|
|
17
|
+
* Extend generatePoints by adding the nodes, which are Point objects but
|
|
18
|
+
* pushed to the this.nodes array.
|
|
19
|
+
*/
|
|
20
|
+
function generatePoints(): void;
|
|
21
|
+
/**
|
|
22
|
+
* When hovering node, highlight all connected links. When hovering a link,
|
|
23
|
+
* highlight all connected nodes.
|
|
24
|
+
*/
|
|
25
|
+
function setNodeState(): void;
|
|
26
|
+
}
|
|
16
27
|
export default factory;
|
|
17
28
|
export let Highcharts: typeof _Highcharts;
|