highcharts 9.2.2 → 9.3.3
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 +46 -1
- package/css/highcharts.scss +40 -0
- package/css/stocktools/gui.css +1 -1
- package/css/themes/dark-unica.css +46 -1
- package/css/themes/grid-light.css +46 -1
- package/css/themes/sand-signika.css +46 -1
- package/es-modules/Accessibility/A11yI18n.js +269 -224
- package/es-modules/Accessibility/Accessibility.js +244 -129
- package/es-modules/Accessibility/AccessibilityComponent.js +78 -313
- package/es-modules/Accessibility/Components/AnnotationsA11y.js +19 -5
- package/es-modules/Accessibility/Components/ContainerComponent.js +53 -28
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +178 -120
- package/es-modules/Accessibility/Components/LegendComponent.js +251 -129
- package/es-modules/Accessibility/Components/MenuComponent.js +250 -154
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +172 -93
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +161 -115
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +138 -69
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +67 -28
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +48 -56
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +387 -343
- package/es-modules/Accessibility/Components/ZoomComponent.js +156 -70
- package/es-modules/Accessibility/FocusBorder.js +192 -152
- package/es-modules/Accessibility/HighContrastMode.js +79 -66
- package/es-modules/Accessibility/HighContrastTheme.js +10 -0
- package/es-modules/Accessibility/KeyboardNavigation.js +151 -75
- package/es-modules/Accessibility/KeyboardNavigationHandler.js +71 -44
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +21 -4
- package/es-modules/Accessibility/Options/LangOptions.js +4 -5
- package/es-modules/Accessibility/Options/Options.js +32 -17
- package/es-modules/Accessibility/ProxyElement.js +218 -0
- package/es-modules/Accessibility/ProxyProvider.js +302 -0
- package/es-modules/Accessibility/Utils/Announcer.js +17 -10
- package/es-modules/Accessibility/Utils/ChartUtilities.js +55 -45
- 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 -42
- package/es-modules/Core/Animation/Fx.js +5 -14
- package/es-modules/Core/Axis/Axis.js +77 -96
- package/es-modules/Core/Axis/Axis3D.js +10 -4
- package/es-modules/Core/Axis/AxisDefaults.js +35 -24
- package/es-modules/Core/Axis/BrokenAxis.js +17 -11
- package/es-modules/Core/Axis/Color/ColorAxis.js +7 -4
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +55 -5
- package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +5 -5
- package/es-modules/Core/Axis/DateTimeAxis.js +3 -14
- package/es-modules/Core/Axis/GridAxis.js +26 -16
- package/es-modules/Core/Axis/NavigatorAxis.js +0 -5
- package/es-modules/Core/Axis/OrdinalAxis.js +88 -92
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +4 -5
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +0 -5
- package/es-modules/Core/Axis/RadialAxis.js +7 -28
- package/es-modules/Core/Axis/ScrollbarAxis.js +27 -12
- package/es-modules/Core/Axis/StackingAxis.js +2 -1
- package/es-modules/Core/Axis/Tick.js +2 -4
- package/es-modules/Core/Axis/TreeGridAxis.js +28 -19
- package/es-modules/Core/Axis/TreeGridTick.js +5 -3
- package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
- package/es-modules/Core/Axis/ZAxis.js +1 -1
- package/es-modules/Core/Chart/Chart.js +44 -47
- package/es-modules/Core/Chart/Chart3D.js +23 -10
- package/es-modules/Core/Chart/ChartDefaults.js +3 -4
- package/es-modules/Core/Chart/ChartNavigationComposition.js +92 -0
- package/es-modules/Core/Chart/GanttChart.js +4 -4
- package/es-modules/Core/Chart/MapChart.js +13 -25
- package/es-modules/Core/Chart/StockChart.js +13 -316
- package/es-modules/Core/Color/Palettes.js +22 -0
- package/es-modules/Core/DefaultOptions.js +22 -19
- package/es-modules/Core/Foundation.js +39 -31
- package/es-modules/Core/Geometry/CircleUtilities.js +2 -1
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/HttpUtilities.js +8 -7
- package/es-modules/Core/Legend/Legend.js +19 -16
- package/es-modules/Core/Navigator.js +41 -30
- package/es-modules/Core/Pointer.js +52 -45
- package/es-modules/Core/Renderer/HTML/AST.js +29 -14
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +27 -20
- package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +8 -6
- package/es-modules/Core/Renderer/RendererUtilities.js +2 -2
- package/es-modules/Core/Renderer/SVG/SVGElement.js +11 -20
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +17 -8
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +25 -29
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +12 -5
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +18 -12
- package/es-modules/Core/Responsive.js +2 -3
- package/es-modules/Core/Scrollbar.js +14 -12
- package/es-modules/Core/ScrollbarDefaults.js +10 -9
- package/es-modules/Core/Series/DataLabel.js +19 -15
- package/es-modules/Core/Series/Point.js +22 -19
- package/es-modules/Core/Series/Series.js +197 -235
- package/es-modules/Core/Series/SeriesDefaults.js +8 -8
- package/es-modules/Core/Series/SeriesRegistry.js +1 -2
- package/es-modules/Core/Time.js +14 -11
- package/es-modules/Core/Tooltip.js +63 -53
- package/es-modules/Core/Utilities.js +20 -24
- package/es-modules/Data/DataConverter.js +483 -0
- package/es-modules/Data/DataPromise.js +252 -0
- package/es-modules/Data/DataSeriesConverter.js +207 -0
- package/es-modules/Data/DataTable.js +1205 -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 +400 -0
- package/es-modules/Data/Parsers/DataParser.js +101 -0
- package/es-modules/Data/Parsers/GoogleSheetsParser.js +223 -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 +169 -0
- package/es-modules/Data/Stores/HTMLTableStore.js +353 -0
- package/es-modules/Extensions/Annotations/Annotations.js +69 -18
- package/es-modules/Extensions/Annotations/ControlPoint.js +1 -3
- package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +1 -1
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +199 -0
- package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +1 -1
- package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +3 -6
- package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +3 -2
- package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +1 -1
- package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +13 -4
- package/es-modules/Extensions/Annotations/Mixins/EventEmitterMixin.js +0 -1
- package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +5 -4
- package/es-modules/Extensions/Annotations/NavigationBindings.js +120 -53
- package/es-modules/Extensions/Annotations/Popup.js +494 -148
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +51 -2
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +5 -3
- package/es-modules/Extensions/Annotations/Types/ElliottWave.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 +29 -19
- package/es-modules/Extensions/Annotations/Types/Pitchfork.js +7 -6
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +211 -0
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +13 -10
- 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 +6 -10
- package/es-modules/Extensions/Boost/BoostUtils.js +0 -6
- package/es-modules/Extensions/Boost/WGLRenderer.js +16 -12
- package/es-modules/Extensions/Boost/WGLShader.js +13 -11
- package/es-modules/Extensions/Boost/WGLVBuffer.js +4 -7
- package/es-modules/Extensions/BoostCanvas.js +1 -2
- package/es-modules/Extensions/CurrentDateIndication.js +2 -3
- package/es-modules/Extensions/Data.js +4 -48
- package/es-modules/Extensions/DataGrouping.js +52 -32
- package/es-modules/Extensions/DownloadURL.js +2 -2
- package/es-modules/Extensions/DragPanes.js +1 -2
- package/es-modules/Extensions/DraggablePoints.js +7 -8
- package/es-modules/Extensions/Drilldown.js +11 -7
- package/es-modules/Extensions/ExportData.js +6 -5
- package/es-modules/Extensions/Exporting/Exporting.js +33 -46
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +8 -15
- package/es-modules/Extensions/FullScreen.js +4 -3
- package/es-modules/Extensions/GeoJSON.js +42 -66
- package/es-modules/Extensions/MarkerClusters.js +118 -98
- package/es-modules/Extensions/Math3D.js +4 -4
- package/es-modules/Extensions/NoDataToDisplay.js +1 -2
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +32 -32
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +14 -79
- package/es-modules/Extensions/Oldie/VMLAxis3D.js +5 -1
- package/es-modules/Extensions/OverlappingDataLabels.js +10 -6
- package/es-modules/Extensions/Pane.js +11 -12
- package/es-modules/Extensions/ParallelCoordinates.js +5 -3
- package/es-modules/Extensions/PatternFill.js +17 -11
- package/es-modules/Extensions/Polar.js +7 -4
- package/es-modules/Extensions/PriceIndication.js +2 -1
- package/es-modules/Extensions/RangeSelector.js +22 -59
- package/es-modules/Extensions/ScrollablePlotArea.js +2 -2
- package/es-modules/Extensions/SeriesLabel.js +1 -1
- package/es-modules/Extensions/Sonification/ChartSonify.js +279 -663
- package/es-modules/Extensions/Sonification/Earcon.js +136 -102
- package/es-modules/Extensions/Sonification/Instrument.js +493 -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 +207 -152
- package/es-modules/Extensions/Sonification/SeriesSonify.js +474 -0
- package/es-modules/Extensions/Sonification/SignalHandler.js +122 -0
- package/es-modules/Extensions/Sonification/Sonification.js +27 -53
- package/es-modules/Extensions/Sonification/{Utilities.js → SonificationUtilities.js} +70 -88
- package/es-modules/Extensions/Sonification/Timeline.js +250 -567
- package/es-modules/Extensions/Sonification/TimelineEvent.js +157 -0
- package/es-modules/Extensions/Sonification/TimelinePath.js +311 -0
- package/es-modules/Extensions/Stacking.js +5 -23
- package/es-modules/Extensions/Themes/BrandDark.js +293 -0
- package/es-modules/Extensions/Themes/BrandLight.js +259 -0
- package/es-modules/Extensions/Themes/DarkUnica.js +4 -2
- package/es-modules/Extensions/Themes/Grid.js +4 -2
- package/es-modules/Extensions/Themes/GridLight.js +4 -2
- package/es-modules/Gantt/Connection.js +2 -2
- package/es-modules/Gantt/Pathfinder.js +6 -5
- package/es-modules/Gantt/PathfinderAlgorithms.js +12 -12
- package/es-modules/Maps/MapNavigation.js +30 -68
- package/es-modules/Maps/MapNavigationOptionsDefault.js +3 -0
- package/es-modules/Maps/MapPointer.js +8 -5
- package/es-modules/Maps/MapSymbols.js +23 -3
- 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/Area/AreaSeries.js +13 -13
- package/es-modules/Series/Area3DSeries.js +4 -2
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +28 -17
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +4 -9
- 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 +5 -15
- 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 -19
- package/es-modules/{Mixins/CenteredSeries.js → Series/CenteredUtilities.js} +45 -23
- package/es-modules/{Mixins/ColorMapSeries.js → Series/ColorMapMixin.js} +10 -8
- package/es-modules/Series/Column/ColumnDataLabel.js +5 -5
- package/es-modules/Series/Column/ColumnSeries.js +19 -18
- package/es-modules/Series/Column3D/Column3DComposition.js +1 -2
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +11 -8
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +2 -1
- package/es-modules/Series/Cylinder/CylinderComposition.js +36 -4
- package/es-modules/Series/DataModifyComposition.js +539 -0
- package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +2 -6
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +1 -1
- package/es-modules/Series/DerivedComposition.js +137 -0
- package/es-modules/Series/DrawPointComposition.js +111 -0
- package/es-modules/Series/Dumbbell/DumbbellPoint.js +0 -1
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +2 -6
- package/es-modules/Series/ErrorBar/ErrorBarSeries.js +1 -2
- package/es-modules/Series/Flags/FlagsSeries.js +18 -25
- package/es-modules/Series/Flags/FlagsSymbols.js +2 -2
- package/es-modules/Series/Funnel/FunnelSeries.js +6 -5
- package/es-modules/Series/Funnel3D/Funnel3DComposition.js +14 -8
- package/es-modules/Series/Funnel3D/Funnel3DSeries.js +2 -1
- package/es-modules/Series/Gantt/GanttPoint.js +1 -1
- package/es-modules/Series/Gantt/GanttSeries.js +3 -3
- 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 +378 -0
- package/es-modules/Series/Heatmap/HeatmapPoint.js +13 -14
- package/es-modules/Series/Heatmap/HeatmapSeries.js +24 -12
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +10 -9
- package/es-modules/Series/Histogram/HistogramSeries.js +7 -11
- package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +1 -4
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +28 -30
- package/es-modules/Series/Item/ItemSeries.js +4 -5
- package/es-modules/Series/Line/LineSeries.js +1 -2
- package/es-modules/Series/Map/MapPoint.js +27 -14
- package/es-modules/Series/Map/MapSeries.js +283 -322
- 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 -4
- package/es-modules/Series/MapPoint/MapPointPoint.js +5 -1
- package/es-modules/Series/MapPoint/MapPointSeries.js +99 -14
- package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -4
- package/es-modules/Series/Networkgraph/Integrations.js +8 -22
- package/es-modules/Series/Networkgraph/Networkgraph.js +6 -10
- package/es-modules/Series/Networkgraph/QuadTree.js +1 -3
- package/es-modules/{Mixins/Nodes.js → Series/NodesComposition.js} +78 -30
- package/es-modules/Series/OHLC/OHLCPoint.js +2 -7
- 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 +6 -5
- package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +1 -0
- package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +48 -10
- package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -7
- package/es-modules/Series/Pie/PieDataLabel.js +1 -2
- package/es-modules/Series/Pie/PiePoint.js +2 -2
- package/es-modules/Series/Pie/PieSeries.js +7 -8
- package/es-modules/Series/Pie3D/Pie3DComposition.js +2 -1
- package/es-modules/Series/Pie3D/Pie3DPoint.js +2 -1
- package/es-modules/Series/Pie3D/Pie3DSeries.js +1 -1
- package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +2 -1
- package/es-modules/Series/Sankey/SankeyPoint.js +0 -4
- package/es-modules/Series/Sankey/SankeySeries.js +92 -22
- package/es-modules/Series/SolidGauge/SolidGaugeComposition.js +3 -1
- package/es-modules/Series/Spline/SplineSeries.js +0 -8
- package/es-modules/Series/Sunburst/SunburstPoint.js +2 -3
- package/es-modules/Series/Sunburst/SunburstSeries.js +6 -6
- package/es-modules/Series/Sunburst/SunburstUtilities.js +3 -2
- package/es-modules/Series/Tilemap/TilemapPoint.js +2 -5
- package/es-modules/Series/Tilemap/TilemapShapes.js +0 -7
- package/es-modules/Series/Timeline/TimelineSeries.js +3 -4
- package/es-modules/{Mixins/TreeSeries.js → Series/TreeUtilities.js} +88 -78
- package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
- package/es-modules/Series/Treemap/TreemapSeries.js +22 -25
- package/es-modules/Series/Variwide/VariwideSeries.js +5 -1
- package/es-modules/Series/Venn/VennPoint.js +16 -7
- package/es-modules/Series/Venn/VennSeries.js +11 -17
- package/es-modules/Series/Venn/VennUtils.js +551 -439
- package/es-modules/Series/Waterfall/WaterfallSeries.js +8 -6
- 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 +26 -22
- package/es-modules/Series/Wordcloud/WordcloudUtils.js +669 -484
- package/es-modules/Series/XRange/XRangePoint.js +7 -12
- package/es-modules/Series/XRange/XRangeSeries.js +4 -20
- package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +15 -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 +4 -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 +39 -11
- package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +35 -15
- 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 +28 -16
- package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +18 -11
- package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +1 -3
- package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +6 -6
- package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +23 -9
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +16 -19
- package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +32 -14
- 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 +2 -3
- package/es-modules/Stock/Indicators/MultipleLinesComposition.js +294 -0
- package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +1 -3
- package/es-modules/Stock/Indicators/PC/PCIndicator.js +25 -13
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -11
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +2 -1
- package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +2 -1
- package/es-modules/Stock/Indicators/SMA/SMAComposition.js +0 -26
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +32 -50
- package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +0 -8
- package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +18 -9
- 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 +26 -10
- package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +19 -7
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +2 -3
- package/es-modules/Stock/StockToolsBindings.js +156 -47
- package/es-modules/Stock/StockToolsGui.js +442 -37
- 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/brand-dark.src.js +14 -0
- package/es-modules/masters/themes/brand-light.src.js +14 -0
- 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.js.map +1 -1
- package/highcharts-3d.src.js +65 -35
- package/highcharts-gantt.js +800 -803
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +1356 -1429
- package/highcharts-more.js +194 -193
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.js +280 -222
- package/highcharts.d.ts +10208 -761
- package/highcharts.js +585 -588
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +10208 -761
- package/highcharts.src.js +992 -1066
- package/highmaps.js +727 -707
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +3240 -2135
- package/highstock.js +788 -783
- package/highstock.js.map +1 -1
- package/highstock.src.js +2487 -1981
- package/indicators/acceleration-bands.d.ts +17 -1
- package/indicators/acceleration-bands.js +11 -9
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.d.ts +17 -1
- package/indicators/acceleration-bands.src.js +238 -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.d.ts +17 -1
- package/indicators/aroon-oscillator.js +10 -9
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.d.ts +17 -1
- package/indicators/aroon-oscillator.src.js +230 -177
- package/indicators/aroon.d.ts +17 -1
- package/indicators/aroon.js +11 -9
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.d.ts +17 -1
- package/indicators/aroon.src.js +227 -112
- package/indicators/atr.js +1 -1
- package/indicators/atr.src.js +1 -1
- package/indicators/bollinger-bands.d.ts +17 -1
- package/indicators/bollinger-bands.js +12 -9
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.d.ts +17 -1
- package/indicators/bollinger-bands.src.js +262 -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.js.map +1 -1
- package/indicators/cmf.src.js +36 -16
- 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 +20 -74
- package/indicators/dmi.js +12 -11
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +252 -121
- 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.js.map +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +7 -7
- package/indicators/indicators-all.d.ts +17 -1
- package/indicators/indicators-all.js +198 -203
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.d.ts +17 -1
- package/indicators/indicators-all.src.js +892 -777
- package/indicators/indicators.js +12 -12
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +213 -144
- package/indicators/keltner-channels.d.ts +17 -1
- package/indicators/keltner-channels.js +11 -10
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.d.ts +17 -1
- package/indicators/keltner-channels.src.js +246 -118
- package/indicators/klinger.js +14 -13
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +239 -187
- package/indicators/macd.js +2 -2
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +3 -4
- 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.js.map +1 -1
- package/indicators/pivot-points.src.js +3 -2
- package/indicators/ppo.js +5 -6
- package/indicators/ppo.js.map +1 -1
- package/indicators/ppo.src.js +3 -75
- package/indicators/price-channel.d.ts +17 -1
- package/indicators/price-channel.js +11 -9
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.d.ts +17 -1
- package/indicators/price-channel.src.js +288 -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.js.map +1 -1
- package/indicators/regressions.src.js +39 -21
- package/indicators/roc.js +1 -1
- package/indicators/roc.src.js +1 -1
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.js.map +1 -1
- package/indicators/rsi.src.js +3 -2
- 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.d.ts +17 -1
- package/indicators/stochastic.js +12 -10
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.d.ts +17 -1
- package/indicators/stochastic.src.js +282 -165
- 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 +27 -10
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.js.map +1 -1
- package/indicators/vwap.src.js +20 -8
- 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 +0 -30
- package/modules/accessibility.js +241 -216
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.d.ts +0 -30
- package/modules/accessibility.src.js +7818 -6398
- 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 +1716 -416
- package/modules/annotations.js +125 -110
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +1059 -304
- 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 +42 -51
- package/modules/broken-axis.js +1 -1
- package/modules/broken-axis.js.map +1 -1
- package/modules/broken-axis.src.js +18 -12
- 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 +77 -103
- 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.js.map +1 -1
- package/modules/cylinder.src.js +37 -5
- package/modules/data.d.ts +6 -6
- package/modules/data.js +31 -31
- package/modules/data.js.map +1 -1
- package/modules/data.src.d.ts +6 -6
- package/modules/data.src.js +18 -58
- package/modules/datagrouping.js +20 -20
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.js +54 -33
- package/modules/debugger.js +1 -1
- package/modules/debugger.src.js +1 -1
- package/modules/dependency-wheel.js +11 -11
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +5 -8
- 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.js.map +1 -1
- package/modules/draggable-points.src.js +8 -9
- package/modules/drilldown.js +24 -24
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.js +13 -8
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.js +4 -8
- package/modules/export-data.js +19 -19
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +9 -8
- package/modules/exporting.js +39 -38
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.js +132 -113
- package/modules/full-screen.js +1 -1
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +5 -4
- 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.js.map +1 -1
- package/modules/funnel3d.src.js +17 -10
- package/modules/gantt.js +217 -218
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +364 -363
- package/modules/grid-axis.js +1 -1
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +27 -19
- package/modules/heatmap.js +39 -39
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +132 -141
- package/modules/heikinashi.js +1 -1
- package/modules/heikinashi.js.map +1 -1
- package/modules/heikinashi.src.js +12 -10
- package/modules/histogram-bellcurve.js +13 -13
- package/modules/histogram-bellcurve.js.map +1 -1
- package/modules/histogram-bellcurve.src.js +97 -91
- package/modules/hollowcandlestick.js +9 -9
- package/modules/hollowcandlestick.js.map +1 -1
- package/modules/hollowcandlestick.src.js +31 -35
- package/modules/item-series.js +6 -6
- package/modules/item-series.js.map +1 -1
- package/modules/item-series.src.js +6 -6
- package/modules/lollipop.js +1 -1
- package/modules/lollipop.src.js +1 -1
- package/modules/map.d.ts +138 -14
- package/modules/map.js +144 -122
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +138 -14
- package/modules/map.src.js +2253 -1074
- package/modules/marker-clusters.js +36 -36
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +176 -143
- 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 +103 -78
- 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 -18
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +38 -43
- 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 +21 -81
- package/modules/organization.js +13 -13
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +8 -6
- 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.js.map +1 -1
- package/modules/parallel-coordinates.src.js +6 -4
- 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.js.map +1 -1
- package/modules/pathfinder.src.js +21 -20
- package/modules/pattern-fill.js +1 -1
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +18 -12
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.js.map +1 -1
- package/modules/price-indicator.src.js +3 -2
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.js.map +1 -1
- package/modules/pyramid3d.src.js +3 -2
- 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 +307 -181
- package/modules/series-label.js +1 -1
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +2 -2
- package/modules/solid-gauge.js +1 -1
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +17 -2
- package/modules/sonification.js +59 -55
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.js +3093 -2594
- 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 +1136 -229
- 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 +1820 -1240
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +60 -60
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +281 -248
- package/modules/tilemap.js +17 -17
- package/modules/tilemap.js.map +1 -1
- package/modules/tilemap.src.js +3 -13
- 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 +201 -169
- package/modules/treemap.js +41 -41
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +266 -232
- package/modules/variable-pie.js +1 -1
- package/modules/variable-pie.src.js +1 -1
- package/modules/variwide.js +1 -1
- package/modules/variwide.js.map +1 -1
- package/modules/variwide.src.js +7 -3
- 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 +740 -731
- 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 +898 -954
- package/modules/xrange.js +2 -2
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +12 -33
- package/package.json +1 -1
- package/themes/avocado.js +1 -1
- package/themes/avocado.src.js +1 -1
- package/themes/brand-dark.js +15 -0
- package/themes/brand-dark.js.map +1 -0
- package/themes/brand-dark.src.js +328 -0
- package/themes/brand-light.js +15 -0
- package/themes/brand-light.js.map +1 -0
- package/themes/brand-light.src.js +294 -0
- 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.js.map +1 -1
- package/themes/dark-unica.src.js +5 -3
- package/themes/gray.js +1 -1
- package/themes/gray.src.js +1 -1
- package/themes/grid-light.js +1 -1
- package/themes/grid-light.js.map +1 -1
- package/themes/grid-light.src.js +5 -3
- package/themes/grid.js +1 -1
- package/themes/grid.js.map +1 -1
- package/themes/grid.src.js +5 -3
- 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/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/MultipleLines.js +0 -181
- 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
|
@@ -10,365 +10,275 @@
|
|
|
10
10
|
*
|
|
11
11
|
* */
|
|
12
12
|
'use strict';
|
|
13
|
-
import
|
|
13
|
+
import Sonification from './Sonification.js';
|
|
14
14
|
import U from '../../Core/Utilities.js';
|
|
15
|
-
var merge = U.merge, splat = U.splat
|
|
15
|
+
var merge = U.merge, splat = U.splat;
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* @requires module:modules/sonification
|
|
20
|
-
*
|
|
17
|
+
* Internal types.
|
|
21
18
|
* @private
|
|
22
|
-
* @interface Highcharts.TimelineEventOptionsObject
|
|
23
|
-
*/ /**
|
|
24
|
-
* The object we want to sonify when playing the TimelineEvent. Can be any
|
|
25
|
-
* object that implements the `sonify` and `cancelSonify` functions. If this is
|
|
26
|
-
* not supplied, the TimelineEvent is considered a silent event, and the onEnd
|
|
27
|
-
* event is immediately called.
|
|
28
|
-
* @name Highcharts.TimelineEventOptionsObject#eventObject
|
|
29
|
-
* @type {*}
|
|
30
|
-
*/ /**
|
|
31
|
-
* Options to pass on to the eventObject when playing it.
|
|
32
|
-
* @name Highcharts.TimelineEventOptionsObject#playOptions
|
|
33
|
-
* @type {object|undefined}
|
|
34
|
-
*/ /**
|
|
35
|
-
* The time at which we want this event to play (in milliseconds offset). This
|
|
36
|
-
* is not used for the TimelineEvent.play function, but rather intended as a
|
|
37
|
-
* property to decide when to call TimelineEvent.play. Defaults to 0.
|
|
38
|
-
* @name Highcharts.TimelineEventOptionsObject#time
|
|
39
|
-
* @type {number|undefined}
|
|
40
|
-
*/ /**
|
|
41
|
-
* Unique ID for the event. Generated automatically if not supplied.
|
|
42
|
-
* @name Highcharts.TimelineEventOptionsObject#id
|
|
43
|
-
* @type {string|undefined}
|
|
44
|
-
*/ /**
|
|
45
|
-
* Callback called when the play has finished.
|
|
46
|
-
* @name Highcharts.TimelineEventOptionsObject#onEnd
|
|
47
|
-
* @type {Function|undefined}
|
|
48
|
-
*/
|
|
49
|
-
import utilities from './Utilities.js';
|
|
50
|
-
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
51
|
-
/**
|
|
52
|
-
* The TimelineEvent class. Represents a sound event on a timeline.
|
|
53
|
-
*
|
|
54
|
-
* @requires module:modules/sonification
|
|
55
|
-
*
|
|
56
|
-
* @private
|
|
57
|
-
* @class
|
|
58
|
-
* @name Highcharts.TimelineEvent
|
|
59
|
-
*
|
|
60
|
-
* @param {Highcharts.TimelineEventOptionsObject} options
|
|
61
|
-
* Options for the TimelineEvent.
|
|
62
|
-
*/
|
|
63
|
-
function TimelineEvent(options) {
|
|
64
|
-
this.init(options || {});
|
|
65
|
-
}
|
|
66
|
-
TimelineEvent.prototype.init = function (options) {
|
|
67
|
-
this.options = options;
|
|
68
|
-
this.time = options.time || 0;
|
|
69
|
-
this.id = this.options.id = options.id || uniqueKey();
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* Play the event. Does not take the TimelineEvent.time option into account,
|
|
73
|
-
* and plays the event immediately.
|
|
74
|
-
*
|
|
75
|
-
* @function Highcharts.TimelineEvent#play
|
|
76
|
-
*
|
|
77
|
-
* @param {Highcharts.TimelineEventOptionsObject} [options]
|
|
78
|
-
* Options to pass in to the eventObject when playing it.
|
|
79
|
-
*
|
|
80
|
-
* @return {void}
|
|
81
19
|
*/
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
if (eventObject && eventObject.sonify) {
|
|
86
|
-
// If we have multiple onEnds defined, use all
|
|
87
|
-
playOptions.onEnd = masterOnEnd || playOnEnd || playOptionsOnEnd ?
|
|
88
|
-
function () {
|
|
89
|
-
var args = arguments;
|
|
90
|
-
[masterOnEnd, playOnEnd, playOptionsOnEnd].forEach(function (onEnd) {
|
|
91
|
-
if (onEnd) {
|
|
92
|
-
onEnd.apply(this, args);
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
} : void 0;
|
|
96
|
-
eventObject.sonify(playOptions);
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
if (playOnEnd) {
|
|
100
|
-
playOnEnd();
|
|
101
|
-
}
|
|
102
|
-
if (masterOnEnd) {
|
|
103
|
-
masterOnEnd();
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
/**
|
|
108
|
-
* Cancel the sonification of this event. Does nothing if the event is not
|
|
109
|
-
* currently sonifying.
|
|
110
|
-
*
|
|
111
|
-
* @function Highcharts.TimelineEvent#cancel
|
|
112
|
-
*
|
|
113
|
-
* @param {boolean} [fadeOut=false]
|
|
114
|
-
* Whether or not to fade out as we stop. If false, the event is
|
|
115
|
-
* cancelled synchronously.
|
|
116
|
-
*/
|
|
117
|
-
TimelineEvent.prototype.cancel = function (fadeOut) {
|
|
118
|
-
this.options.eventObject.cancelSonify(fadeOut);
|
|
119
|
-
};
|
|
120
|
-
/**
|
|
121
|
-
* A set of options for the TimelinePath class.
|
|
20
|
+
import SU from './SonificationUtilities.js';
|
|
21
|
+
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
22
|
+
/* *
|
|
122
23
|
*
|
|
123
|
-
*
|
|
24
|
+
* Class
|
|
124
25
|
*
|
|
125
|
-
*
|
|
126
|
-
* @interface Highcharts.TimelinePathOptionsObject
|
|
127
|
-
*/ /**
|
|
128
|
-
* List of TimelineEvents to play on this track.
|
|
129
|
-
* @name Highcharts.TimelinePathOptionsObject#events
|
|
130
|
-
* @type {Array<Highcharts.TimelineEvent>}
|
|
131
|
-
*/ /**
|
|
132
|
-
* If this option is supplied, this path ignores all events and just waits for
|
|
133
|
-
* the specified number of milliseconds before calling onEnd.
|
|
134
|
-
* @name Highcharts.TimelinePathOptionsObject#silentWait
|
|
135
|
-
* @type {number|undefined}
|
|
136
|
-
*/ /**
|
|
137
|
-
* Unique ID for this timeline path. Automatically generated if not supplied.
|
|
138
|
-
* @name Highcharts.TimelinePathOptionsObject#id
|
|
139
|
-
* @type {string|undefined}
|
|
140
|
-
*/ /**
|
|
141
|
-
* Callback called before the path starts playing.
|
|
142
|
-
* @name Highcharts.TimelinePathOptionsObject#onStart
|
|
143
|
-
* @type {Function|undefined}
|
|
144
|
-
*/ /**
|
|
145
|
-
* Callback function to call before an event plays.
|
|
146
|
-
* @name Highcharts.TimelinePathOptionsObject#onEventStart
|
|
147
|
-
* @type {Function|undefined}
|
|
148
|
-
*/ /**
|
|
149
|
-
* Callback function to call after an event has stopped playing.
|
|
150
|
-
* @name Highcharts.TimelinePathOptionsObject#onEventEnd
|
|
151
|
-
* @type {Function|undefined}
|
|
152
|
-
*/ /**
|
|
153
|
-
* Callback called when the whole path is finished.
|
|
154
|
-
* @name Highcharts.TimelinePathOptionsObject#onEnd
|
|
155
|
-
* @type {Function|undefined}
|
|
156
|
-
*/
|
|
26
|
+
* */
|
|
157
27
|
/**
|
|
158
|
-
* The
|
|
159
|
-
*
|
|
28
|
+
* The Timeline class. Represents a sonification timeline with a list of
|
|
29
|
+
* timeline paths with events to play at certain times relative to each other.
|
|
160
30
|
*
|
|
161
31
|
* @requires module:modules/sonification
|
|
162
32
|
*
|
|
163
33
|
* @private
|
|
164
34
|
* @class
|
|
165
|
-
* @name Highcharts.
|
|
35
|
+
* @name Highcharts.Timeline
|
|
166
36
|
*
|
|
167
|
-
* @param {Highcharts.
|
|
168
|
-
* Options for the
|
|
169
|
-
*/
|
|
170
|
-
function TimelinePath(options) {
|
|
171
|
-
this.init(options);
|
|
172
|
-
}
|
|
173
|
-
TimelinePath.prototype.init = function (options) {
|
|
174
|
-
this.options = options;
|
|
175
|
-
this.id = this.options.id = options.id || uniqueKey();
|
|
176
|
-
this.cursor = 0;
|
|
177
|
-
this.eventsPlaying = {};
|
|
178
|
-
// Handle silent wait, otherwise use events from options
|
|
179
|
-
this.events = options.silentWait ?
|
|
180
|
-
[
|
|
181
|
-
new TimelineEvent({ time: 0 }),
|
|
182
|
-
new TimelineEvent({ time: options.silentWait })
|
|
183
|
-
] :
|
|
184
|
-
this.options.events;
|
|
185
|
-
// Reference optionally provided by the user that indicates the intended
|
|
186
|
-
// duration of the path. Unused by TimelinePath itself.
|
|
187
|
-
this.targetDuration = options.targetDuration || options.silentWait;
|
|
188
|
-
// We need to sort our events by time
|
|
189
|
-
this.sortEvents();
|
|
190
|
-
// Get map from event ID to index
|
|
191
|
-
this.updateEventIdMap();
|
|
192
|
-
// Signal events to fire
|
|
193
|
-
this.signalHandler = new utilities.SignalHandler(['playOnEnd', 'masterOnEnd', 'onStart', 'onEventStart', 'onEventEnd']);
|
|
194
|
-
this.signalHandler.registerSignalCallbacks(merge(options, { masterOnEnd: options.onEnd }));
|
|
195
|
-
};
|
|
196
|
-
/**
|
|
197
|
-
* Sort the internal event list by time.
|
|
198
|
-
* @private
|
|
199
|
-
*/
|
|
200
|
-
TimelinePath.prototype.sortEvents = function () {
|
|
201
|
-
this.events = this.events.sort(function (a, b) {
|
|
202
|
-
return a.time - b.time;
|
|
203
|
-
});
|
|
204
|
-
};
|
|
205
|
-
/**
|
|
206
|
-
* Update the internal eventId to index map.
|
|
207
|
-
* @private
|
|
208
|
-
*/
|
|
209
|
-
TimelinePath.prototype.updateEventIdMap = function () {
|
|
210
|
-
this.eventIdMap = this.events.reduce(function (acc, cur, i) {
|
|
211
|
-
acc[cur.id] = i;
|
|
212
|
-
return acc;
|
|
213
|
-
}, {});
|
|
214
|
-
};
|
|
215
|
-
/**
|
|
216
|
-
* Add events to the path. Should not be done while the path is playing.
|
|
217
|
-
* The new events are inserted according to their time property.
|
|
218
|
-
* @private
|
|
219
|
-
* @param {Array<Highcharts.TimelineEvent>} newEvents - The new timeline events
|
|
220
|
-
* to add.
|
|
221
|
-
*/
|
|
222
|
-
TimelinePath.prototype.addTimelineEvents = function (newEvents) {
|
|
223
|
-
this.events = this.events.concat(newEvents);
|
|
224
|
-
this.sortEvents(); // Sort events by time
|
|
225
|
-
this.updateEventIdMap(); // Update the event ID to index map
|
|
226
|
-
};
|
|
227
|
-
/**
|
|
228
|
-
* Get the current TimelineEvent under the cursor.
|
|
229
|
-
* @private
|
|
230
|
-
* @return {Highcharts.TimelineEvent} The current timeline event.
|
|
231
|
-
*/
|
|
232
|
-
TimelinePath.prototype.getCursor = function () {
|
|
233
|
-
return this.events[this.cursor];
|
|
234
|
-
};
|
|
235
|
-
/**
|
|
236
|
-
* Set the current TimelineEvent under the cursor.
|
|
237
|
-
* @private
|
|
238
|
-
* @param {string} eventId
|
|
239
|
-
* The ID of the timeline event to set as current.
|
|
240
|
-
* @return {boolean}
|
|
241
|
-
* True if there is an event with this ID in the path. False otherwise.
|
|
37
|
+
* @param {Highcharts.TimelineOptionsObject} options
|
|
38
|
+
* Options for the Timeline.
|
|
242
39
|
*/
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
40
|
+
var Timeline = /** @class */ (function () {
|
|
41
|
+
/* *
|
|
42
|
+
*
|
|
43
|
+
* Constructor
|
|
44
|
+
*
|
|
45
|
+
* */
|
|
46
|
+
function Timeline(options) {
|
|
47
|
+
/* *
|
|
48
|
+
*
|
|
49
|
+
* Properties
|
|
50
|
+
*
|
|
51
|
+
* */
|
|
52
|
+
this.cursor = void 0;
|
|
53
|
+
this.options = void 0;
|
|
54
|
+
this.paths = void 0;
|
|
55
|
+
this.pathsPlaying = void 0;
|
|
56
|
+
this.signalHandler = void 0;
|
|
57
|
+
this.init(options || {});
|
|
248
58
|
}
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
this.signalHandler.clearSignalCallbacks(['playOnEnd']);
|
|
262
|
-
this.signalHandler.registerSignalCallbacks({ playOnEnd: onEnd });
|
|
263
|
-
this.playEvents(1);
|
|
264
|
-
};
|
|
265
|
-
/**
|
|
266
|
-
* Play the timeline backwards from the current cursor.
|
|
267
|
-
* @private
|
|
268
|
-
* @param {Function} onEnd
|
|
269
|
-
* Callback to call when play finished. Does not override other onEnd callbacks.
|
|
270
|
-
* @return {void}
|
|
271
|
-
*/
|
|
272
|
-
TimelinePath.prototype.rewind = function (onEnd) {
|
|
273
|
-
this.pause();
|
|
274
|
-
this.signalHandler.emitSignal('onStart');
|
|
275
|
-
this.signalHandler.clearSignalCallbacks(['playOnEnd']);
|
|
276
|
-
this.signalHandler.registerSignalCallbacks({ playOnEnd: onEnd });
|
|
277
|
-
this.playEvents(-1);
|
|
278
|
-
};
|
|
279
|
-
/**
|
|
280
|
-
* Reset the cursor to the beginning.
|
|
281
|
-
* @private
|
|
282
|
-
*/
|
|
283
|
-
TimelinePath.prototype.resetCursor = function () {
|
|
284
|
-
this.cursor = 0;
|
|
285
|
-
};
|
|
286
|
-
/**
|
|
287
|
-
* Reset the cursor to the end.
|
|
288
|
-
* @private
|
|
289
|
-
*/
|
|
290
|
-
TimelinePath.prototype.resetCursorEnd = function () {
|
|
291
|
-
this.cursor = this.events.length - 1;
|
|
292
|
-
};
|
|
293
|
-
/**
|
|
294
|
-
* Cancel current playing. Leaves the cursor intact.
|
|
295
|
-
* @private
|
|
296
|
-
* @param {boolean} [fadeOut=false] - Whether or not to fade out as we stop. If
|
|
297
|
-
* false, the path is cancelled synchronously.
|
|
298
|
-
*/
|
|
299
|
-
TimelinePath.prototype.pause = function (fadeOut) {
|
|
300
|
-
var timelinePath = this;
|
|
301
|
-
// Cancel next scheduled play
|
|
302
|
-
clearTimeout(timelinePath.nextScheduledPlay);
|
|
303
|
-
// Cancel currently playing events
|
|
304
|
-
Object.keys(timelinePath.eventsPlaying).forEach(function (id) {
|
|
305
|
-
if (timelinePath.eventsPlaying[id]) {
|
|
306
|
-
timelinePath.eventsPlaying[id].cancel(fadeOut);
|
|
307
|
-
}
|
|
308
|
-
});
|
|
309
|
-
timelinePath.eventsPlaying = {};
|
|
310
|
-
};
|
|
311
|
-
/**
|
|
312
|
-
* Play the events, starting from current cursor, and going in specified
|
|
313
|
-
* direction.
|
|
314
|
-
* @private
|
|
315
|
-
* @param {number} direction
|
|
316
|
-
* The direction to play, 1 for forwards and -1 for backwards.
|
|
317
|
-
* @return {void}
|
|
318
|
-
*/
|
|
319
|
-
TimelinePath.prototype.playEvents = function (direction) {
|
|
320
|
-
var timelinePath = this, curEvent = timelinePath.events[this.cursor], nextEvent = timelinePath.events[this.cursor + direction], timeDiff, onEnd = function (signalData) {
|
|
321
|
-
timelinePath.signalHandler.emitSignal('masterOnEnd', signalData);
|
|
322
|
-
timelinePath.signalHandler.emitSignal('playOnEnd', signalData);
|
|
59
|
+
/* *
|
|
60
|
+
*
|
|
61
|
+
* Functions
|
|
62
|
+
*
|
|
63
|
+
* */
|
|
64
|
+
Timeline.prototype.init = function (options) {
|
|
65
|
+
this.options = options;
|
|
66
|
+
this.cursor = 0;
|
|
67
|
+
this.paths = options.paths || [];
|
|
68
|
+
this.pathsPlaying = {};
|
|
69
|
+
this.signalHandler = new SU.SignalHandler(['playOnEnd', 'masterOnEnd', 'onPathStart', 'onPathEnd']);
|
|
70
|
+
this.signalHandler.registerSignalCallbacks(merge(options, { masterOnEnd: options.onEnd }));
|
|
323
71
|
};
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
72
|
+
/**
|
|
73
|
+
* Play the timeline forwards from cursor.
|
|
74
|
+
* @private
|
|
75
|
+
* @param {Function} [onEnd]
|
|
76
|
+
* Callback to call when play finished. Does not override other onEnd
|
|
77
|
+
* callbacks.
|
|
78
|
+
*/
|
|
79
|
+
Timeline.prototype.play = function (onEnd) {
|
|
80
|
+
this.pause();
|
|
81
|
+
this.signalHandler.clearSignalCallbacks(['playOnEnd']);
|
|
82
|
+
this.signalHandler.registerSignalCallbacks({ playOnEnd: onEnd });
|
|
83
|
+
this.playPaths(1);
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Play the timeline backwards from cursor.
|
|
87
|
+
* @private
|
|
88
|
+
* @param {Function} onEnd
|
|
89
|
+
* Callback to call when play finished. Does not override other onEnd
|
|
90
|
+
* callbacks.
|
|
91
|
+
*/
|
|
92
|
+
Timeline.prototype.rewind = function (onEnd) {
|
|
93
|
+
this.pause();
|
|
94
|
+
this.signalHandler.clearSignalCallbacks(['playOnEnd']);
|
|
95
|
+
this.signalHandler.registerSignalCallbacks({ playOnEnd: onEnd });
|
|
96
|
+
this.playPaths(-1);
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Play the timeline in the specified direction.
|
|
100
|
+
* @private
|
|
101
|
+
* @param {number} direction
|
|
102
|
+
* Direction to play in. 1 for forwards, -1 for backwards.
|
|
103
|
+
*/
|
|
104
|
+
Timeline.prototype.playPaths = function (direction) {
|
|
105
|
+
var timeline = this, signalHandler = timeline.signalHandler;
|
|
106
|
+
if (!timeline.paths.length) {
|
|
107
|
+
var emptySignal = {
|
|
108
|
+
cancelled: false
|
|
341
109
|
};
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
timelinePath.signalHandler.emitSignal('onEventEnd', signalData);
|
|
346
|
-
// Reached end of path?
|
|
347
|
-
if (!nextEvent) {
|
|
348
|
-
onEnd(signalData);
|
|
349
|
-
}
|
|
110
|
+
signalHandler.emitSignal('playOnEnd', emptySignal);
|
|
111
|
+
signalHandler.emitSignal('masterOnEnd', emptySignal);
|
|
112
|
+
return;
|
|
350
113
|
}
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
114
|
+
var curPaths = splat(this.paths[this.cursor]), nextPaths = this.paths[this.cursor + direction],
|
|
115
|
+
// Play a path
|
|
116
|
+
playPath = function (path) {
|
|
117
|
+
// Emit signal and set playing state
|
|
118
|
+
signalHandler.emitSignal('onPathStart', path);
|
|
119
|
+
timeline.pathsPlaying[path.id] = path;
|
|
120
|
+
// Do the play
|
|
121
|
+
path[direction > 0 ? 'play' : 'rewind'](function (callbackData) {
|
|
122
|
+
// Play ended callback
|
|
123
|
+
// Data to pass to signal callbacks
|
|
124
|
+
var cancelled = callbackData && callbackData.cancelled, signalData = {
|
|
125
|
+
path: path,
|
|
126
|
+
cancelled: cancelled
|
|
127
|
+
};
|
|
128
|
+
// Clear state and send signal
|
|
129
|
+
delete timeline.pathsPlaying[path.id];
|
|
130
|
+
signalHandler.emitSignal('onPathEnd', signalData);
|
|
131
|
+
// Handle next paths
|
|
132
|
+
var pathsEnded = 0;
|
|
133
|
+
pathsEnded++;
|
|
134
|
+
if (pathsEnded >= curPaths.length) {
|
|
135
|
+
// We finished all of the current paths for cursor.
|
|
136
|
+
if (nextPaths && !cancelled) {
|
|
137
|
+
// We have more paths, move cursor along
|
|
138
|
+
timeline.cursor += direction;
|
|
139
|
+
// Reset upcoming path cursors before playing
|
|
140
|
+
splat(nextPaths).forEach(function (nextPath) {
|
|
141
|
+
nextPath[direction > 0 ?
|
|
142
|
+
'resetCursor' : 'resetCursorEnd']();
|
|
143
|
+
});
|
|
144
|
+
// Play next
|
|
145
|
+
timeline.playPaths(direction);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
// If it is the last path in this direction,
|
|
149
|
+
// call onEnd
|
|
150
|
+
signalHandler.emitSignal('playOnEnd', signalData);
|
|
151
|
+
signalHandler.emitSignal('masterOnEnd', signalData);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
};
|
|
156
|
+
// Go through the paths under cursor and play them
|
|
157
|
+
curPaths.forEach(function (path) {
|
|
158
|
+
if (path) {
|
|
159
|
+
// Store reference to timeline
|
|
160
|
+
path.timeline = timeline;
|
|
161
|
+
// Leave a timeout to let notes fade out before next play
|
|
162
|
+
setTimeout(function () {
|
|
163
|
+
playPath(path);
|
|
164
|
+
}, Sonification.fadeOutDuration);
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
};
|
|
168
|
+
/**
|
|
169
|
+
* Stop the playing of the timeline. Cancels all current sounds, but does
|
|
170
|
+
* not affect the cursor.
|
|
171
|
+
* @private
|
|
172
|
+
* @param {boolean} [fadeOut=false]
|
|
173
|
+
* Whether or not to fade out as we stop. If false, the timeline is
|
|
174
|
+
* cancelled synchronously.
|
|
175
|
+
*/
|
|
176
|
+
Timeline.prototype.pause = function (fadeOut) {
|
|
177
|
+
var timeline = this;
|
|
178
|
+
// Cancel currently playing events
|
|
179
|
+
Object.keys(timeline.pathsPlaying).forEach(function (id) {
|
|
180
|
+
if (timeline.pathsPlaying[id]) {
|
|
181
|
+
timeline.pathsPlaying[id].pause(fadeOut);
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
timeline.pathsPlaying = {};
|
|
185
|
+
};
|
|
186
|
+
/**
|
|
187
|
+
* Reset the cursor to the beginning of the timeline.
|
|
188
|
+
* @private
|
|
189
|
+
*/
|
|
190
|
+
Timeline.prototype.resetCursor = function () {
|
|
191
|
+
this.paths.forEach(function (paths) {
|
|
192
|
+
splat(paths).forEach(function (path) {
|
|
193
|
+
path.resetCursor();
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
this.cursor = 0;
|
|
197
|
+
};
|
|
198
|
+
/**
|
|
199
|
+
* Reset the cursor to the end of the timeline.
|
|
200
|
+
* @private
|
|
201
|
+
*/
|
|
202
|
+
Timeline.prototype.resetCursorEnd = function () {
|
|
203
|
+
this.paths.forEach(function (paths) {
|
|
204
|
+
splat(paths).forEach(function (path) {
|
|
205
|
+
path.resetCursorEnd();
|
|
206
|
+
});
|
|
207
|
+
});
|
|
208
|
+
this.cursor = this.paths.length - 1;
|
|
209
|
+
};
|
|
210
|
+
/**
|
|
211
|
+
* Set the current TimelineEvent under the cursor. If multiple paths are
|
|
212
|
+
* being played at the same time, this function only affects a single path
|
|
213
|
+
* (the one that contains the eventId that is passed in).
|
|
214
|
+
* @private
|
|
215
|
+
* @param {string} eventId
|
|
216
|
+
* The ID of the timeline event to set as current.
|
|
217
|
+
* @return {boolean}
|
|
218
|
+
* True if the cursor was set, false if no TimelineEvent was found for
|
|
219
|
+
* this ID.
|
|
220
|
+
*/
|
|
221
|
+
Timeline.prototype.setCursor = function (eventId) {
|
|
222
|
+
return this.paths.some(function (paths) {
|
|
223
|
+
return splat(paths).some(function (path) {
|
|
224
|
+
return path.setCursor(eventId);
|
|
225
|
+
});
|
|
226
|
+
});
|
|
227
|
+
};
|
|
228
|
+
/**
|
|
229
|
+
* Get the current TimelineEvents under the cursors. This function will
|
|
230
|
+
* return the event under the cursor for each currently playing path, as an
|
|
231
|
+
* object where the path ID is mapped to the TimelineEvent under that
|
|
232
|
+
* path's cursor.
|
|
233
|
+
* @private
|
|
234
|
+
* @return {Highcharts.Dictionary<Highcharts.TimelineEvent>}
|
|
235
|
+
* The TimelineEvents under each path's cursors.
|
|
236
|
+
*/
|
|
237
|
+
Timeline.prototype.getCursor = function () {
|
|
238
|
+
return this.getCurrentPlayingPaths().reduce(function (acc, cur) {
|
|
239
|
+
acc[cur.id] = cur.getCursor();
|
|
240
|
+
return acc;
|
|
241
|
+
}, {});
|
|
242
|
+
};
|
|
243
|
+
/**
|
|
244
|
+
* Check if timeline is reset or at start.
|
|
245
|
+
* @private
|
|
246
|
+
* @return {boolean}
|
|
247
|
+
* True if timeline is at the beginning.
|
|
248
|
+
*/
|
|
249
|
+
Timeline.prototype.atStart = function () {
|
|
250
|
+
if (this.cursor) {
|
|
251
|
+
return false;
|
|
359
252
|
}
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
253
|
+
return !splat(this.paths[0]).some(function (path) {
|
|
254
|
+
return path.cursor;
|
|
255
|
+
});
|
|
256
|
+
};
|
|
257
|
+
/**
|
|
258
|
+
* Get the current TimelinePaths being played.
|
|
259
|
+
* @private
|
|
260
|
+
* @return {Array<Highcharts.TimelinePath>}
|
|
261
|
+
* The TimelinePaths currently being played.
|
|
262
|
+
*/
|
|
263
|
+
Timeline.prototype.getCurrentPlayingPaths = function () {
|
|
264
|
+
if (!this.paths.length) {
|
|
265
|
+
return [];
|
|
366
266
|
}
|
|
367
|
-
|
|
368
|
-
};
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
*
|
|
267
|
+
return splat(this.paths[this.cursor]);
|
|
268
|
+
};
|
|
269
|
+
return Timeline;
|
|
270
|
+
}());
|
|
271
|
+
/* *
|
|
272
|
+
*
|
|
273
|
+
* Default Export
|
|
274
|
+
*
|
|
275
|
+
* */
|
|
276
|
+
export default Timeline;
|
|
277
|
+
/* *
|
|
278
|
+
*
|
|
279
|
+
* API Declarations
|
|
280
|
+
*
|
|
281
|
+
* */
|
|
372
282
|
/**
|
|
373
283
|
* A set of options for the Timeline class.
|
|
374
284
|
*
|
|
@@ -395,231 +305,4 @@ TimelinePath.prototype.playEvents = function (direction) {
|
|
|
395
305
|
* @name Highcharts.TimelineOptionsObject#onEnd
|
|
396
306
|
* @type {Function|undefined}
|
|
397
307
|
*/
|
|
398
|
-
|
|
399
|
-
* The Timeline class. Represents a sonification timeline with a list of
|
|
400
|
-
* timeline paths with events to play at certain times relative to each other.
|
|
401
|
-
*
|
|
402
|
-
* @requires module:modules/sonification
|
|
403
|
-
*
|
|
404
|
-
* @private
|
|
405
|
-
* @class
|
|
406
|
-
* @name Highcharts.Timeline
|
|
407
|
-
*
|
|
408
|
-
* @param {Highcharts.TimelineOptionsObject} options
|
|
409
|
-
* Options for the Timeline.
|
|
410
|
-
*/
|
|
411
|
-
function Timeline(options) {
|
|
412
|
-
this.init(options || {});
|
|
413
|
-
}
|
|
414
|
-
Timeline.prototype.init = function (options) {
|
|
415
|
-
this.options = options;
|
|
416
|
-
this.cursor = 0;
|
|
417
|
-
this.paths = options.paths || [];
|
|
418
|
-
this.pathsPlaying = {};
|
|
419
|
-
this.signalHandler = new utilities.SignalHandler(['playOnEnd', 'masterOnEnd', 'onPathStart', 'onPathEnd']);
|
|
420
|
-
this.signalHandler.registerSignalCallbacks(merge(options, { masterOnEnd: options.onEnd }));
|
|
421
|
-
};
|
|
422
|
-
/**
|
|
423
|
-
* Play the timeline forwards from cursor.
|
|
424
|
-
* @private
|
|
425
|
-
* @param {Function} [onEnd]
|
|
426
|
-
* Callback to call when play finished. Does not override other onEnd callbacks.
|
|
427
|
-
* @return {void}
|
|
428
|
-
*/
|
|
429
|
-
Timeline.prototype.play = function (onEnd) {
|
|
430
|
-
this.pause();
|
|
431
|
-
this.signalHandler.clearSignalCallbacks(['playOnEnd']);
|
|
432
|
-
this.signalHandler.registerSignalCallbacks({ playOnEnd: onEnd });
|
|
433
|
-
this.playPaths(1);
|
|
434
|
-
};
|
|
435
|
-
/**
|
|
436
|
-
* Play the timeline backwards from cursor.
|
|
437
|
-
* @private
|
|
438
|
-
* @param {Function} onEnd
|
|
439
|
-
* Callback to call when play finished. Does not override other onEnd callbacks.
|
|
440
|
-
* @return {void}
|
|
441
|
-
*/
|
|
442
|
-
Timeline.prototype.rewind = function (onEnd) {
|
|
443
|
-
this.pause();
|
|
444
|
-
this.signalHandler.clearSignalCallbacks(['playOnEnd']);
|
|
445
|
-
this.signalHandler.registerSignalCallbacks({ playOnEnd: onEnd });
|
|
446
|
-
this.playPaths(-1);
|
|
447
|
-
};
|
|
448
|
-
/**
|
|
449
|
-
* Play the timeline in the specified direction.
|
|
450
|
-
* @private
|
|
451
|
-
* @param {number} direction
|
|
452
|
-
* Direction to play in. 1 for forwards, -1 for backwards.
|
|
453
|
-
* @return {void}
|
|
454
|
-
*/
|
|
455
|
-
Timeline.prototype.playPaths = function (direction) {
|
|
456
|
-
var timeline = this;
|
|
457
|
-
var signalHandler = timeline.signalHandler;
|
|
458
|
-
if (!timeline.paths.length) {
|
|
459
|
-
var emptySignal = {
|
|
460
|
-
cancelled: false
|
|
461
|
-
};
|
|
462
|
-
signalHandler.emitSignal('playOnEnd', emptySignal);
|
|
463
|
-
signalHandler.emitSignal('masterOnEnd', emptySignal);
|
|
464
|
-
return;
|
|
465
|
-
}
|
|
466
|
-
var curPaths = splat(this.paths[this.cursor]), nextPaths = this.paths[this.cursor + direction], pathsEnded = 0,
|
|
467
|
-
// Play a path
|
|
468
|
-
playPath = function (path) {
|
|
469
|
-
// Emit signal and set playing state
|
|
470
|
-
signalHandler.emitSignal('onPathStart', path);
|
|
471
|
-
timeline.pathsPlaying[path.id] = path;
|
|
472
|
-
// Do the play
|
|
473
|
-
path[direction > 0 ? 'play' : 'rewind'](function (callbackData) {
|
|
474
|
-
// Play ended callback
|
|
475
|
-
// Data to pass to signal callbacks
|
|
476
|
-
var cancelled = callbackData && callbackData.cancelled, signalData = {
|
|
477
|
-
path: path,
|
|
478
|
-
cancelled: cancelled
|
|
479
|
-
};
|
|
480
|
-
// Clear state and send signal
|
|
481
|
-
delete timeline.pathsPlaying[path.id];
|
|
482
|
-
signalHandler.emitSignal('onPathEnd', signalData);
|
|
483
|
-
// Handle next paths
|
|
484
|
-
pathsEnded++;
|
|
485
|
-
if (pathsEnded >= curPaths.length) {
|
|
486
|
-
// We finished all of the current paths for cursor.
|
|
487
|
-
if (nextPaths && !cancelled) {
|
|
488
|
-
// We have more paths, move cursor along
|
|
489
|
-
timeline.cursor += direction;
|
|
490
|
-
// Reset upcoming path cursors before playing
|
|
491
|
-
splat(nextPaths).forEach(function (nextPath) {
|
|
492
|
-
nextPath[direction > 0 ? 'resetCursor' : 'resetCursorEnd']();
|
|
493
|
-
});
|
|
494
|
-
// Play next
|
|
495
|
-
timeline.playPaths(direction);
|
|
496
|
-
}
|
|
497
|
-
else {
|
|
498
|
-
// If it is the last path in this direction, call onEnd
|
|
499
|
-
signalHandler.emitSignal('playOnEnd', signalData);
|
|
500
|
-
signalHandler.emitSignal('masterOnEnd', signalData);
|
|
501
|
-
}
|
|
502
|
-
}
|
|
503
|
-
});
|
|
504
|
-
};
|
|
505
|
-
// Go through the paths under cursor and play them
|
|
506
|
-
curPaths.forEach(function (path) {
|
|
507
|
-
if (path) {
|
|
508
|
-
// Store reference to timeline
|
|
509
|
-
path.timeline = timeline;
|
|
510
|
-
// Leave a timeout to let notes fade out before next play
|
|
511
|
-
setTimeout(function () {
|
|
512
|
-
playPath(path);
|
|
513
|
-
}, H.sonification.fadeOutDuration);
|
|
514
|
-
}
|
|
515
|
-
});
|
|
516
|
-
};
|
|
517
|
-
/**
|
|
518
|
-
* Stop the playing of the timeline. Cancels all current sounds, but does not
|
|
519
|
-
* affect the cursor.
|
|
520
|
-
* @private
|
|
521
|
-
* @param {boolean} [fadeOut=false]
|
|
522
|
-
* Whether or not to fade out as we stop. If false, the timeline is cancelled
|
|
523
|
-
* synchronously.
|
|
524
|
-
* @return {void}
|
|
525
|
-
*/
|
|
526
|
-
Timeline.prototype.pause = function (fadeOut) {
|
|
527
|
-
var timeline = this;
|
|
528
|
-
// Cancel currently playing events
|
|
529
|
-
Object.keys(timeline.pathsPlaying).forEach(function (id) {
|
|
530
|
-
if (timeline.pathsPlaying[id]) {
|
|
531
|
-
timeline.pathsPlaying[id].pause(fadeOut);
|
|
532
|
-
}
|
|
533
|
-
});
|
|
534
|
-
timeline.pathsPlaying = {};
|
|
535
|
-
};
|
|
536
|
-
/**
|
|
537
|
-
* Reset the cursor to the beginning of the timeline.
|
|
538
|
-
* @private
|
|
539
|
-
* @return {void}
|
|
540
|
-
*/
|
|
541
|
-
Timeline.prototype.resetCursor = function () {
|
|
542
|
-
this.paths.forEach(function (paths) {
|
|
543
|
-
splat(paths).forEach(function (path) {
|
|
544
|
-
path.resetCursor();
|
|
545
|
-
});
|
|
546
|
-
});
|
|
547
|
-
this.cursor = 0;
|
|
548
|
-
};
|
|
549
|
-
/**
|
|
550
|
-
* Reset the cursor to the end of the timeline.
|
|
551
|
-
* @private
|
|
552
|
-
* @return {void}
|
|
553
|
-
*/
|
|
554
|
-
Timeline.prototype.resetCursorEnd = function () {
|
|
555
|
-
this.paths.forEach(function (paths) {
|
|
556
|
-
splat(paths).forEach(function (path) {
|
|
557
|
-
path.resetCursorEnd();
|
|
558
|
-
});
|
|
559
|
-
});
|
|
560
|
-
this.cursor = this.paths.length - 1;
|
|
561
|
-
};
|
|
562
|
-
/**
|
|
563
|
-
* Set the current TimelineEvent under the cursor. If multiple paths are being
|
|
564
|
-
* played at the same time, this function only affects a single path (the one
|
|
565
|
-
* that contains the eventId that is passed in).
|
|
566
|
-
* @private
|
|
567
|
-
* @param {string} eventId
|
|
568
|
-
* The ID of the timeline event to set as current.
|
|
569
|
-
* @return {boolean}
|
|
570
|
-
* True if the cursor was set, false if no TimelineEvent was found for this ID.
|
|
571
|
-
*/
|
|
572
|
-
Timeline.prototype.setCursor = function (eventId) {
|
|
573
|
-
return this.paths.some(function (paths) {
|
|
574
|
-
return splat(paths).some(function (path) {
|
|
575
|
-
return path.setCursor(eventId);
|
|
576
|
-
});
|
|
577
|
-
});
|
|
578
|
-
};
|
|
579
|
-
/**
|
|
580
|
-
* Get the current TimelineEvents under the cursors. This function will return
|
|
581
|
-
* the event under the cursor for each currently playing path, as an object
|
|
582
|
-
* where the path ID is mapped to the TimelineEvent under that path's cursor.
|
|
583
|
-
* @private
|
|
584
|
-
* @return {Highcharts.Dictionary<Highcharts.TimelineEvent>}
|
|
585
|
-
* The TimelineEvents under each path's cursors.
|
|
586
|
-
*/
|
|
587
|
-
Timeline.prototype.getCursor = function () {
|
|
588
|
-
return this.getCurrentPlayingPaths().reduce(function (acc, cur) {
|
|
589
|
-
acc[cur.id] = cur.getCursor();
|
|
590
|
-
return acc;
|
|
591
|
-
}, {});
|
|
592
|
-
};
|
|
593
|
-
/**
|
|
594
|
-
* Check if timeline is reset or at start.
|
|
595
|
-
* @private
|
|
596
|
-
* @return {boolean}
|
|
597
|
-
* True if timeline is at the beginning.
|
|
598
|
-
*/
|
|
599
|
-
Timeline.prototype.atStart = function () {
|
|
600
|
-
if (this.cursor) {
|
|
601
|
-
return false;
|
|
602
|
-
}
|
|
603
|
-
return !splat(this.paths[0]).some(function (path) {
|
|
604
|
-
return path.cursor;
|
|
605
|
-
});
|
|
606
|
-
};
|
|
607
|
-
/**
|
|
608
|
-
* Get the current TimelinePaths being played.
|
|
609
|
-
* @private
|
|
610
|
-
* @return {Array<Highcharts.TimelinePath>}
|
|
611
|
-
* The TimelinePaths currently being played.
|
|
612
|
-
*/
|
|
613
|
-
Timeline.prototype.getCurrentPlayingPaths = function () {
|
|
614
|
-
if (!this.paths.length) {
|
|
615
|
-
return [];
|
|
616
|
-
}
|
|
617
|
-
return splat(this.paths[this.cursor]);
|
|
618
|
-
};
|
|
619
|
-
// Export the classes
|
|
620
|
-
var timelineClasses = {
|
|
621
|
-
TimelineEvent: TimelineEvent,
|
|
622
|
-
TimelinePath: TimelinePath,
|
|
623
|
-
Timeline: Timeline
|
|
624
|
-
};
|
|
625
|
-
export default timelineClasses;
|
|
308
|
+
(''); // detach doclets above
|