highcharts 9.3.3 → 10.2.0
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/bower.json +1 -1
- package/css/highcharts.css +19 -2
- package/css/highcharts.scss +17 -2
- package/css/themes/dark-unica.css +19 -2
- package/css/themes/grid-light.css +19 -2
- package/css/themes/sand-signika.css +19 -2
- package/es-modules/Accessibility/A11yI18n.js +4 -4
- package/es-modules/Accessibility/Accessibility.js +3 -4
- package/es-modules/Accessibility/Components/AnnotationsA11y.js +3 -3
- package/es-modules/Accessibility/Components/ContainerComponent.js +11 -10
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +18 -11
- package/es-modules/Accessibility/Components/LegendComponent.js +34 -26
- package/es-modules/Accessibility/Components/MenuComponent.js +7 -6
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +5 -3
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +7 -6
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +1 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -2
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -18
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +96 -39
- package/es-modules/Accessibility/Components/ZoomComponent.js +43 -80
- package/es-modules/Accessibility/FocusBorder.js +6 -5
- package/es-modules/Accessibility/HighContrastMode.js +3 -3
- package/es-modules/Accessibility/KeyboardNavigation.js +113 -98
- package/es-modules/Accessibility/Options/{Options.js → A11yDefaults.js} +72 -4
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -2
- package/es-modules/Accessibility/Options/{LangOptions.js → LangDefaults.js} +46 -31
- package/es-modules/Accessibility/ProxyElement.js +14 -6
- package/es-modules/Accessibility/ProxyProvider.js +10 -2
- package/es-modules/Accessibility/Utils/ChartUtilities.js +10 -5
- package/es-modules/Core/Animation/Fx.js +1 -1
- package/es-modules/Core/Axis/Axis.js +197 -91
- package/es-modules/Core/Axis/AxisDefaults.js +8 -8
- package/es-modules/Core/Axis/Color/ColorAxis.js +26 -7
- package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +3 -3
- package/es-modules/Core/Axis/DateTimeAxis.js +5 -3
- package/es-modules/Core/Axis/GridAxis.js +821 -821
- package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
- package/es-modules/Core/Axis/OrdinalAxis.js +26 -3
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
- package/es-modules/Core/Axis/StackingAxis.js +0 -1
- package/es-modules/Core/Axis/Tick.js +22 -18
- package/es-modules/Core/Axis/TreeGridTick.js +13 -2
- package/es-modules/Core/Axis/ZAxis.js +3 -1
- package/es-modules/Core/Chart/Chart.js +27 -8
- package/es-modules/Core/Chart/Chart3D.js +1 -11
- package/es-modules/Core/Chart/ChartDefaults.js +46 -14
- package/es-modules/Core/Chart/GanttChart.js +3 -1
- package/es-modules/Core/Chart/MapChart.js +4 -7
- package/es-modules/Core/Chart/StockChart.js +7 -5
- package/es-modules/Core/Color/Color.js +1 -1
- package/es-modules/Core/DefaultOptions.js +19 -15
- package/es-modules/Core/Geometry/PolygonClip.js +84 -0
- package/es-modules/Core/Globals.js +4 -18
- package/es-modules/Core/HttpUtilities.js +46 -39
- package/es-modules/Core/Legend/Legend.js +14 -12
- package/es-modules/Core/MSPointer.js +3 -1
- package/es-modules/Core/Navigator.js +16 -13
- package/es-modules/Core/Pointer.js +16 -12
- package/es-modules/Core/Renderer/HTML/AST.js +68 -8
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +3 -1
- package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +3 -1
- package/es-modules/Core/Renderer/SVG/SVGElement.js +54 -70
- package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +3 -1
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +60 -55
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +4 -2
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +12 -10
- package/es-modules/Core/Scrollbar.js +9 -5
- package/es-modules/Core/ScrollbarDefaults.js +8 -8
- package/es-modules/Core/Series/DataLabel.js +67 -38
- package/es-modules/Core/Series/Point.js +11 -2
- package/es-modules/Core/Series/Series.js +57 -27
- package/es-modules/Core/Series/Series3D.js +3 -1
- package/es-modules/Core/Series/SeriesDefaults.js +7 -4
- package/es-modules/Core/Time.js +6 -7
- package/es-modules/Core/Tooltip.js +17 -34
- package/es-modules/Core/Utilities.js +33 -33
- package/es-modules/Data/DataConverter.js +1 -1
- package/es-modules/Data/DataTable.js +12 -10
- package/es-modules/Data/Modifiers/ChainModifier.js +3 -1
- package/es-modules/Data/Modifiers/GroupModifier.js +3 -1
- package/es-modules/Data/Modifiers/InvertModifier.js +9 -7
- package/es-modules/Data/Modifiers/RangeModifier.js +3 -1
- package/es-modules/Data/Modifiers/SeriesPointsModifier.js +3 -1
- package/es-modules/Data/Modifiers/SortModifier.js +3 -1
- package/es-modules/Data/Parsers/CSVParser.js +3 -1
- package/es-modules/Data/Parsers/DataParser.js +1 -1
- package/es-modules/Data/Parsers/GoogleSheetsParser.js +3 -2
- package/es-modules/Data/Parsers/HTMLTableParser.js +3 -1
- package/es-modules/Data/Stores/CSVStore.js +8 -5
- package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
- package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
- package/es-modules/Extensions/Annotations/{Annotations.js → Annotation.js} +30 -11
- package/es-modules/Extensions/Annotations/AnnotationsDefaults.js +0 -0
- package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +5 -2
- package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
- package/es-modules/Extensions/Annotations/NavigationBindings.js +16 -5
- package/es-modules/Extensions/Annotations/Popup.js +2 -2
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +18 -12
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -2
- package/es-modules/Extensions/Annotations/Types/ElliottWave.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Fibonacci.js +5 -3
- package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +4 -2
- package/es-modules/Extensions/Annotations/Types/InfinityLine.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Measure.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Pitchfork.js +4 -2
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +5 -2
- package/es-modules/Extensions/Annotations/Types/VerticalLine.js +4 -2
- package/es-modules/Extensions/Boost/BoostAttach.js +5 -1
- package/es-modules/Extensions/Boost/BoostInit.js +9 -3
- package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
- package/es-modules/Extensions/Boost/Boostables.js +1 -0
- package/es-modules/Extensions/Boost/WGLRenderer.js +48 -37
- package/es-modules/Extensions/Boost/WGLShader.js +4 -3
- package/es-modules/Extensions/BoostCanvas.js +11 -5
- package/es-modules/Extensions/Breadcrumbs.js +898 -0
- package/es-modules/Extensions/CurrentDateIndication.js +1 -1
- package/es-modules/Extensions/Data.js +661 -613
- package/es-modules/Extensions/DataGrouping.js +8 -3
- package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
- package/es-modules/Extensions/DownloadURL.js +3 -3
- package/es-modules/Extensions/DragPanes.js +1 -1
- package/es-modules/Extensions/DraggablePoints.js +9 -7
- package/es-modules/Extensions/Drilldown.js +152 -97
- package/es-modules/Extensions/ExportData.js +58 -9
- package/es-modules/Extensions/Exporting/Exporting.js +34 -23
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +56 -8
- package/es-modules/Extensions/FullScreen.js +121 -54
- package/es-modules/Extensions/GeoJSON.js +149 -125
- package/es-modules/Extensions/MarkerClusters.js +36 -22
- package/es-modules/Extensions/NoDataToDisplay.js +1 -1
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +110 -22
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +2 -2
- package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
- package/es-modules/Extensions/Pane.js +3 -3
- package/es-modules/Extensions/ParallelCoordinates.js +1 -1
- package/es-modules/Extensions/PatternFill.js +14 -2
- package/es-modules/Extensions/RangeSelector.js +29 -18
- package/es-modules/Extensions/ScrollablePlotArea.js +8 -4
- package/es-modules/Extensions/{SeriesLabel.js → SeriesLabel/SeriesLabel.js} +262 -384
- package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +124 -0
- package/es-modules/Extensions/SeriesLabel/SeriesLabelUtilities.js +67 -0
- package/es-modules/Extensions/Sonification/Earcon.js +1 -1
- package/es-modules/Extensions/Stacking.js +5 -4
- package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
- package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
- package/es-modules/Maps/MapNavigation.js +49 -12
- package/es-modules/Maps/MapPointer.js +16 -0
- package/es-modules/Maps/MapUtilities.js +56 -0
- package/es-modules/Maps/MapView.js +619 -137
- package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
- package/es-modules/Maps/MapViewOptionsDefault.js +60 -20
- package/es-modules/Maps/Projection.js +182 -88
- package/es-modules/Maps/Projections/EqualEarth.js +15 -6
- package/es-modules/Maps/Projections/LambertConformalConic.js +27 -19
- package/es-modules/Maps/Projections/Miller.js +23 -10
- package/es-modules/Maps/Projections/Orthographic.js +21 -10
- package/es-modules/Maps/Projections/WebMercator.js +25 -13
- package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +79 -0
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +591 -0
- package/es-modules/Series/Area/AreaSeries.js +21 -14
- package/es-modules/Series/AreaRange/AreaRangePoint.js +24 -11
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +154 -147
- package/es-modules/Series/AreaSpline/AreaSplineSeries.js +45 -41
- package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +43 -43
- package/es-modules/Series/Bar/BarSeries.js +3 -1
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +3 -1
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -2
- package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -1
- package/es-modules/Series/Bubble/BubblePoint.js +3 -1
- package/es-modules/Series/Bubble/BubbleSeries.js +15 -6
- package/es-modules/Series/Bullet/BulletPoint.js +3 -1
- package/es-modules/Series/Bullet/BulletSeries.js +4 -3
- package/es-modules/Series/Candlestick/CandlestickSeries.js +5 -3
- package/es-modules/Series/CenteredUtilities.js +8 -2
- package/es-modules/Series/ColorMapComposition.js +111 -0
- package/es-modules/Series/Column/ColumnSeries.js +10 -7
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +3 -1
- package/es-modules/Series/ColumnRange/ColumnRangePoint.js +17 -13
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +60 -57
- package/es-modules/Series/Cylinder/CylinderPoint.js +3 -1
- package/es-modules/Series/Cylinder/CylinderSeries.js +3 -1
- package/es-modules/Series/DataModifyComposition.js +1 -0
- package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +3 -1
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +5 -3
- package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -1
- package/es-modules/Series/DrawPointUtilities.js +87 -0
- package/es-modules/Series/Dumbbell/DumbbellPoint.js +3 -1
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +4 -2
- package/es-modules/Series/ErrorBar/ErrorBarSeries.js +4 -2
- package/es-modules/Series/Flags/FlagsPoint.js +4 -1
- package/es-modules/Series/Flags/FlagsSeries.js +13 -16
- package/es-modules/Series/Funnel/FunnelSeries.js +5 -3
- package/es-modules/Series/Funnel3D/Funnel3DPoint.js +3 -1
- package/es-modules/Series/Funnel3D/Funnel3DSeries.js +3 -1
- package/es-modules/Series/Gantt/GanttPoint.js +3 -1
- package/es-modules/Series/Gantt/GanttSeries.js +3 -1
- package/es-modules/Series/Gauge/GaugePoint.js +3 -1
- package/es-modules/Series/Gauge/GaugeSeries.js +196 -174
- package/es-modules/Series/HLC/HLCPoint.js +3 -1
- package/es-modules/Series/HLC/HLCSeries.js +4 -2
- package/es-modules/Series/Heatmap/HeatmapPoint.js +7 -5
- package/es-modules/Series/Heatmap/HeatmapSeries.js +29 -33
- package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -1
- package/es-modules/Series/Histogram/HistogramSeries.js +3 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +3 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +11 -9
- package/es-modules/Series/Item/ItemPoint.js +3 -1
- package/es-modules/Series/Item/ItemSeries.js +3 -1
- package/es-modules/Series/Line/LineSeries.js +4 -2
- package/es-modules/Series/Lollipop/LollipopPoint.js +3 -1
- package/es-modules/Series/Lollipop/LollipopSeries.js +4 -2
- package/es-modules/Series/Map/MapPoint.js +32 -7
- package/es-modules/Series/Map/MapSeries.js +298 -189
- package/es-modules/Series/MapBubble/MapBubblePoint.js +19 -25
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +61 -2
- package/es-modules/Series/MapLine/MapLineSeries.js +18 -1
- package/es-modules/Series/MapPoint/MapPointPoint.js +6 -10
- package/es-modules/Series/MapPoint/MapPointSeries.js +50 -16
- package/es-modules/Series/Networkgraph/Networkgraph.js +3 -1
- package/es-modules/Series/NodesComposition.js +101 -49
- package/es-modules/Series/OHLC/OHLCPoint.js +3 -1
- package/es-modules/Series/OHLC/OHLCSeries.js +10 -1
- package/es-modules/Series/Organization/OrganizationPoint.js +71 -3
- package/es-modules/Series/Organization/OrganizationSeries.js +84 -28
- package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +0 -2
- package/es-modules/Series/PackedBubble/PackedBubblePoint.js +3 -1
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -1
- package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -1
- package/es-modules/Series/Pie/PieDataLabel.js +4 -2
- package/es-modules/Series/Pie/PiePoint.js +15 -6
- package/es-modules/Series/Pie/PieSeries.js +51 -37
- package/es-modules/Series/Pie3D/Pie3DPoint.js +3 -1
- package/es-modules/Series/Pie3D/Pie3DSeries.js +22 -1
- package/es-modules/Series/PolarComposition.js +819 -0
- package/es-modules/Series/Polygon/PolygonSeries.js +3 -1
- package/es-modules/Series/Pyramid/PyramidSeries.js +3 -1
- package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +3 -1
- package/es-modules/Series/Sankey/SankeyColumnComposition.js +193 -0
- package/es-modules/Series/Sankey/SankeyPoint.js +40 -2
- package/es-modules/Series/Sankey/SankeySeries.js +35 -136
- package/es-modules/Series/Scatter/ScatterSeries.js +11 -6
- package/es-modules/Series/Scatter3D/Scatter3DPoint.js +3 -1
- package/es-modules/Series/Scatter3D/Scatter3DSeries.js +3 -1
- package/es-modules/Series/SeriesOnPointComposition.js +391 -0
- package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +5 -3
- package/es-modules/Series/Spline/SplineSeries.js +13 -4
- package/es-modules/Series/Streamgraph/StreamgraphSeries.js +3 -1
- package/es-modules/Series/Sunburst/SunburstPoint.js +3 -3
- package/es-modules/Series/Sunburst/SunburstSeries.js +21 -5
- package/es-modules/Series/Tilemap/TilemapPoint.js +3 -1
- package/es-modules/Series/Tilemap/TilemapSeries.js +3 -1
- package/es-modules/Series/Timeline/TimelinePoint.js +3 -1
- package/es-modules/Series/Timeline/TimelineSeries.js +6 -4
- package/es-modules/Series/Treemap/TreemapPoint.js +8 -4
- package/es-modules/Series/Treemap/TreemapSeries.js +97 -87
- package/es-modules/Series/VariablePie/VariablePieSeries.js +3 -1
- package/es-modules/Series/Variwide/VariwidePoint.js +3 -1
- package/es-modules/Series/Variwide/VariwideSeries.js +3 -1
- package/es-modules/Series/Vector/VectorSeries.js +3 -1
- package/es-modules/Series/Venn/VennPoint.js +5 -5
- package/es-modules/Series/Venn/VennSeries.js +9 -6
- package/es-modules/Series/Waterfall/WaterfallPoint.js +3 -1
- package/es-modules/Series/Waterfall/WaterfallSeries.js +16 -12
- package/es-modules/Series/Windbarb/WindbarbPoint.js +3 -1
- package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -1
- package/es-modules/Series/Wordcloud/WordcloudPoint.js +6 -6
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +11 -8
- package/es-modules/Series/XRange/XRangePoint.js +3 -1
- package/es-modules/Series/XRange/XRangeSeries.js +3 -1
- package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +3 -1
- package/es-modules/Stock/Indicators/AD/ADIndicator.js +3 -1
- package/es-modules/Stock/Indicators/AO/AOIndicator.js +5 -3
- package/es-modules/Stock/Indicators/APO/APOIndicator.js +3 -1
- package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -1
- package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +3 -1
- package/es-modules/Stock/Indicators/BB/BBIndicator.js +6 -4
- package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +3 -1
- package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +3 -1
- package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +3 -1
- package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +13 -7
- package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +3 -1
- package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -1
- package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +3 -1
- package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +3 -1
- package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +3 -1
- package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +3 -1
- package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +3 -1
- package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +3 -1
- package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +26 -13
- package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +3 -1
- package/es-modules/Stock/Indicators/MultipleLinesComposition.js +85 -95
- package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +3 -1
- package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PC/PCIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +3 -1
- package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +3 -1
- package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +3 -1
- package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +3 -1
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +12 -3
- package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +6 -4
- package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +3 -1
- package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +3 -1
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +3 -1
- package/es-modules/Stock/Indicators/VBP/VBPPoint.js +3 -1
- package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +3 -1
- package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +3 -1
- package/es-modules/Stock/StockToolsBindings.js +51 -43
- package/es-modules/Stock/StockToolsGui.js +1 -1
- 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 +4 -4
- 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/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +1 -1
- package/es-modules/masters/indicators/indicators.src.js +1 -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 +1 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +2 -2
- package/es-modules/masters/modules/annotations.src.js +2 -2
- package/es-modules/masters/modules/arc-diagram.src.js +14 -0
- 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 +2 -1
- 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 +2 -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 -1
- 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 +5 -1
- 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 +5 -2
- package/es-modules/masters/modules/series-on-point.src.js +16 -0
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +2 -6
- 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 +1 -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 +5 -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/brand-dark.src.js +1 -1
- package/es-modules/masters/themes/brand-light.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 +99 -98
- package/highcharts-3d.js.map +1 -1
- package/highcharts-3d.src.js +51 -21
- package/highcharts-gantt.js +811 -801
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +2020 -1607
- package/highcharts-more.d.ts +10 -0
- package/highcharts-more.js +194 -194
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.d.ts +10 -0
- package/highcharts-more.src.js +3512 -3364
- package/highcharts.d.ts +12336 -965
- package/highcharts.js +595 -586
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +12336 -965
- package/highcharts.src.js +1047 -665
- package/highmaps.js +763 -728
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +4482 -2639
- package/highstock.js +798 -788
- package/highstock.js.map +1 -1
- package/highstock.src.js +1177 -739
- package/indicators/acceleration-bands.d.ts +1 -17
- package/indicators/acceleration-bands.js +11 -11
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.d.ts +1 -17
- package/indicators/acceleration-bands.src.js +99 -100
- package/indicators/accumulation-distribution.js +5 -5
- package/indicators/accumulation-distribution.js.map +1 -1
- package/indicators/accumulation-distribution.src.js +11 -2
- package/indicators/ao.js +6 -6
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +13 -4
- package/indicators/apo.js +5 -5
- package/indicators/apo.js.map +1 -1
- package/indicators/apo.src.js +11 -2
- package/indicators/aroon-oscillator.d.ts +1 -17
- package/indicators/aroon-oscillator.js +10 -10
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.d.ts +1 -17
- package/indicators/aroon-oscillator.src.js +99 -100
- package/indicators/aroon.d.ts +1 -17
- package/indicators/aroon.js +11 -11
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.d.ts +1 -17
- package/indicators/aroon.src.js +99 -100
- package/indicators/atr.js +5 -5
- package/indicators/atr.js.map +1 -1
- package/indicators/atr.src.js +11 -2
- package/indicators/bollinger-bands.d.ts +1 -17
- package/indicators/bollinger-bands.js +11 -12
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.d.ts +1 -17
- package/indicators/bollinger-bands.src.js +102 -103
- package/indicators/cci.js +5 -5
- package/indicators/cci.js.map +1 -1
- package/indicators/cci.src.js +11 -2
- package/indicators/chaikin.js +8 -8
- package/indicators/chaikin.js.map +1 -1
- package/indicators/chaikin.src.js +11 -2
- package/indicators/cmf.js +6 -6
- package/indicators/cmf.js.map +1 -1
- package/indicators/cmf.src.js +11 -2
- package/indicators/cmo.js +5 -5
- package/indicators/cmo.js.map +1 -1
- package/indicators/cmo.src.js +11 -2
- package/indicators/dema.js +5 -5
- package/indicators/dema.js.map +1 -1
- package/indicators/dema.src.js +11 -2
- package/indicators/disparity-index.js +6 -6
- package/indicators/disparity-index.js.map +1 -1
- package/indicators/disparity-index.src.js +11 -2
- package/indicators/dmi.js +12 -12
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +109 -106
- package/indicators/dpo.js +5 -5
- package/indicators/dpo.js.map +1 -1
- package/indicators/dpo.src.js +11 -2
- package/indicators/ema.js +2 -1
- package/indicators/ema.js.map +1 -1
- package/indicators/ema.src.js +10 -1
- package/indicators/ichimoku-kinko-hyo.js +16 -16
- package/indicators/ichimoku-kinko-hyo.js.map +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +11 -2
- package/indicators/indicators-all.d.ts +1 -17
- package/indicators/indicators-all.js +198 -196
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.d.ts +1 -17
- package/indicators/indicators-all.src.js +151 -129
- package/indicators/indicators.js +13 -12
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +21 -5
- package/indicators/keltner-channels.d.ts +1 -17
- package/indicators/keltner-channels.js +11 -11
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.d.ts +1 -17
- package/indicators/keltner-channels.src.js +99 -100
- package/indicators/klinger.js +14 -14
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +99 -100
- package/indicators/macd.js +13 -11
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +35 -14
- package/indicators/mfi.js +6 -6
- package/indicators/mfi.js.map +1 -1
- package/indicators/mfi.src.js +11 -2
- package/indicators/momentum.js +5 -5
- package/indicators/momentum.js.map +1 -1
- package/indicators/momentum.src.js +11 -2
- package/indicators/natr.js +5 -4
- package/indicators/natr.js.map +1 -1
- package/indicators/natr.src.js +11 -2
- package/indicators/obv.js +5 -5
- package/indicators/obv.js.map +1 -1
- package/indicators/obv.src.js +11 -2
- package/indicators/pivot-points.js +11 -11
- package/indicators/pivot-points.js.map +1 -1
- package/indicators/pivot-points.src.js +11 -2
- package/indicators/ppo.js +5 -5
- package/indicators/ppo.js.map +1 -1
- package/indicators/ppo.src.js +11 -2
- package/indicators/price-channel.d.ts +1 -17
- package/indicators/price-channel.js +11 -11
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.d.ts +1 -17
- package/indicators/price-channel.src.js +99 -100
- package/indicators/price-envelopes.js +8 -8
- package/indicators/price-envelopes.js.map +1 -1
- package/indicators/price-envelopes.src.js +11 -2
- package/indicators/psar.js +7 -6
- package/indicators/psar.js.map +1 -1
- package/indicators/psar.src.js +11 -2
- package/indicators/regressions.js +12 -12
- package/indicators/regressions.js.map +1 -1
- package/indicators/regressions.src.js +11 -2
- package/indicators/roc.js +5 -5
- package/indicators/roc.js.map +1 -1
- package/indicators/roc.src.js +11 -2
- package/indicators/rsi.js +6 -5
- package/indicators/rsi.js.map +1 -1
- package/indicators/rsi.src.js +11 -2
- package/indicators/slow-stochastic.js +5 -5
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +11 -2
- package/indicators/stochastic.d.ts +1 -17
- package/indicators/stochastic.js +12 -12
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.d.ts +1 -17
- package/indicators/stochastic.src.js +99 -100
- package/indicators/supertrend.js +10 -10
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +14 -5
- package/indicators/tema.js +6 -6
- package/indicators/tema.js.map +1 -1
- package/indicators/tema.src.js +11 -2
- package/indicators/trendline.js +5 -5
- package/indicators/trendline.js.map +1 -1
- package/indicators/trendline.src.js +11 -2
- package/indicators/trix.js +4 -4
- package/indicators/trix.js.map +1 -1
- package/indicators/trix.src.js +11 -2
- package/indicators/volume-by-price.js +17 -17
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +11 -2
- package/indicators/vwap.js +5 -5
- package/indicators/vwap.js.map +1 -1
- package/indicators/vwap.src.js +11 -2
- package/indicators/williams-r.js +6 -5
- package/indicators/williams-r.js.map +1 -1
- package/indicators/williams-r.src.js +11 -2
- package/indicators/wma.js +5 -5
- package/indicators/wma.js.map +1 -1
- package/indicators/wma.src.js +11 -2
- package/indicators/zigzag.js +6 -6
- package/indicators/zigzag.js.map +1 -1
- package/indicators/zigzag.src.js +11 -2
- package/lib/jspdf.js +299 -184
- package/lib/jspdf.src.js +25266 -18067
- package/lib/svg2pdf.js +35 -31
- package/lib/svg2pdf.src.js +5721 -4179
- package/modules/accessibility.js +242 -237
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +599 -390
- package/modules/annotations-advanced.js +192 -192
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.js +96 -47
- package/modules/annotations.js +126 -126
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +67 -25
- package/modules/arc-diagram.js +25 -0
- package/modules/arc-diagram.js.map +1 -0
- package/modules/arc-diagram.src.js +778 -0
- package/modules/arrow-symbols.js +4 -3
- package/modules/arrow-symbols.js.map +1 -1
- package/modules/arrow-symbols.src.js +11 -2
- package/modules/boost-canvas.js +16 -15
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +22 -7
- package/modules/boost.js +81 -79
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +90 -51
- package/modules/broken-axis.js +13 -13
- package/modules/broken-axis.js.map +1 -1
- package/modules/broken-axis.src.js +11 -2
- package/modules/bullet.js +9 -9
- package/modules/bullet.js.map +1 -1
- package/modules/bullet.src.js +12 -6
- package/modules/coloraxis.js +24 -24
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +37 -11
- package/modules/current-date-indicator.js +5 -4
- package/modules/current-date-indicator.js.map +1 -1
- package/modules/current-date-indicator.src.js +12 -3
- package/modules/cylinder.js +11 -11
- package/modules/cylinder.js.map +1 -1
- package/modules/cylinder.src.js +11 -2
- package/modules/data.d.ts +12 -12
- package/modules/data.js +33 -33
- package/modules/data.js.map +1 -1
- package/modules/data.src.d.ts +12 -12
- package/modules/data.src.js +906 -846
- package/modules/datagrouping.js +21 -20
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.js +19 -5
- package/modules/debugger.js +8 -7
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +15 -2
- package/modules/dependency-wheel.js +12 -11
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +14 -5
- package/modules/dotplot.js +6 -6
- package/modules/dotplot.js.map +1 -1
- package/modules/dotplot.src.js +11 -2
- package/modules/drag-panes.js +10 -10
- package/modules/drag-panes.js.map +1 -1
- package/modules/drag-panes.src.js +12 -3
- package/modules/draggable-points.js +35 -34
- package/modules/draggable-points.js.map +1 -1
- package/modules/draggable-points.src.js +20 -9
- package/modules/drilldown.d.ts +19 -0
- package/modules/drilldown.js +37 -25
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.d.ts +19 -0
- package/modules/drilldown.src.js +1124 -108
- package/modules/dumbbell.d.ts +4 -0
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.d.ts +4 -0
- package/modules/dumbbell.src.js +34 -13
- package/modules/export-data.js +24 -21
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +87 -14
- package/modules/exporting.d.ts +8 -8
- package/modules/exporting.js +39 -39
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.d.ts +8 -8
- package/modules/exporting.src.js +270 -135
- package/modules/full-screen.js +8 -7
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +135 -58
- package/modules/funnel.js +12 -12
- package/modules/funnel.js.map +1 -1
- package/modules/funnel.src.js +13 -4
- package/modules/funnel3d.js +21 -21
- package/modules/funnel3d.js.map +1 -1
- package/modules/funnel3d.src.js +11 -2
- package/modules/gantt.js +218 -217
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +983 -943
- package/modules/grid-axis.js +23 -23
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +900 -890
- package/modules/heatmap.js +40 -39
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +160 -113
- package/modules/heikinashi.js +8 -8
- package/modules/heikinashi.js.map +1 -1
- package/modules/heikinashi.src.js +11 -2
- package/modules/histogram-bellcurve.js +13 -13
- package/modules/histogram-bellcurve.js.map +1 -1
- package/modules/histogram-bellcurve.src.js +11 -2
- package/modules/hollowcandlestick.js +9 -9
- package/modules/hollowcandlestick.js.map +1 -1
- package/modules/hollowcandlestick.src.js +19 -10
- package/modules/item-series.js +12 -12
- package/modules/item-series.js.map +1 -1
- package/modules/item-series.src.js +11 -2
- package/modules/lollipop.js +7 -7
- package/modules/lollipop.js.map +1 -1
- package/modules/lollipop.src.js +12 -3
- package/modules/map.d.ts +80 -43
- package/modules/map.js +171 -144
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +80 -43
- package/modules/map.src.js +8292 -6822
- package/modules/marker-clusters.js +36 -36
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +48 -28
- package/modules/networkgraph.d.ts +1 -12
- package/modules/networkgraph.js +46 -45
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.d.ts +1 -12
- package/modules/networkgraph.src.js +127 -55
- 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 +12 -3
- package/modules/offline-exporting.js +20 -18
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +129 -28
- package/modules/oldie-polyfills.js +7 -7
- package/modules/oldie-polyfills.js.map +1 -1
- package/modules/oldie-polyfills.src.js +11 -2
- package/modules/oldie.js +30 -30
- package/modules/oldie.js.map +1 -1
- package/modules/oldie.src.js +13 -4
- package/modules/organization.js +16 -14
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +168 -34
- package/modules/overlapping-datalabels.js +3 -2
- package/modules/overlapping-datalabels.js.map +1 -1
- package/modules/overlapping-datalabels.src.js +11 -2
- package/modules/parallel-coordinates.js +11 -11
- package/modules/parallel-coordinates.js.map +1 -1
- package/modules/parallel-coordinates.src.js +12 -3
- package/modules/pareto.js +7 -7
- package/modules/pareto.js.map +1 -1
- package/modules/pareto.src.js +11 -2
- package/modules/pathfinder.js +31 -31
- package/modules/pathfinder.js.map +1 -1
- package/modules/pathfinder.src.js +11 -2
- package/modules/pattern-fill.js +15 -14
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +25 -3
- package/modules/price-indicator.js +5 -5
- package/modules/price-indicator.js.map +1 -1
- package/modules/price-indicator.src.js +11 -2
- package/modules/pyramid3d.js +4 -4
- package/modules/pyramid3d.js.map +1 -1
- package/modules/pyramid3d.src.js +11 -2
- package/modules/sankey.d.ts +1 -12
- package/modules/sankey.js +32 -29
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.d.ts +1 -12
- package/modules/sankey.src.js +422 -207
- package/modules/series-label.js +18 -17
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +482 -386
- package/modules/series-on-point.js +18 -0
- package/modules/series-on-point.js.map +1 -0
- package/modules/series-on-point.src.js +464 -0
- package/modules/solid-gauge.js +10 -10
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +15 -6
- package/modules/sonification.js +59 -59
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.js +13 -8
- package/modules/static-scale.js +5 -4
- package/modules/static-scale.js.map +1 -1
- package/modules/static-scale.src.js +11 -2
- package/modules/stock-tools.js +167 -167
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +118 -67
- package/modules/stock.js +205 -204
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.js +141 -76
- package/modules/streamgraph.js +5 -4
- package/modules/streamgraph.js.map +1 -1
- package/modules/streamgraph.src.js +11 -2
- package/modules/sunburst.d.ts +3 -0
- package/modules/sunburst.js +73 -60
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.d.ts +3 -0
- package/modules/sunburst.src.js +1391 -406
- package/modules/tilemap.js +17 -17
- package/modules/tilemap.js.map +1 -1
- package/modules/tilemap.src.js +11 -2
- package/modules/timeline.js +18 -18
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +14 -5
- package/modules/treegrid.js +57 -56
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +913 -892
- package/modules/treemap.d.ts +3 -0
- package/modules/treemap.js +54 -41
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.d.ts +3 -0
- package/modules/treemap.src.js +1229 -255
- package/modules/variable-pie.js +9 -9
- package/modules/variable-pie.js.map +1 -1
- package/modules/variable-pie.src.js +11 -2
- package/modules/variwide.js +12 -12
- package/modules/variwide.js.map +1 -1
- package/modules/variwide.src.js +11 -2
- package/modules/vector.js +8 -7
- package/modules/vector.js.map +1 -1
- package/modules/vector.src.js +11 -2
- package/modules/venn.js +31 -31
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +88 -105
- package/modules/windbarb.js +15 -15
- package/modules/windbarb.js.map +1 -1
- package/modules/windbarb.src.js +11 -2
- package/modules/wordcloud.js +23 -23
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +92 -109
- package/modules/xrange.js +16 -16
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +11 -2
- package/package.json +1 -1
- package/themes/avocado.js +4 -3
- package/themes/avocado.js.map +1 -1
- package/themes/avocado.src.js +11 -2
- package/themes/brand-dark.js +9 -8
- package/themes/brand-dark.js.map +1 -1
- package/themes/brand-dark.src.js +11 -2
- package/themes/brand-light.js +8 -8
- package/themes/brand-light.js.map +1 -1
- package/themes/brand-light.src.js +11 -2
- package/themes/dark-blue.js +9 -8
- package/themes/dark-blue.js.map +1 -1
- package/themes/dark-blue.src.js +11 -2
- package/themes/dark-green.js +9 -8
- package/themes/dark-green.js.map +1 -1
- package/themes/dark-green.src.js +11 -2
- package/themes/dark-unica.js +8 -7
- package/themes/dark-unica.js.map +1 -1
- package/themes/dark-unica.src.js +11 -2
- package/themes/gray.js +9 -8
- package/themes/gray.js.map +1 -1
- package/themes/gray.src.js +11 -2
- package/themes/grid-light.js +5 -4
- package/themes/grid-light.js.map +1 -1
- package/themes/grid-light.src.js +11 -2
- package/themes/grid.js +5 -5
- package/themes/grid.js.map +1 -1
- package/themes/grid.src.js +11 -2
- package/themes/high-contrast-dark.js +7 -7
- package/themes/high-contrast-dark.js.map +1 -1
- package/themes/high-contrast-dark.src.js +21 -12
- package/themes/high-contrast-light.js +3 -3
- package/themes/high-contrast-light.js.map +1 -1
- package/themes/high-contrast-light.src.js +21 -12
- package/themes/sand-signika.js +5 -5
- package/themes/sand-signika.js.map +1 -1
- package/themes/sand-signika.src.js +11 -2
- package/themes/skies.js +5 -5
- package/themes/skies.js.map +1 -1
- package/themes/skies.src.js +11 -2
- package/themes/sunset.js +3 -3
- package/themes/sunset.js.map +1 -1
- package/themes/sunset.src.js +11 -2
- package/es-modules/Extensions/Polar.js +0 -740
- package/es-modules/Maps/ProjectionDefinition.js +0 -9
- package/es-modules/Series/ColorMapMixin.js +0 -84
- package/es-modules/Series/DrawPointComposition.js +0 -111
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2010-2021 Torstein Honsi
|
|
4
|
+
*
|
|
5
|
+
* License: www.highcharts.com/license
|
|
6
|
+
*
|
|
7
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
8
|
+
*
|
|
9
|
+
* */
|
|
10
|
+
'use strict';
|
|
11
|
+
/**
|
|
12
|
+
* Generic options for the placement and appearance of map insets like
|
|
13
|
+
* non-contiguous territories.
|
|
14
|
+
*
|
|
15
|
+
* @since 10.0.0
|
|
16
|
+
* @product highmaps
|
|
17
|
+
* @optionparent mapView.insetOptions
|
|
18
|
+
*/
|
|
19
|
+
var defaultOptions = {
|
|
20
|
+
/**
|
|
21
|
+
* The border color of the insets.
|
|
22
|
+
*
|
|
23
|
+
* @sample maps/mapview/insetoptions-border
|
|
24
|
+
* Inset border options
|
|
25
|
+
* @type {Highcharts.ColorType}
|
|
26
|
+
*/
|
|
27
|
+
borderColor: "#cccccc" /* Palette.neutralColor20 */,
|
|
28
|
+
/**
|
|
29
|
+
* The pixel border width of the insets.
|
|
30
|
+
*
|
|
31
|
+
* @sample maps/mapview/insetoptions-border
|
|
32
|
+
* Inset border options
|
|
33
|
+
*/
|
|
34
|
+
borderWidth: 1,
|
|
35
|
+
/**
|
|
36
|
+
* @ignore-option
|
|
37
|
+
*/
|
|
38
|
+
center: [0, 0],
|
|
39
|
+
/**
|
|
40
|
+
* The padding of the insets. Can be either a number of pixels, a percentage
|
|
41
|
+
* string, or an array of either. If an array is given, it sets the top,
|
|
42
|
+
* right, bottom, left paddings respectively.
|
|
43
|
+
*
|
|
44
|
+
* @type {number|string|Array<number|string>}
|
|
45
|
+
*/
|
|
46
|
+
padding: '10%',
|
|
47
|
+
/**
|
|
48
|
+
* What coordinate system the `field` and `borderPath` should relate to. If
|
|
49
|
+
* `plotBox`, they will be fixed to the plot box and responsively move in
|
|
50
|
+
* relation to the main map. If `mapBoundingBox`, they will be fixed to the
|
|
51
|
+
* map bounding box, which is constant and centered in different chart sizes
|
|
52
|
+
* and ratios.
|
|
53
|
+
*
|
|
54
|
+
* @validvalue ["plotBox", "mapBoundingBox"]
|
|
55
|
+
*/
|
|
56
|
+
relativeTo: 'mapBoundingBox',
|
|
57
|
+
/**
|
|
58
|
+
* What units to use for the `field` and `borderPath` geometries. If
|
|
59
|
+
* `percent` (default), they relate to the box given in `relativeTo`. If
|
|
60
|
+
* `pixels`, they are absolute values.
|
|
61
|
+
*
|
|
62
|
+
* @validvalue ["percent", "pixels"]
|
|
63
|
+
*/
|
|
64
|
+
units: 'percent'
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* The individual MapView insets, typically used for non-contiguous areas of a
|
|
68
|
+
* country. Each item inherits from the generic `insetOptions`.
|
|
69
|
+
*
|
|
70
|
+
* Some of the TopoJSON files of the [Highcharts Map
|
|
71
|
+
* Collection](https://code.highcharts.com/mapdata/) include a property called
|
|
72
|
+
* `hc-recommended-mapview`, and some of these include insets. In order to
|
|
73
|
+
* override the recommended inset options, an inset option with a matching id
|
|
74
|
+
* can be applied, and it will be merged into the embedded settings.
|
|
75
|
+
*
|
|
76
|
+
* @sample maps/mapview/insets-extended
|
|
77
|
+
* Extending the embedded insets
|
|
78
|
+
* @sample maps/mapview/insets-complete
|
|
79
|
+
* Complete inset config from scratch
|
|
80
|
+
*
|
|
81
|
+
* @extends mapView.insetOptions
|
|
82
|
+
* @type Array<Object>
|
|
83
|
+
* @product highmaps
|
|
84
|
+
* @apioption mapView.insets
|
|
85
|
+
*/
|
|
86
|
+
/**
|
|
87
|
+
* A geometry object of type `MultiLineString` defining the border path of the
|
|
88
|
+
* inset in terms of `units`. If undefined, a border is rendered around the
|
|
89
|
+
* `field` geometry. It is recommended that the `borderPath` partly follows the
|
|
90
|
+
* outline of the `field` in order to make pointer positioning consistent.
|
|
91
|
+
*
|
|
92
|
+
* @sample maps/mapview/insets-complete
|
|
93
|
+
* Complete inset config with `borderPath`
|
|
94
|
+
*
|
|
95
|
+
* @product highmaps
|
|
96
|
+
* @type {Object|undefined}
|
|
97
|
+
* @apioption mapView.insets.borderPath
|
|
98
|
+
*/
|
|
99
|
+
/**
|
|
100
|
+
* A geometry object of type `Polygon` defining where in the chart the inset
|
|
101
|
+
* should be rendered, in terms of `units` and relative to the `relativeTo`
|
|
102
|
+
* setting. If a `borderPath` is omitted, a border is rendered around the field.
|
|
103
|
+
* If undefined, the inset is rendered in the full plot area.
|
|
104
|
+
*
|
|
105
|
+
* @sample maps/mapview/insets-extended
|
|
106
|
+
* Border path emitted, field is rendered
|
|
107
|
+
*
|
|
108
|
+
* @product highmaps
|
|
109
|
+
* @type {Object|undefined}
|
|
110
|
+
* @apioption mapView.insets.field
|
|
111
|
+
*/
|
|
112
|
+
/**
|
|
113
|
+
* A geometry object of type `Polygon` encircling the shapes that should be
|
|
114
|
+
* rendered in the inset, in terms of geographic coordinates. Geometries within
|
|
115
|
+
* this geometry are removed from the default map view and rendered in the
|
|
116
|
+
* inset.
|
|
117
|
+
*
|
|
118
|
+
* @sample maps/mapview/insets-complete
|
|
119
|
+
* Complete inset config with `geoBounds`
|
|
120
|
+
*
|
|
121
|
+
* @product highmaps
|
|
122
|
+
* @type {Object}
|
|
123
|
+
* @apioption mapView.insets.geoBounds
|
|
124
|
+
*/
|
|
125
|
+
/**
|
|
126
|
+
* The id of the inset, used for internal reference.
|
|
127
|
+
*
|
|
128
|
+
* @sample maps/mapview/insets-extended
|
|
129
|
+
* Extending recommended insets by id
|
|
130
|
+
*
|
|
131
|
+
* @product highmaps
|
|
132
|
+
* @type {string}
|
|
133
|
+
* @apioption mapView.insets.id
|
|
134
|
+
*/
|
|
135
|
+
/**
|
|
136
|
+
* The projection options for the inset.
|
|
137
|
+
*
|
|
138
|
+
* @product highmaps
|
|
139
|
+
* @type {Object}
|
|
140
|
+
* @extends mapView.projection
|
|
141
|
+
* @apioption mapView.insets.projection
|
|
142
|
+
*/
|
|
143
|
+
/* *
|
|
144
|
+
*
|
|
145
|
+
* Default Export
|
|
146
|
+
*
|
|
147
|
+
* */
|
|
148
|
+
export default defaultOptions;
|
|
@@ -22,16 +22,15 @@
|
|
|
22
22
|
var defaultOptions = {
|
|
23
23
|
/**
|
|
24
24
|
* The center of the map in terms of longitude and latitude. For
|
|
25
|
-
* preprojected maps (like in Map Collection v1.x), the
|
|
26
|
-
* x and y units.
|
|
25
|
+
* preprojected maps (like the GeoJSON files in Map Collection v1.x), the
|
|
26
|
+
* units are projected x and y units.
|
|
27
27
|
*
|
|
28
28
|
* @default [0, 0]
|
|
29
29
|
* @type {Highcharts.LonLatArray}
|
|
30
30
|
*
|
|
31
|
-
* @sample {highmaps} maps/mapview/center-zoom
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* Report the current view of a preprojected map
|
|
31
|
+
* @sample {highmaps} maps/mapview/center-zoom Custom view of a world map
|
|
32
|
+
* @sample {highmaps} maps/mapview/get-view Report the current view of a
|
|
33
|
+
* preprojected map
|
|
35
34
|
*/
|
|
36
35
|
center: [0, 0],
|
|
37
36
|
/**
|
|
@@ -51,27 +50,68 @@ var defaultOptions = {
|
|
|
51
50
|
*
|
|
52
51
|
* @sample {highmaps} maps/chart/plotbackgroundcolor-color
|
|
53
52
|
* Visible plot area and percentage padding
|
|
53
|
+
* @type {number|string|Array<number|string>}
|
|
54
54
|
*/
|
|
55
55
|
padding: 0,
|
|
56
56
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* GeoJSON.
|
|
60
|
-
*
|
|
61
|
-
* Sub-options are:
|
|
62
|
-
* * `name`, which as of v9.3 can be `EqualEarth`,
|
|
63
|
-
* `LambertConformalConic`, `Miller`, `Orthographic` or `WebMercator`.
|
|
64
|
-
* * `parallels`, the standard parallels for the LambertConformalConic
|
|
65
|
-
* projection.
|
|
66
|
-
* * `rotation`, a three-axis rotation of the globe prior to projection,
|
|
67
|
-
* which in practice can be used for example to render a world map with the
|
|
68
|
-
* Americas centered (`[90, 0]`), or to rotate an orthographic projection.
|
|
57
|
+
* The projection options allow applying client side projection to a map
|
|
58
|
+
* given in geographic coordinates, typically from TopoJSON or GeoJSON.
|
|
69
59
|
*
|
|
70
60
|
* @type {Object}
|
|
71
|
-
*
|
|
61
|
+
*
|
|
62
|
+
* @sample maps/mapview/projection-explorer
|
|
63
|
+
* Projection explorer
|
|
64
|
+
* @sample maps/demo/topojson-projection
|
|
72
65
|
* Orthographic projection
|
|
66
|
+
* @sample maps/mapview/projection-custom-proj4js
|
|
67
|
+
* Custom UTM projection definition
|
|
68
|
+
* @sample maps/mapview/projection-custom-d3geo
|
|
69
|
+
* Custom Robinson projection definition
|
|
73
70
|
*/
|
|
74
|
-
projection:
|
|
71
|
+
projection: {
|
|
72
|
+
/**
|
|
73
|
+
* Projection name. Built-in projections are `EqualEarth`,
|
|
74
|
+
* `LambertConformalConic`, `Miller`, `Orthographic` and `WebMercator`.
|
|
75
|
+
*
|
|
76
|
+
* @type {string}
|
|
77
|
+
* @sample maps/mapview/projection-explorer
|
|
78
|
+
* Projection explorer
|
|
79
|
+
* @sample maps/mapview/projection-custom-proj4js
|
|
80
|
+
* Custom UTM projection definition
|
|
81
|
+
* @sample maps/mapview/projection-custom-d3geo
|
|
82
|
+
* Custom Robinson projection definition
|
|
83
|
+
* @sample maps/demo/topojson-projection
|
|
84
|
+
* Orthographic projection
|
|
85
|
+
*/
|
|
86
|
+
name: void 0,
|
|
87
|
+
/**
|
|
88
|
+
* The two standard parallels that define the map layout in conic
|
|
89
|
+
* projections, like the LambertConformalConic projection. If only one
|
|
90
|
+
* number is given, the second parallel will be the same as the first.
|
|
91
|
+
*
|
|
92
|
+
* @sample maps/mapview/projection-parallels
|
|
93
|
+
* LCC projection with parallels
|
|
94
|
+
* @sample maps/mapview/projection-explorer
|
|
95
|
+
* Projection explorer
|
|
96
|
+
* @type {Array<number>}
|
|
97
|
+
*/
|
|
98
|
+
parallels: void 0,
|
|
99
|
+
/**
|
|
100
|
+
* Rotation of the projection in terms of degrees `[lambda, phi,
|
|
101
|
+
* gamma]`. When given, a three-axis spherical rotation is be applied
|
|
102
|
+
* to the globe prior to the projection.
|
|
103
|
+
*
|
|
104
|
+
* * `lambda` shifts the longitudes by the given value.
|
|
105
|
+
* * `phi` shifts the latitudes by the given value. Can be omitted.
|
|
106
|
+
* * `gamma` applies a _roll_. Can be omitted.
|
|
107
|
+
*
|
|
108
|
+
* @sample maps/mapview/projection-explorer
|
|
109
|
+
* Projection explorer
|
|
110
|
+
* @sample maps/mapview/projection-america-centric
|
|
111
|
+
* America-centric world map
|
|
112
|
+
*/
|
|
113
|
+
rotation: void 0
|
|
114
|
+
},
|
|
75
115
|
/**
|
|
76
116
|
* The zoom level of a map. Higher zoom levels means more zoomed in. An
|
|
77
117
|
* increase of 1 zooms in to a quarter of the viewed area (half the width
|
|
@@ -8,16 +8,20 @@
|
|
|
8
8
|
*
|
|
9
9
|
* */
|
|
10
10
|
'use strict';
|
|
11
|
-
var
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
12
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
13
|
+
if (ar || !(i in from)) {
|
|
14
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
15
|
+
ar[i] = from[i];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
17
19
|
};
|
|
20
|
+
import PC from '../Core/Geometry/PolygonClip.js';
|
|
21
|
+
var clipLineString = PC.clipLineString, clipPolygon = PC.clipPolygon;
|
|
18
22
|
import registry from './Projections/ProjectionRegistry.js';
|
|
19
23
|
import U from '../Core/Utilities.js';
|
|
20
|
-
var erase = U.erase;
|
|
24
|
+
var clamp = U.clamp, erase = U.erase;
|
|
21
25
|
var deg2rad = Math.PI * 2 / 360;
|
|
22
26
|
// Safe padding on either side of the antimeridian to avoid points being
|
|
23
27
|
// projected to the wrong side of the plane
|
|
@@ -47,35 +51,37 @@ var Projection = /** @class */ (function () {
|
|
|
47
51
|
this.hasGeoProjection = false;
|
|
48
52
|
this.maxLatitude = 90;
|
|
49
53
|
this.options = options;
|
|
50
|
-
var name = options.name, rotation = options.rotation;
|
|
54
|
+
var name = options.name, projectedBounds = options.projectedBounds, rotation = options.rotation;
|
|
51
55
|
this.rotator = rotation ? this.getRotator(rotation) : void 0;
|
|
52
|
-
|
|
56
|
+
var ProjectionDefinition = name ? Projection.registry[name] : void 0;
|
|
57
|
+
if (ProjectionDefinition) {
|
|
58
|
+
this.def = new ProjectionDefinition(options);
|
|
59
|
+
}
|
|
53
60
|
var _a = this, def = _a.def, rotator = _a.rotator;
|
|
54
61
|
if (def) {
|
|
55
|
-
if (def.init) {
|
|
56
|
-
def.init(options);
|
|
57
|
-
}
|
|
58
62
|
this.maxLatitude = def.maxLatitude || 90;
|
|
59
63
|
this.hasGeoProjection = true;
|
|
60
64
|
}
|
|
61
65
|
if (rotator && def) {
|
|
62
66
|
this.forward = function (lonLat) {
|
|
63
|
-
|
|
64
|
-
return def.forward(lonLat);
|
|
67
|
+
return def.forward(rotator.forward(lonLat));
|
|
65
68
|
};
|
|
66
69
|
this.inverse = function (xy) {
|
|
67
|
-
|
|
68
|
-
return rotator.inverse(lonLat);
|
|
70
|
+
return rotator.inverse(def.inverse(xy));
|
|
69
71
|
};
|
|
70
72
|
}
|
|
71
73
|
else if (def) {
|
|
72
|
-
this.forward = def.forward;
|
|
73
|
-
this.inverse = def.inverse;
|
|
74
|
+
this.forward = function (lonLat) { return def.forward(lonLat); };
|
|
75
|
+
this.inverse = function (xy) { return def.inverse(xy); };
|
|
74
76
|
}
|
|
75
77
|
else if (rotator) {
|
|
76
78
|
this.forward = rotator.forward;
|
|
77
79
|
this.inverse = rotator.inverse;
|
|
78
80
|
}
|
|
81
|
+
// Projected bounds/clipping
|
|
82
|
+
this.bounds = projectedBounds === 'world' ?
|
|
83
|
+
def && def.bounds :
|
|
84
|
+
projectedBounds;
|
|
79
85
|
}
|
|
80
86
|
// Add a projection definition to the registry, accessible by its `name`.
|
|
81
87
|
Projection.add = function (name, definition) {
|
|
@@ -127,7 +133,7 @@ var Projection = /** @class */ (function () {
|
|
|
127
133
|
if (roughDistance > 10) {
|
|
128
134
|
var greatCircle = Projection.greatCircle(poly[i], poly[i + 1]);
|
|
129
135
|
if (greatCircle.length) {
|
|
130
|
-
poly.splice.apply(poly,
|
|
136
|
+
poly.splice.apply(poly, __spreadArray([i + 1, 0], greatCircle, false));
|
|
131
137
|
}
|
|
132
138
|
}
|
|
133
139
|
}
|
|
@@ -136,6 +142,37 @@ var Projection = /** @class */ (function () {
|
|
|
136
142
|
var _a = options || {}, name = _a.name, rotation = _a.rotation;
|
|
137
143
|
return [name, rotation && rotation.join(',')].join(';');
|
|
138
144
|
};
|
|
145
|
+
Projection.prototype.lineIntersectsBounds = function (line) {
|
|
146
|
+
var _a = this.bounds || {}, x1 = _a.x1, x2 = _a.x2, y1 = _a.y1, y2 = _a.y2;
|
|
147
|
+
var getIntersect = function (line, dim, val) {
|
|
148
|
+
var p1 = line[0], p2 = line[1], otherDim = dim ? 0 : 1;
|
|
149
|
+
// Check if points are on either side of the line
|
|
150
|
+
if (typeof val === 'number' && p1[dim] >= val !== p2[dim] >= val) {
|
|
151
|
+
var fraction = ((val - p1[dim]) / (p2[dim] - p1[dim])), crossingVal = p1[otherDim] +
|
|
152
|
+
fraction * (p2[otherDim] - p1[otherDim]);
|
|
153
|
+
return dim ? [crossingVal, val] : [val, crossingVal];
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
var intersection, ret = line[0];
|
|
157
|
+
if ((intersection = getIntersect(line, 0, x1))) {
|
|
158
|
+
ret = intersection;
|
|
159
|
+
// Assuming line[1] was originally outside, replace it with the
|
|
160
|
+
// intersection point so that the horizontal intersection will
|
|
161
|
+
// be correct.
|
|
162
|
+
line[1] = intersection;
|
|
163
|
+
}
|
|
164
|
+
else if ((intersection = getIntersect(line, 0, x2))) {
|
|
165
|
+
ret = intersection;
|
|
166
|
+
line[1] = intersection;
|
|
167
|
+
}
|
|
168
|
+
if ((intersection = getIntersect(line, 1, y1))) {
|
|
169
|
+
ret = intersection;
|
|
170
|
+
}
|
|
171
|
+
else if ((intersection = getIntersect(line, 1, y2))) {
|
|
172
|
+
ret = intersection;
|
|
173
|
+
}
|
|
174
|
+
return ret;
|
|
175
|
+
};
|
|
139
176
|
/*
|
|
140
177
|
* Take the rotation options and return the appropriate projection functions
|
|
141
178
|
*/
|
|
@@ -174,12 +211,12 @@ var Projection = /** @class */ (function () {
|
|
|
174
211
|
Projection.prototype.forward = function (lonLat) {
|
|
175
212
|
return lonLat;
|
|
176
213
|
};
|
|
177
|
-
//
|
|
178
|
-
// when projection is set.
|
|
214
|
+
// Unproject an xy chart coordinate position to lonlat. Dynamically
|
|
215
|
+
// overridden when projection is set.
|
|
179
216
|
Projection.prototype.inverse = function (xy) {
|
|
180
217
|
return xy;
|
|
181
218
|
};
|
|
182
|
-
Projection.prototype.
|
|
219
|
+
Projection.prototype.cutOnAntimeridian = function (poly, isPolygon) {
|
|
183
220
|
var antimeridian = 180;
|
|
184
221
|
var intersections = [];
|
|
185
222
|
var polygons = [poly];
|
|
@@ -201,10 +238,9 @@ var Projection = /** @class */ (function () {
|
|
|
201
238
|
// ... and on either side of the plane
|
|
202
239
|
(lon1 > 0) !== (lon2 > 0)) {
|
|
203
240
|
// Interpolate to the intersection latitude
|
|
204
|
-
var fraction = (antimeridian -
|
|
205
|
-
(
|
|
206
|
-
|
|
207
|
-
fraction * (lonLat[1] - previousLonLat[1]);
|
|
241
|
+
var fraction = clamp((antimeridian - (lon1 + 360) % 360) /
|
|
242
|
+
((lon2 + 360) % 360 - (lon1 + 360) % 360), 0, 1), lat = (previousLonLat[1] +
|
|
243
|
+
fraction * (lonLat[1] - previousLonLat[1]));
|
|
208
244
|
intersections.push({
|
|
209
245
|
i: i,
|
|
210
246
|
lat: lat,
|
|
@@ -234,8 +270,8 @@ var Projection = /** @class */ (function () {
|
|
|
234
270
|
intersections[i].direction * floatCorrection);
|
|
235
271
|
var lonMinus = wrapLon(antimeridian -
|
|
236
272
|
intersections[i].direction * floatCorrection);
|
|
237
|
-
var slice = poly.splice.apply(poly,
|
|
238
|
-
intersections[i + 1].i - index], Projection.greatCircle([lonPlus, intersections[i].lat], [lonPlus, intersections[i + 1].lat], true)));
|
|
273
|
+
var slice = poly.splice.apply(poly, __spreadArray([index,
|
|
274
|
+
intersections[i + 1].i - index], Projection.greatCircle([lonPlus, intersections[i].lat], [lonPlus, intersections[i + 1].lat], true), false));
|
|
239
275
|
// Add interpolated points close to the cut
|
|
240
276
|
slice.push.apply(slice, Projection.greatCircle([lonMinus, intersections[i + 1].lat], [lonMinus, intersections[i].lat], true));
|
|
241
277
|
polygons.push(slice);
|
|
@@ -244,18 +280,25 @@ var Projection = /** @class */ (function () {
|
|
|
244
280
|
// Insert dummy points close to the pole
|
|
245
281
|
if (polarIntersection) {
|
|
246
282
|
for (var i_1 = 0; i_1 < polygons.length; i_1++) {
|
|
247
|
-
var poly_1 = polygons[i_1];
|
|
248
|
-
var indexOf = poly_1.indexOf(polarIntersection.lonLat);
|
|
283
|
+
var direction = polarIntersection.direction, lat = polarIntersection.lat, poly_1 = polygons[i_1], indexOf = poly_1.indexOf(polarIntersection.lonLat);
|
|
249
284
|
if (indexOf > -1) {
|
|
250
|
-
var polarLatitude = (
|
|
285
|
+
var polarLatitude = (lat < 0 ? -1 : 1) *
|
|
251
286
|
this.maxLatitude;
|
|
252
287
|
var lon1 = wrapLon(antimeridian +
|
|
253
|
-
|
|
288
|
+
direction * floatCorrection);
|
|
254
289
|
var lon2 = wrapLon(antimeridian -
|
|
255
|
-
|
|
256
|
-
var polarSegment = Projection.greatCircle([lon1,
|
|
257
|
-
|
|
258
|
-
|
|
290
|
+
direction * floatCorrection);
|
|
291
|
+
var polarSegment = Projection.greatCircle([lon1, lat], [lon1, polarLatitude], true);
|
|
292
|
+
// Circle around the pole point in order to make
|
|
293
|
+
// polygon clipping right. Without this, Antarctica
|
|
294
|
+
// would wrap the wrong way in an LLC projection
|
|
295
|
+
// with parallels [30, 40].
|
|
296
|
+
for (var lon = lon1 + 120 * direction; lon > -180 && lon < 180; lon += 120 * direction) {
|
|
297
|
+
polarSegment.push([lon, polarLatitude]);
|
|
298
|
+
}
|
|
299
|
+
polarSegment.push.apply(polarSegment, Projection.greatCircle([lon2, polarLatitude], [lon2, polarIntersection.lat], true));
|
|
300
|
+
poly_1.splice.apply(poly_1, __spreadArray([indexOf,
|
|
301
|
+
0], polarSegment, false));
|
|
259
302
|
break;
|
|
260
303
|
}
|
|
261
304
|
}
|
|
@@ -283,18 +326,12 @@ var Projection = /** @class */ (function () {
|
|
|
283
326
|
}
|
|
284
327
|
}
|
|
285
328
|
}
|
|
286
|
-
// Insert great circles along the cuts
|
|
287
|
-
/*
|
|
288
|
-
if (isPolygon && polygons.length > 1 || polarIntersection) {
|
|
289
|
-
polygons.forEach(Projection.insertGreatCircles);
|
|
290
|
-
}
|
|
291
|
-
*/
|
|
292
329
|
return polygons;
|
|
293
330
|
};
|
|
294
331
|
// Take a GeoJSON geometry and return a translated SVGPath
|
|
295
332
|
Projection.prototype.path = function (geometry) {
|
|
296
333
|
var _this = this;
|
|
297
|
-
var _a = this, def = _a.def, rotator = _a.rotator;
|
|
334
|
+
var _a = this, bounds = _a.bounds, def = _a.def, rotator = _a.rotator;
|
|
298
335
|
var antimeridian = 180;
|
|
299
336
|
var path = [];
|
|
300
337
|
var isPolygon = geometry.type === 'Polygon' ||
|
|
@@ -303,12 +340,23 @@ var Projection = /** @class */ (function () {
|
|
|
303
340
|
// positive. It depends on whether the coordinates are
|
|
304
341
|
// pre-projected.
|
|
305
342
|
var hasGeoProjection = this.hasGeoProjection;
|
|
306
|
-
//
|
|
307
|
-
|
|
343
|
+
// Detect whether we need to do antimeridian cutting and clipping to
|
|
344
|
+
// bounds. The alternative (currently for Orthographic) is to apply a
|
|
345
|
+
// clip angle.
|
|
346
|
+
var projectingToPlane = !def || def.antimeridianCutting !== false;
|
|
308
347
|
// We need to rotate in a separate step before applying antimeridian
|
|
309
|
-
//
|
|
348
|
+
// cutting
|
|
310
349
|
var preclip = projectingToPlane ? rotator : void 0;
|
|
311
350
|
var postclip = projectingToPlane ? (def || this) : this;
|
|
351
|
+
var boundsPolygon;
|
|
352
|
+
if (bounds) {
|
|
353
|
+
boundsPolygon = [
|
|
354
|
+
[bounds.x1, bounds.y1],
|
|
355
|
+
[bounds.x2, bounds.y1],
|
|
356
|
+
[bounds.x2, bounds.y2],
|
|
357
|
+
[bounds.x1, bounds.y2]
|
|
358
|
+
];
|
|
359
|
+
}
|
|
312
360
|
var addToPath = function (polygon) {
|
|
313
361
|
// Create a copy of the original coordinates. The copy applies a
|
|
314
362
|
// correction of points close to the antimeridian in order to
|
|
@@ -338,7 +386,7 @@ var Projection = /** @class */ (function () {
|
|
|
338
386
|
// Insert great circles into long straight lines
|
|
339
387
|
Projection.insertGreatCircles(poly);
|
|
340
388
|
if (projectingToPlane) {
|
|
341
|
-
polygons = _this.
|
|
389
|
+
polygons = _this.cutOnAntimeridian(poly, isPolygon);
|
|
342
390
|
}
|
|
343
391
|
}
|
|
344
392
|
polygons.forEach(function (poly) {
|
|
@@ -358,52 +406,98 @@ var Projection = /** @class */ (function () {
|
|
|
358
406
|
path.push(['L', point[0], point[1]]);
|
|
359
407
|
}
|
|
360
408
|
};
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
var
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
409
|
+
var someOutside = false, someInside = false;
|
|
410
|
+
var points = poly.map(function (lonLat) {
|
|
411
|
+
var xy = postclip.forward(lonLat);
|
|
412
|
+
if (xy.outside) {
|
|
413
|
+
someOutside = true;
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
someInside = true;
|
|
417
|
+
}
|
|
418
|
+
// Mercator projects pole points to Infinity, and
|
|
419
|
+
// clipPolygon is not able to handle it.
|
|
420
|
+
if (xy[1] === Infinity) {
|
|
421
|
+
xy[1] = 10e9;
|
|
422
|
+
}
|
|
423
|
+
else if (xy[1] === -Infinity) {
|
|
424
|
+
xy[1] = -10e9;
|
|
425
|
+
}
|
|
426
|
+
return xy;
|
|
427
|
+
});
|
|
428
|
+
if (projectingToPlane) {
|
|
429
|
+
// Wrap around in order for pointInPolygon to work
|
|
430
|
+
if (isPolygon) {
|
|
431
|
+
points.push(points[0]);
|
|
432
|
+
}
|
|
433
|
+
if (someOutside) {
|
|
434
|
+
// All points are outside
|
|
435
|
+
if (!someInside) {
|
|
436
|
+
return;
|
|
378
437
|
}
|
|
379
|
-
//
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
// close to the horizon. A possible exception may be
|
|
386
|
-
// when the two points are on opposite sides of the
|
|
387
|
-
// globe. It that poses a problem, we may have to
|
|
388
|
-
// rewrite this to use the small circle related to
|
|
389
|
-
// the current lon0 and lat0.
|
|
390
|
-
if (isPolygon && hasGeoProjection) {
|
|
391
|
-
var greatCircle = Projection.greatCircle(lastValidLonLat, lonLat);
|
|
392
|
-
greatCircle.forEach(function (lonLat) {
|
|
393
|
-
return pushToPath(postclip.forward(lonLat));
|
|
394
|
-
});
|
|
395
|
-
// For lines, just jump over the gap
|
|
438
|
+
// Some inside, some outside. Clip to the bounds.
|
|
439
|
+
if (boundsPolygon) {
|
|
440
|
+
// Polygons
|
|
441
|
+
if (isPolygon) {
|
|
442
|
+
points = clipPolygon(points, boundsPolygon);
|
|
443
|
+
// Linestrings
|
|
396
444
|
}
|
|
397
|
-
else {
|
|
398
|
-
|
|
445
|
+
else if (bounds) {
|
|
446
|
+
clipLineString(points, boundsPolygon)
|
|
447
|
+
.forEach(function (points) {
|
|
448
|
+
movedTo = false;
|
|
449
|
+
points.forEach(pushToPath);
|
|
450
|
+
});
|
|
451
|
+
return;
|
|
399
452
|
}
|
|
400
453
|
}
|
|
401
|
-
pushToPath(point);
|
|
402
|
-
lastValidLonLat = lonLat;
|
|
403
|
-
gap = false;
|
|
404
454
|
}
|
|
405
|
-
|
|
406
|
-
|
|
455
|
+
points.forEach(pushToPath);
|
|
456
|
+
// For orthographic projection, or when a clipAngle applies
|
|
457
|
+
}
|
|
458
|
+
else {
|
|
459
|
+
for (var i = 0; i < points.length; i++) {
|
|
460
|
+
var lonLat = poly[i], point = points[i];
|
|
461
|
+
if (!point.outside) {
|
|
462
|
+
// In order to be able to interpolate if the first
|
|
463
|
+
// or last point is invalid (on the far side of the
|
|
464
|
+
// globe in an orthographic projection), we need to
|
|
465
|
+
// push the first valid point to the end of the
|
|
466
|
+
// polygon.
|
|
467
|
+
if (isPolygon && !firstValidLonLat) {
|
|
468
|
+
firstValidLonLat = lonLat;
|
|
469
|
+
poly.push(lonLat);
|
|
470
|
+
points.push(point);
|
|
471
|
+
}
|
|
472
|
+
// When entering the first valid point after a gap
|
|
473
|
+
// of invalid points, typically on the far side of
|
|
474
|
+
// the globe in an orthographic projection.
|
|
475
|
+
if (gap && lastValidLonLat) {
|
|
476
|
+
// For areas, in an orthographic projection, the
|
|
477
|
+
// great circle between two visible points will
|
|
478
|
+
// be close to the horizon. A possible exception
|
|
479
|
+
// may be when the two points are on opposite
|
|
480
|
+
// sides of the globe. It that poses a problem,
|
|
481
|
+
// we may have to rewrite this to use the small
|
|
482
|
+
// circle related to the current lon0 and lat0.
|
|
483
|
+
if (isPolygon && hasGeoProjection) {
|
|
484
|
+
var greatCircle = Projection.greatCircle(lastValidLonLat, lonLat);
|
|
485
|
+
greatCircle.forEach(function (lonLat) {
|
|
486
|
+
return pushToPath(postclip.forward(lonLat));
|
|
487
|
+
});
|
|
488
|
+
// For lines, just jump over the gap
|
|
489
|
+
}
|
|
490
|
+
else {
|
|
491
|
+
movedTo = false;
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
pushToPath(point);
|
|
495
|
+
lastValidLonLat = lonLat;
|
|
496
|
+
gap = false;
|
|
497
|
+
}
|
|
498
|
+
else {
|
|
499
|
+
gap = true;
|
|
500
|
+
}
|
|
407
501
|
}
|
|
408
502
|
}
|
|
409
503
|
});
|