stream-charts 1.2.0 → 2.0.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/LICENSE +21 -0
- package/README.md +809 -1022
- package/changes.md +40 -0
- package/dist/app/charts/Chart.d.ts +35 -139
- package/dist/app/charts/Chart.d.ts.map +1 -0
- package/dist/app/charts/Chart.js +74 -65
- package/dist/app/charts/Chart.js.map +1 -1
- package/dist/app/charts/axes/AxesState.d.ts +26 -18
- package/dist/app/charts/axes/AxesState.d.ts.map +1 -0
- package/dist/app/charts/axes/AxesState.js +26 -24
- package/dist/app/charts/axes/AxesState.js.map +1 -1
- package/dist/app/charts/axes/AxisInterval.d.ts +44 -26
- package/dist/app/charts/axes/AxisInterval.d.ts.map +1 -0
- package/dist/app/charts/axes/AxisInterval.js +48 -29
- package/dist/app/charts/axes/AxisInterval.js.map +1 -1
- package/dist/app/charts/axes/BaseAxisRange.d.ts +46 -22
- package/dist/app/charts/axes/BaseAxisRange.d.ts.map +1 -0
- package/dist/app/charts/axes/BaseAxisRange.js +17 -12
- package/dist/app/charts/axes/BaseAxisRange.js.map +1 -1
- package/dist/app/charts/axes/ContinuousAxis.d.ts +47 -6
- package/dist/app/charts/axes/ContinuousAxis.d.ts.map +1 -0
- package/dist/app/charts/axes/ContinuousAxis.js +160 -27
- package/dist/app/charts/axes/ContinuousAxis.js.map +1 -1
- package/dist/app/charts/axes/ContinuousAxisRange.d.ts +29 -10
- package/dist/app/charts/axes/ContinuousAxisRange.d.ts.map +1 -0
- package/dist/app/charts/axes/ContinuousAxisRange.js +29 -11
- package/dist/app/charts/axes/ContinuousAxisRange.js.map +1 -1
- package/dist/app/charts/axes/EmptyAxis.d.ts +5 -2
- package/dist/app/charts/axes/EmptyAxis.d.ts.map +1 -0
- package/dist/app/charts/axes/EmptyAxis.js +30 -9
- package/dist/app/charts/axes/EmptyAxis.js.map +1 -1
- package/dist/app/charts/axes/OrdinalAxis.d.ts +5 -3
- package/dist/app/charts/axes/OrdinalAxis.d.ts.map +1 -0
- package/dist/app/charts/axes/OrdinalAxis.js +39 -16
- package/dist/app/charts/axes/OrdinalAxis.js.map +1 -1
- package/dist/app/charts/axes/OrdinalAxisRange.d.ts +76 -13
- package/dist/app/charts/axes/OrdinalAxisRange.d.ts.map +1 -0
- package/dist/app/charts/axes/OrdinalAxisRange.js +95 -16
- package/dist/app/charts/axes/OrdinalAxisRange.js.map +1 -1
- package/dist/app/charts/axes/autoScale.d.ts +111 -0
- package/dist/app/charts/axes/autoScale.d.ts.map +1 -0
- package/dist/app/charts/axes/autoScale.js +188 -0
- package/dist/app/charts/axes/autoScale.js.map +1 -0
- package/dist/app/charts/axes/axes.d.ts +273 -150
- package/dist/app/charts/axes/axes.d.ts.map +1 -0
- package/dist/app/charts/axes/axes.js +808 -583
- package/dist/app/charts/axes/axes.js.map +1 -1
- package/dist/app/charts/d3types.d.ts +40 -11
- package/dist/app/charts/d3types.d.ts.map +1 -0
- package/dist/app/charts/d3types.js +3 -0
- package/dist/app/charts/d3types.js.map +1 -1
- package/dist/app/charts/datasources/StreamingDataSource.d.ts +149 -0
- package/dist/app/charts/datasources/StreamingDataSource.d.ts.map +1 -0
- package/dist/app/charts/datasources/StreamingDataSource.js +110 -0
- package/dist/app/charts/datasources/StreamingDataSource.js.map +1 -0
- package/dist/app/charts/datasources/iteratesDataSource.d.ts +73 -0
- package/dist/app/charts/datasources/iteratesDataSource.d.ts.map +1 -0
- package/dist/app/charts/datasources/iteratesDataSource.js +87 -0
- package/dist/app/charts/datasources/iteratesDataSource.js.map +1 -0
- package/dist/app/charts/datasources/ordinalDataSource.d.ts +75 -0
- package/dist/app/charts/datasources/ordinalDataSource.d.ts.map +1 -0
- package/dist/app/charts/datasources/ordinalDataSource.js +135 -0
- package/dist/app/charts/datasources/ordinalDataSource.js.map +1 -0
- package/dist/app/charts/datasources/outlierDataSource.d.ts +53 -0
- package/dist/app/charts/datasources/outlierDataSource.d.ts.map +1 -0
- package/dist/app/charts/datasources/outlierDataSource.js +57 -0
- package/dist/app/charts/datasources/outlierDataSource.js.map +1 -0
- package/dist/app/charts/datasources/timeSeriesDataSource.d.ts +77 -0
- package/dist/app/charts/datasources/timeSeriesDataSource.d.ts.map +1 -0
- package/dist/app/charts/datasources/timeSeriesDataSource.js +85 -0
- package/dist/app/charts/datasources/timeSeriesDataSource.js.map +1 -0
- package/dist/app/charts/filters/regexFilter.d.ts +31 -4
- package/dist/app/charts/filters/regexFilter.d.ts.map +1 -0
- package/dist/app/charts/filters/regexFilter.js +38 -4
- package/dist/app/charts/filters/regexFilter.js.map +1 -1
- package/dist/app/charts/hooks/AxesProvider.d.ts +21 -0
- package/dist/app/charts/hooks/AxesProvider.d.ts.map +1 -0
- package/dist/app/charts/hooks/AxesProvider.js +213 -0
- package/dist/app/charts/hooks/AxesProvider.js.map +1 -0
- package/dist/app/charts/hooks/CanvasSurfaceProvider.d.ts +25 -0
- package/dist/app/charts/hooks/CanvasSurfaceProvider.d.ts.map +1 -0
- package/dist/app/charts/hooks/CanvasSurfaceProvider.js +76 -0
- package/dist/app/charts/hooks/CanvasSurfaceProvider.js.map +1 -0
- package/dist/app/charts/hooks/ChartProvider.d.ts +40 -0
- package/dist/app/charts/hooks/ChartProvider.d.ts.map +1 -0
- package/dist/app/charts/hooks/ChartProvider.js +33 -0
- package/dist/app/charts/hooks/ChartProvider.js.map +1 -0
- package/dist/app/charts/hooks/InteractionProvider.d.ts +23 -0
- package/dist/app/charts/hooks/InteractionProvider.d.ts.map +1 -0
- package/dist/app/charts/hooks/InteractionProvider.js +60 -0
- package/dist/app/charts/hooks/InteractionProvider.js.map +1 -0
- package/dist/app/charts/hooks/PlotDimensionsProvider.d.ts +16 -0
- package/dist/app/charts/hooks/PlotDimensionsProvider.d.ts.map +1 -0
- package/dist/app/charts/hooks/PlotDimensionsProvider.js +76 -0
- package/dist/app/charts/hooks/PlotDimensionsProvider.js.map +1 -0
- package/dist/app/charts/hooks/defaultAxesValues.d.ts +11 -0
- package/dist/app/charts/hooks/defaultAxesValues.d.ts.map +1 -0
- package/dist/app/charts/hooks/defaultAxesValues.js +36 -0
- package/dist/app/charts/hooks/defaultAxesValues.js.map +1 -0
- package/dist/app/charts/hooks/defaultMouseValues.d.ts +9 -0
- package/dist/app/charts/hooks/defaultMouseValues.d.ts.map +1 -0
- package/dist/app/charts/hooks/defaultMouseValues.js +23 -0
- package/dist/app/charts/hooks/defaultMouseValues.js.map +1 -0
- package/dist/app/charts/hooks/defaultPlotDimensions.d.ts +13 -0
- package/dist/app/charts/hooks/defaultPlotDimensions.d.ts.map +1 -0
- package/dist/app/charts/hooks/defaultPlotDimensions.js +23 -0
- package/dist/app/charts/hooks/defaultPlotDimensions.js.map +1 -0
- package/dist/app/charts/hooks/defaultTooltipValues.d.ts +9 -0
- package/dist/app/charts/hooks/defaultTooltipValues.d.ts.map +1 -0
- package/dist/app/charts/hooks/defaultTooltipValues.js +21 -0
- package/dist/app/charts/hooks/defaultTooltipValues.js.map +1 -0
- package/dist/app/charts/hooks/defaultUseChartValues.d.ts +14 -0
- package/dist/app/charts/hooks/defaultUseChartValues.d.ts.map +1 -0
- package/dist/app/charts/hooks/defaultUseChartValues.js +30 -0
- package/dist/app/charts/hooks/defaultUseChartValues.js.map +1 -0
- package/dist/app/charts/hooks/useAxes.d.ts +49 -36
- package/dist/app/charts/hooks/useAxes.d.ts.map +1 -0
- package/dist/app/charts/hooks/useAxes.js +16 -176
- package/dist/app/charts/hooks/useAxes.js.map +1 -1
- package/dist/app/charts/hooks/useCanvasSurface.d.ts +25 -0
- package/dist/app/charts/hooks/useCanvasSurface.d.ts.map +1 -0
- package/dist/app/charts/hooks/useCanvasSurface.js +18 -0
- package/dist/app/charts/hooks/useCanvasSurface.js.map +1 -0
- package/dist/app/charts/hooks/useChart.d.ts +30 -44
- package/dist/app/charts/hooks/useChart.d.ts.map +1 -0
- package/dist/app/charts/hooks/useChart.js +26 -48
- package/dist/app/charts/hooks/useChart.js.map +1 -1
- package/dist/app/charts/hooks/useDataSource.d.ts +68 -0
- package/dist/app/charts/hooks/useDataSource.d.ts.map +1 -0
- package/dist/app/charts/hooks/useDataSource.js +63 -0
- package/dist/app/charts/hooks/useDataSource.js.map +1 -0
- package/dist/app/charts/hooks/useHoveredSeries.d.ts +25 -0
- package/dist/app/charts/hooks/useHoveredSeries.d.ts.map +1 -0
- package/dist/app/charts/hooks/useHoveredSeries.js +15 -0
- package/dist/app/charts/hooks/useHoveredSeries.js.map +1 -0
- package/dist/app/charts/hooks/useMouse.d.ts +46 -22
- package/dist/app/charts/hooks/useMouse.d.ts.map +1 -0
- package/dist/app/charts/hooks/useMouse.js +12 -56
- package/dist/app/charts/hooks/useMouse.js.map +1 -1
- package/dist/app/charts/hooks/usePlotDimensions.d.ts +25 -13
- package/dist/app/charts/hooks/usePlotDimensions.d.ts.map +1 -0
- package/dist/app/charts/hooks/usePlotDimensions.js +6 -62
- package/dist/app/charts/hooks/usePlotDimensions.js.map +1 -1
- package/dist/app/charts/hooks/useTooltip.d.ts +24 -26
- package/dist/app/charts/hooks/useTooltip.d.ts.map +1 -0
- package/dist/app/charts/hooks/useTooltip.js +12 -42
- package/dist/app/charts/hooks/useTooltip.js.map +1 -1
- package/dist/app/charts/index.d.ts +66 -0
- package/dist/app/charts/index.d.ts.map +1 -0
- package/dist/app/charts/index.js +87 -0
- package/dist/app/charts/index.js.map +1 -0
- package/dist/app/charts/legends/Legend.d.ts +33 -12
- package/dist/app/charts/legends/Legend.d.ts.map +1 -0
- package/dist/app/charts/legends/Legend.js +138 -379
- package/dist/app/charts/legends/Legend.js.map +1 -1
- package/dist/app/charts/legends/constants.d.ts +19 -0
- package/dist/app/charts/legends/constants.d.ts.map +1 -0
- package/dist/app/charts/legends/constants.js +34 -0
- package/dist/app/charts/legends/constants.js.map +1 -0
- package/dist/app/charts/observables/ChartData.d.ts +1 -0
- package/dist/app/charts/observables/ChartData.d.ts.map +1 -0
- package/dist/app/charts/observables/iterates.d.ts +13 -7
- package/dist/app/charts/observables/iterates.d.ts.map +1 -0
- package/dist/app/charts/observables/iterates.js +42 -9
- package/dist/app/charts/observables/iterates.js.map +1 -1
- package/dist/app/charts/observables/ordinals.d.ts +70 -12
- package/dist/app/charts/observables/ordinals.d.ts.map +1 -0
- package/dist/app/charts/observables/ordinals.js +127 -48
- package/dist/app/charts/observables/ordinals.js.map +1 -1
- package/dist/app/charts/observables/outliers.d.ts +18 -0
- package/dist/app/charts/observables/outliers.d.ts.map +1 -0
- package/dist/app/charts/observables/outliers.js +2 -0
- package/dist/app/charts/observables/outliers.js.map +1 -0
- package/dist/app/charts/plots/BarPlot.d.ts +87 -13
- package/dist/app/charts/plots/BarPlot.d.ts.map +1 -0
- package/dist/app/charts/plots/BarPlot.js +603 -356
- package/dist/app/charts/plots/BarPlot.js.map +1 -1
- package/dist/app/charts/plots/OutlierPlot.d.ts +123 -0
- package/dist/app/charts/plots/OutlierPlot.d.ts.map +1 -0
- package/dist/app/charts/plots/OutlierPlot.js +430 -0
- package/dist/app/charts/plots/OutlierPlot.js.map +1 -0
- package/dist/app/charts/plots/PoincarePlot.d.ts +92 -14
- package/dist/app/charts/plots/PoincarePlot.d.ts.map +1 -0
- package/dist/app/charts/plots/PoincarePlot.js +523 -364
- package/dist/app/charts/plots/PoincarePlot.js.map +1 -1
- package/dist/app/charts/plots/RasterPlot.d.ts +31 -10
- package/dist/app/charts/plots/RasterPlot.d.ts.map +1 -0
- package/dist/app/charts/plots/RasterPlot.js +198 -306
- package/dist/app/charts/plots/RasterPlot.js.map +1 -1
- package/dist/app/charts/plots/ScatterPlot.d.ts +77 -21
- package/dist/app/charts/plots/ScatterPlot.d.ts.map +1 -0
- package/dist/app/charts/plots/ScatterPlot.js +359 -302
- package/dist/app/charts/plots/ScatterPlot.js.map +1 -1
- package/dist/app/charts/plots/autoScaleYAxes.d.ts +43 -0
- package/dist/app/charts/plots/autoScaleYAxes.d.ts.map +1 -0
- package/dist/app/charts/plots/autoScaleYAxes.js +71 -0
- package/dist/app/charts/plots/autoScaleYAxes.js.map +1 -0
- package/dist/app/charts/plots/colorizedLine.d.ts +61 -0
- package/dist/app/charts/plots/colorizedLine.d.ts.map +1 -0
- package/dist/app/charts/plots/colorizedLine.js +157 -0
- package/dist/app/charts/plots/colorizedLine.js.map +1 -0
- package/dist/app/charts/plots/constants.d.ts +7 -0
- package/dist/app/charts/plots/constants.d.ts.map +1 -0
- package/dist/app/charts/plots/constants.js +11 -0
- package/dist/app/charts/plots/constants.js.map +1 -0
- package/dist/app/charts/plots/hitTesting.d.ts +88 -0
- package/dist/app/charts/plots/hitTesting.d.ts.map +1 -0
- package/dist/app/charts/plots/hitTesting.js +136 -0
- package/dist/app/charts/plots/hitTesting.js.map +1 -0
- package/dist/app/charts/plots/plot.d.ts +52 -16
- package/dist/app/charts/plots/plot.d.ts.map +1 -0
- package/dist/app/charts/plots/plot.js +108 -35
- package/dist/app/charts/plots/plot.js.map +1 -1
- package/dist/app/charts/plots/useCanvasZoomPan.d.ts +119 -0
- package/dist/app/charts/plots/useCanvasZoomPan.d.ts.map +1 -0
- package/dist/app/charts/plots/useCanvasZoomPan.js +113 -0
- package/dist/app/charts/plots/useCanvasZoomPan.js.map +1 -0
- package/dist/app/charts/plots/useStreamingTimeAxes.d.ts +103 -0
- package/dist/app/charts/plots/useStreamingTimeAxes.d.ts.map +1 -0
- package/dist/app/charts/plots/useStreamingTimeAxes.js +257 -0
- package/dist/app/charts/plots/useStreamingTimeAxes.js.map +1 -0
- package/dist/app/charts/series/baseSeries.d.ts +60 -8
- package/dist/app/charts/series/baseSeries.d.ts.map +1 -0
- package/dist/app/charts/series/baseSeries.js +53 -8
- package/dist/app/charts/series/baseSeries.js.map +1 -1
- package/dist/app/charts/series/iterateSeries.d.ts +9 -8
- package/dist/app/charts/series/iterateSeries.d.ts.map +1 -0
- package/dist/app/charts/series/iterateSeries.js +7 -7
- package/dist/app/charts/series/iterateSeries.js.map +1 -1
- package/dist/app/charts/series/ordinalSeries.d.ts +27 -13
- package/dist/app/charts/series/ordinalSeries.d.ts.map +1 -0
- package/dist/app/charts/series/ordinalSeries.js +29 -15
- package/dist/app/charts/series/ordinalSeries.js.map +1 -1
- package/dist/app/charts/series/outlierSeries.d.ts +142 -0
- package/dist/app/charts/series/outlierSeries.d.ts.map +1 -0
- package/dist/app/charts/series/outlierSeries.js +82 -0
- package/dist/app/charts/series/outlierSeries.js.map +1 -0
- package/dist/app/charts/series/timeSeries.d.ts +13 -9
- package/dist/app/charts/series/timeSeries.d.ts.map +1 -0
- package/dist/app/charts/series/timeSeries.js +6 -3
- package/dist/app/charts/series/timeSeries.js.map +1 -1
- package/dist/app/charts/series/timeSeriesChartData.d.ts +18 -10
- package/dist/app/charts/series/timeSeriesChartData.d.ts.map +1 -0
- package/dist/app/charts/series/timeSeriesChartData.js +28 -14
- package/dist/app/charts/series/timeSeriesChartData.js.map +1 -1
- package/dist/app/charts/styling/barPlotStyle.d.ts +46 -2
- package/dist/app/charts/styling/barPlotStyle.d.ts.map +1 -0
- package/dist/app/charts/styling/barPlotStyle.js +37 -3
- package/dist/app/charts/styling/barPlotStyle.js.map +1 -1
- package/dist/app/charts/styling/canvasStyle.d.ts +53 -0
- package/dist/app/charts/styling/canvasStyle.d.ts.map +1 -0
- package/dist/app/charts/styling/canvasStyle.js +71 -0
- package/dist/app/charts/styling/canvasStyle.js.map +1 -0
- package/dist/app/charts/styling/margins.d.ts +21 -2
- package/dist/app/charts/styling/margins.d.ts.map +1 -0
- package/dist/app/charts/styling/margins.js +25 -4
- package/dist/app/charts/styling/margins.js.map +1 -1
- package/dist/app/charts/styling/svgStyle.d.ts +10 -56
- package/dist/app/charts/styling/svgStyle.d.ts.map +1 -0
- package/dist/app/charts/styling/svgStyle.js +3 -78
- package/dist/app/charts/styling/svgStyle.js.map +1 -1
- package/dist/app/charts/subscriptions/viewDrivers.d.ts +124 -0
- package/dist/app/charts/subscriptions/viewDrivers.d.ts.map +1 -0
- package/dist/app/charts/subscriptions/viewDrivers.js +338 -0
- package/dist/app/charts/subscriptions/viewDrivers.js.map +1 -0
- package/dist/app/charts/tooltips/BarPlotTooltipContent.d.ts +12 -78
- package/dist/app/charts/tooltips/BarPlotTooltipContent.d.ts.map +1 -0
- package/dist/app/charts/tooltips/BarPlotTooltipContent.js +65 -257
- package/dist/app/charts/tooltips/BarPlotTooltipContent.js.map +1 -1
- package/dist/app/charts/tooltips/DefaultOutlierTooltipContent.d.ts +9 -0
- package/dist/app/charts/tooltips/DefaultOutlierTooltipContent.d.ts.map +1 -0
- package/dist/app/charts/tooltips/DefaultOutlierTooltipContent.js +16 -0
- package/dist/app/charts/tooltips/DefaultOutlierTooltipContent.js.map +1 -0
- package/dist/app/charts/tooltips/OutlierPlotTooltipContent.d.ts +30 -0
- package/dist/app/charts/tooltips/OutlierPlotTooltipContent.d.ts.map +1 -0
- package/dist/app/charts/tooltips/OutlierPlotTooltipContent.js +26 -0
- package/dist/app/charts/tooltips/OutlierPlotTooltipContent.js.map +1 -0
- package/dist/app/charts/tooltips/PoincarePlotTooltipContent.d.ts +22 -72
- package/dist/app/charts/tooltips/PoincarePlotTooltipContent.d.ts.map +1 -0
- package/dist/app/charts/tooltips/PoincarePlotTooltipContent.js +104 -171
- package/dist/app/charts/tooltips/PoincarePlotTooltipContent.js.map +1 -1
- package/dist/app/charts/tooltips/RasterPlotTooltipContent.d.ts +32 -8
- package/dist/app/charts/tooltips/RasterPlotTooltipContent.d.ts.map +1 -0
- package/dist/app/charts/tooltips/RasterPlotTooltipContent.js +62 -115
- package/dist/app/charts/tooltips/RasterPlotTooltipContent.js.map +1 -1
- package/dist/app/charts/tooltips/ScatterPlotTooltipContent.d.ts +39 -12
- package/dist/app/charts/tooltips/ScatterPlotTooltipContent.d.ts.map +1 -0
- package/dist/app/charts/tooltips/ScatterPlotTooltipContent.js +162 -134
- package/dist/app/charts/tooltips/ScatterPlotTooltipContent.js.map +1 -1
- package/dist/app/charts/tooltips/Tooltip.d.ts +27 -32
- package/dist/app/charts/tooltips/Tooltip.d.ts.map +1 -0
- package/dist/app/charts/tooltips/Tooltip.js +37 -81
- package/dist/app/charts/tooltips/Tooltip.js.map +1 -1
- package/dist/app/charts/tooltips/TooltipContent.d.ts +81 -0
- package/dist/app/charts/tooltips/TooltipContent.d.ts.map +1 -0
- package/dist/app/charts/tooltips/TooltipContent.js +99 -0
- package/dist/app/charts/tooltips/TooltipContent.js.map +1 -0
- package/dist/app/charts/tooltips/tooltipUtils.d.ts +186 -36
- package/dist/app/charts/tooltips/tooltipUtils.d.ts.map +1 -0
- package/dist/app/charts/tooltips/tooltipUtils.js +277 -48
- package/dist/app/charts/tooltips/tooltipUtils.js.map +1 -1
- package/dist/app/charts/tooltips/useOutlierTooltip.d.ts +59 -0
- package/dist/app/charts/tooltips/useOutlierTooltip.d.ts.map +1 -0
- package/dist/app/charts/tooltips/useOutlierTooltip.js +16 -0
- package/dist/app/charts/tooltips/useOutlierTooltip.js.map +1 -0
- package/dist/app/charts/tooltips/useTooltipPlacement.d.ts +51 -0
- package/dist/app/charts/tooltips/useTooltipPlacement.d.ts.map +1 -0
- package/dist/app/charts/tooltips/useTooltipPlacement.js +52 -0
- package/dist/app/charts/tooltips/useTooltipPlacement.js.map +1 -0
- package/dist/app/charts/tooltips/useTooltipStyle.d.ts +11 -0
- package/dist/app/charts/tooltips/useTooltipStyle.d.ts.map +1 -0
- package/dist/app/charts/tooltips/useTooltipStyle.js +14 -0
- package/dist/app/charts/tooltips/useTooltipStyle.js.map +1 -0
- package/dist/app/charts/trackers/Tracker.d.ts +22 -6
- package/dist/app/charts/trackers/Tracker.d.ts.map +1 -0
- package/dist/app/charts/trackers/Tracker.js +36 -22
- package/dist/app/charts/trackers/Tracker.js.map +1 -1
- package/dist/app/charts/trackers/trackerUtils.d.ts +40 -18
- package/dist/app/charts/trackers/trackerUtils.d.ts.map +1 -0
- package/dist/app/charts/trackers/trackerUtils.js +213 -300
- package/dist/app/charts/trackers/trackerUtils.js.map +1 -1
- package/dist/app/charts/utils.d.ts +72 -33
- package/dist/app/charts/utils.d.ts.map +1 -0
- package/dist/app/charts/utils.js +87 -42
- package/dist/app/charts/utils.js.map +1 -1
- package/dist/index.d.ts +2 -45
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -72
- package/dist/index.js.map +1 -1
- package/package.json +87 -46
- package/src/app/charts/Chart.tsx +132 -168
- package/src/app/charts/axes/AxesState.ts +27 -29
- package/src/app/charts/axes/AxisInterval.ts +57 -32
- package/src/app/charts/axes/BaseAxisRange.ts +47 -27
- package/src/app/charts/axes/ContinuousAxis.tsx +235 -39
- package/src/app/charts/axes/ContinuousAxisRange.ts +29 -11
- package/src/app/charts/axes/EmptyAxis.tsx +52 -17
- package/src/app/charts/axes/OrdinalAxis.tsx +54 -28
- package/src/app/charts/axes/OrdinalAxisRange.ts +96 -16
- package/src/app/charts/axes/autoScale.ts +244 -0
- package/src/app/charts/axes/axes.ts +954 -735
- package/src/app/charts/d3types.ts +42 -13
- package/src/app/charts/datasources/StreamingDataSource.ts +214 -0
- package/src/app/charts/datasources/iteratesDataSource.ts +122 -0
- package/src/app/charts/datasources/ordinalDataSource.ts +205 -0
- package/src/app/charts/datasources/outlierDataSource.ts +90 -0
- package/src/app/charts/datasources/timeSeriesDataSource.ts +133 -0
- package/src/app/charts/filters/regexFilter.ts +45 -5
- package/src/app/charts/hooks/AxesProvider.tsx +301 -0
- package/src/app/charts/hooks/CanvasSurfaceProvider.tsx +117 -0
- package/src/app/charts/hooks/ChartProvider.tsx +79 -0
- package/src/app/charts/hooks/InteractionProvider.tsx +88 -0
- package/src/app/charts/hooks/PlotDimensionsProvider.tsx +109 -0
- package/src/app/charts/hooks/defaultAxesValues.ts +40 -0
- package/src/app/charts/hooks/defaultMouseValues.ts +24 -0
- package/src/app/charts/hooks/defaultPlotDimensions.ts +27 -0
- package/src/app/charts/hooks/defaultTooltipValues.tsx +23 -0
- package/src/app/charts/hooks/defaultUseChartValues.tsx +36 -0
- package/src/app/charts/hooks/useAxes.tsx +60 -228
- package/src/app/charts/hooks/useCanvasSurface.tsx +35 -0
- package/src/app/charts/hooks/useChart.tsx +47 -106
- package/src/app/charts/hooks/useDataSource.tsx +106 -0
- package/src/app/charts/hooks/useHoveredSeries.tsx +33 -0
- package/src/app/charts/hooks/useMouse.tsx +58 -82
- package/src/app/charts/hooks/usePlotDimensions.tsx +25 -89
- package/src/app/charts/hooks/useTooltip.tsx +32 -63
- package/src/app/charts/index.ts +213 -0
- package/src/app/charts/legends/Legend.tsx +198 -479
- package/src/app/charts/legends/constants.ts +37 -0
- package/src/app/charts/observables/iterates.ts +32 -12
- package/src/app/charts/observables/ordinals.ts +141 -67
- package/src/app/charts/observables/outliers.ts +20 -0
- package/src/app/charts/plots/BarPlot.tsx +784 -666
- package/src/app/charts/plots/OutlierPlot.tsx +685 -0
- package/src/app/charts/plots/PoincarePlot.tsx +707 -489
- package/src/app/charts/plots/RasterPlot.tsx +253 -445
- package/src/app/charts/plots/ScatterPlot.tsx +480 -463
- package/src/app/charts/plots/autoScaleYAxes.ts +102 -0
- package/src/app/charts/plots/colorizedLine.ts +185 -0
- package/src/app/charts/plots/constants.ts +16 -0
- package/src/app/charts/plots/hitTesting.ts +198 -0
- package/src/app/charts/plots/plot.ts +138 -44
- package/src/app/charts/plots/useCanvasZoomPan.ts +240 -0
- package/src/app/charts/plots/useStreamingTimeAxes.ts +384 -0
- package/src/app/charts/series/baseSeries.ts +81 -14
- package/src/app/charts/series/iterateSeries.ts +8 -8
- package/src/app/charts/series/ordinalSeries.ts +35 -20
- package/src/app/charts/series/outlierSeries.ts +188 -0
- package/src/app/charts/series/timeSeries.ts +14 -12
- package/src/app/charts/series/timeSeriesChartData.ts +31 -17
- package/src/app/charts/styling/barPlotStyle.ts +48 -5
- package/src/app/charts/styling/canvasStyle.ts +86 -0
- package/src/app/charts/styling/margins.ts +28 -4
- package/src/app/charts/styling/svgStyle.ts +10 -91
- package/src/app/charts/subscriptions/viewDrivers.ts +447 -0
- package/src/app/charts/tooltips/BarPlotTooltipContent.tsx +156 -380
- package/src/app/charts/tooltips/DefaultOutlierTooltipContent.tsx +40 -0
- package/src/app/charts/tooltips/OutlierPlotTooltipContent.tsx +67 -0
- package/src/app/charts/tooltips/PoincarePlotTooltipContent.tsx +229 -292
- package/src/app/charts/tooltips/RasterPlotTooltipContent.tsx +164 -217
- package/src/app/charts/tooltips/ScatterPlotTooltipContent.tsx +373 -236
- package/src/app/charts/tooltips/Tooltip.tsx +58 -124
- package/src/app/charts/tooltips/TooltipContent.tsx +177 -0
- package/src/app/charts/tooltips/tooltipUtils.ts +359 -61
- package/src/app/charts/tooltips/useOutlierTooltip.tsx +68 -0
- package/src/app/charts/tooltips/useTooltipPlacement.ts +86 -0
- package/src/app/charts/tooltips/useTooltipStyle.ts +15 -0
- package/src/app/charts/trackers/Tracker.tsx +68 -33
- package/src/app/charts/trackers/trackerUtils.ts +263 -376
- package/src/app/charts/utils.ts +90 -48
- package/src/index.ts +2 -322
- package/dist/app/charts/axes/AxesState.test.d.ts +0 -1
- package/dist/app/charts/axes/AxesState.test.js +0 -30
- package/dist/app/charts/axes/AxesState.test.js.map +0 -1
- package/dist/app/charts/axes/AxisInterval.test.d.ts +0 -1
- package/dist/app/charts/axes/AxisInterval.test.js +0 -120
- package/dist/app/charts/axes/AxisInterval.test.js.map +0 -1
- package/dist/app/charts/axes/ContinuousAxisRange.test.d.ts +0 -1
- package/dist/app/charts/axes/ContinuousAxisRange.test.js +0 -47
- package/dist/app/charts/axes/ContinuousAxisRange.test.js.map +0 -1
- package/dist/app/charts/axes/OrdinalAxisRange.test.d.ts +0 -1
- package/dist/app/charts/axes/OrdinalAxisRange.test.js +0 -48
- package/dist/app/charts/axes/OrdinalAxisRange.test.js.map +0 -1
- package/dist/app/charts/filters/regexFilter.test.d.ts +0 -1
- package/dist/app/charts/filters/regexFilter.test.js +0 -11
- package/dist/app/charts/filters/regexFilter.test.js.map +0 -1
- package/dist/app/charts/hooks/useDataObservable.d.ts +0 -72
- package/dist/app/charts/hooks/useDataObservable.js +0 -74
- package/dist/app/charts/hooks/useDataObservable.js.map +0 -1
- package/dist/app/charts/hooks/useInitialData.d.ts +0 -36
- package/dist/app/charts/hooks/useInitialData.js +0 -28
- package/dist/app/charts/hooks/useInitialData.js.map +0 -1
- package/dist/app/charts/observables/iterates.test.d.ts +0 -1
- package/dist/app/charts/observables/iterates.test.js +0 -180
- package/dist/app/charts/observables/iterates.test.js.map +0 -1
- package/dist/app/charts/observables/ordinals.test.d.ts +0 -1
- package/dist/app/charts/observables/ordinals.test.js +0 -102
- package/dist/app/charts/observables/ordinals.test.js.map +0 -1
- package/dist/app/charts/series/datumSeries.test.d.ts +0 -1
- package/dist/app/charts/series/datumSeries.test.js +0 -50
- package/dist/app/charts/series/datumSeries.test.js.map +0 -1
- package/dist/app/charts/styling/margins.test.d.ts +0 -1
- package/dist/app/charts/styling/margins.test.js +0 -19
- package/dist/app/charts/styling/margins.test.js.map +0 -1
- package/dist/app/charts/subscriptions/subscription.test.d.ts +0 -1
- package/dist/app/charts/subscriptions/subscription.test.js +0 -395
- package/dist/app/charts/subscriptions/subscription.test.js.map +0 -1
- package/dist/app/charts/subscriptions/subscriptions.d.ts +0 -100
- package/dist/app/charts/subscriptions/subscriptions.js +0 -449
- package/dist/app/charts/subscriptions/subscriptions.js.map +0 -1
- package/src/app/charts/axes/AxesState.test.ts +0 -34
- package/src/app/charts/axes/AxisInterval.test.ts +0 -143
- package/src/app/charts/axes/ContinuousAxisRange.test.ts +0 -55
- package/src/app/charts/axes/OrdinalAxisRange.test.ts +0 -55
- package/src/app/charts/filters/regexFilter.test.ts +0 -13
- package/src/app/charts/hooks/useDataObservable.tsx +0 -170
- package/src/app/charts/hooks/useInitialData.tsx +0 -64
- package/src/app/charts/observables/iterates.test.ts +0 -201
- package/src/app/charts/observables/ordinals.test.ts +0 -135
- package/src/app/charts/series/datumSeries.test.ts +0 -60
- package/src/app/charts/styling/margins.test.ts +0 -22
- package/src/app/charts/subscriptions/subscription.test.ts +0 -499
- package/src/app/charts/subscriptions/subscriptions.ts +0 -635
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type Dispatch, type SetStateAction } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* The series the mouse is over (in a plot, or in the legend), which the plots and the legend
|
|
4
|
+
* highlight
|
|
5
|
+
*/
|
|
6
|
+
export interface HoveredSeriesValues {
|
|
7
|
+
/**
|
|
8
|
+
* The name of the hovered series, or `null` when no series is hovered
|
|
9
|
+
*/
|
|
10
|
+
hoveredSeriesName: string | null;
|
|
11
|
+
/**
|
|
12
|
+
* Sets (or, with `null`, clears) the hovered series -- e.g. when the mouse is over the series'
|
|
13
|
+
* entry in the legend. (A plot's own mouse-over and mouse-leave set it, through the chart's
|
|
14
|
+
* mouse handlers -- see `useMouse`.)
|
|
15
|
+
*/
|
|
16
|
+
setHoveredSeriesName: Dispatch<SetStateAction<string | null>>;
|
|
17
|
+
}
|
|
18
|
+
export declare const HoveredSeriesContext: import("react").Context<HoveredSeriesValues>;
|
|
19
|
+
/**
|
|
20
|
+
* React hook for the series the mouse is over. Kept apart from {@link useChart}, so that only the
|
|
21
|
+
* components that show the hover (the plots and the legend) re-render when it changes.
|
|
22
|
+
* @return The hovered series' name, and its setter
|
|
23
|
+
*/
|
|
24
|
+
export declare function useHoveredSeries(): HoveredSeriesValues;
|
|
25
|
+
//# sourceMappingURL=useHoveredSeries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHoveredSeries.d.ts","sourceRoot":"","sources":["../../../../src/app/charts/hooks/useHoveredSeries.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAa,MAAM,OAAO,CAAC;AAEpF;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAChC;;OAEG;IACH,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC;;;;OAIG;IACH,oBAAoB,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAA;CAChE;AAED,eAAO,MAAM,oBAAoB,8CAI/B,CAAA;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,mBAAmB,CAEtD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
export const HoveredSeriesContext = createContext({
|
|
3
|
+
hoveredSeriesName: null,
|
|
4
|
+
setHoveredSeriesName: () => {
|
|
5
|
+
},
|
|
6
|
+
});
|
|
7
|
+
/**
|
|
8
|
+
* React hook for the series the mouse is over. Kept apart from {@link useChart}, so that only the
|
|
9
|
+
* components that show the hover (the plots and the legend) re-render when it changes.
|
|
10
|
+
* @return The hovered series' name, and its setter
|
|
11
|
+
*/
|
|
12
|
+
export function useHoveredSeries() {
|
|
13
|
+
return useContext(HoveredSeriesContext);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=useHoveredSeries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHoveredSeries.js","sourceRoot":"","sources":["../../../../src/app/charts/hooks/useHoveredSeries.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAsC,UAAU,EAAC,MAAM,OAAO,CAAC;AAmBpF,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAsB;IACnE,iBAAiB,EAAE,IAAI;IACvB,oBAAoB,EAAE,GAAG,EAAE;IAC3B,CAAC;CACJ,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC5B,OAAO,UAAU,CAAC,oBAAoB,CAAC,CAAA;AAC3C,CAAC"}
|
|
@@ -1,17 +1,32 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { TooltipData } from "./useTooltip";
|
|
1
|
+
import type { TooltipData } from "./useTooltip";
|
|
3
2
|
/**
|
|
4
|
-
*
|
|
3
|
+
* Called when the mouse moves over a series (e.g. to show the tooltip)
|
|
4
|
+
* @param seriesName The name of the series under the mouse
|
|
5
|
+
* @param time The time (x-value) under the mouse
|
|
6
|
+
* @param tooltipData The data for the tooltip (the series, and the plot's metadata about it)
|
|
7
|
+
* @param mouseCoords The mouse coordinates
|
|
8
|
+
* @param [providerId] The ID of the tooltip content provider to use (e.g. for a plot whose
|
|
9
|
+
* elements have different tooltips)
|
|
10
|
+
*/
|
|
11
|
+
export type TooltipMouseOverHandlerFn<D, TM> = (seriesName: string, time: number, tooltipData: TooltipData<D, TM>, mouseCoords: [x: number, y: number], providerId?: string) => void;
|
|
12
|
+
/**
|
|
13
|
+
* Called when the mouse leaves a series (e.g. to hide the tooltip)
|
|
14
|
+
* @param seriesName The name of the series the mouse left
|
|
15
|
+
*/
|
|
16
|
+
export type TooltipMouseLeaveHandlerFn = (seriesName: string) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Type representing the values exposed through the `useMouse` react hook.
|
|
5
19
|
* @template D The type of the data object for the series
|
|
6
20
|
* @template TM The type of the metadata object for the series
|
|
7
21
|
*/
|
|
8
22
|
export type UseMouseValues<D, TM> = {
|
|
9
23
|
/**
|
|
10
|
-
* Adds a mouse-over-series handler with the specified ID and handler function
|
|
24
|
+
* Adds a mouse-over-series handler with the specified ID and handler function (replacing any
|
|
25
|
+
* handler already registered with that ID)
|
|
11
26
|
* @param handlerId The handler ID
|
|
12
27
|
* @param handler The handler function called when a mouse-over-series event occurs.
|
|
13
|
-
* The handler function is handed the series name, the time (x-value), the
|
|
14
|
-
* series
|
|
28
|
+
* The handler function is handed the series name, the time (x-value), the tooltip data (the
|
|
29
|
+
* series and its metadata), and the mouse coordinates.
|
|
15
30
|
* @return The handler ID.
|
|
16
31
|
*/
|
|
17
32
|
registerMouseOverHandler: (handlerId: string, handler: (seriesName: string, time: number, tooltipData: TooltipData<D, TM>, mouseCoords: [x: number, y: number]) => void) => string;
|
|
@@ -21,37 +36,46 @@ export type UseMouseValues<D, TM> = {
|
|
|
21
36
|
*/
|
|
22
37
|
unregisterMouseOverHandler: (handlerId: string) => void;
|
|
23
38
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
39
|
+
* Retrieves the mouse-over-series handler a plot calls when the mouse is over one of its
|
|
40
|
+
* series: it sets the hovered series (see {@link useHoveredSeries}), and calls *every*
|
|
41
|
+
* registered mouse-over-series handler, handing each the specified provider ID. (The
|
|
42
|
+
* `handlerId` is accepted, but unused.)
|
|
43
|
+
* @param handlerId The ID of the handler (unused)
|
|
44
|
+
* @param [providerId] The ID of the tooltip content provider handed to the handlers
|
|
45
|
+
* @return The mouse-over-series handler
|
|
27
46
|
*/
|
|
28
|
-
mouseOverHandlerFor: (handlerId: string, providerId?: string) =>
|
|
47
|
+
mouseOverHandlerFor: (handlerId: string, providerId?: string) => TooltipMouseOverHandlerFn<D, TM>;
|
|
29
48
|
/**
|
|
30
|
-
* Adds a mouse-leave-series handler with the specified ID and handler function
|
|
49
|
+
* Adds a mouse-leave-series handler with the specified ID and handler function (replacing any
|
|
50
|
+
* handler already registered with that ID)
|
|
31
51
|
* @param handlerId The handler ID
|
|
32
52
|
* @param handler The handler function called when a mouse-leave-series event occurs
|
|
33
53
|
* @return The handler ID
|
|
34
54
|
*/
|
|
35
|
-
registerMouseLeaveHandler: (handlerId: string, handler:
|
|
55
|
+
registerMouseLeaveHandler: (handlerId: string, handler: TooltipMouseLeaveHandlerFn) => string;
|
|
36
56
|
/**
|
|
37
57
|
* Removes the mouse-leave-series handler with the specified ID
|
|
38
58
|
* @param handlerId The ID of the handler to remove
|
|
39
59
|
*/
|
|
40
60
|
unregisterMouseLeaveHandler: (handlerId: string) => void;
|
|
41
61
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
62
|
+
* Retrieves the mouse-leave-series handler a plot calls when the mouse leaves one of its
|
|
63
|
+
* series: it clears the hovered series, and calls *every* registered mouse-leave-series
|
|
64
|
+
* handler, handing each the specified provider ID. (The `handlerId` is accepted, but unused.)
|
|
65
|
+
* @param handlerId The ID of the handler (unused)
|
|
66
|
+
* @param [providerId] The ID of the tooltip content provider handed to the handlers
|
|
67
|
+
* @return The mouse-leave-series handler
|
|
45
68
|
*/
|
|
46
|
-
mouseLeaveHandlerFor: (handlerId: string, providerId?: string) => ((seriesName: string, providerId?: string) => void)
|
|
69
|
+
mouseLeaveHandlerFor: (handlerId: string, providerId?: string) => ((seriesName: string, providerId?: string) => void);
|
|
47
70
|
};
|
|
48
|
-
export declare const
|
|
49
|
-
export type Props = {
|
|
50
|
-
children: JSX.Element | Array<JSX.Element>;
|
|
51
|
-
};
|
|
52
|
-
export default function MouseProvider<D, TM>(props: Props): JSX.Element;
|
|
71
|
+
export declare const MouseContext: import("react").Context<unknown>;
|
|
53
72
|
/**
|
|
54
|
-
* React hook
|
|
73
|
+
* React hook for registering, and retrieving, the chart's mouse-over-series and
|
|
74
|
+
* mouse-leave-series handlers. Must be used within a `<Chart>`.
|
|
55
75
|
* @return The {@link UseMouseValues} held in the React context.
|
|
76
|
+
* @throws Error when used outside a `<Chart>`
|
|
77
|
+
* @template D The type of the data object for the series
|
|
78
|
+
* @template TM The type of the metadata object for the series
|
|
56
79
|
*/
|
|
57
80
|
export declare function useMouse<D, TM>(): UseMouseValues<D, TM>;
|
|
81
|
+
//# sourceMappingURL=useMouse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMouse.d.ts","sourceRoot":"","sources":["../../../../src/app/charts/hooks/useMouse.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,MAAM,yBAAyB,CAAC,CAAC,EAAE,EAAE,IAAI,CAC3C,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,EAC/B,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,EACnC,UAAU,CAAC,EAAE,MAAM,KAClB,IAAI,CAAA;AAET;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;AAErE;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,EAAE,IAAI;IAChC;;;;;;;;OAQG;IACH,wBAAwB,EAAE,CACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,KACxH,MAAM,CAAA;IACX;;;OAGG;IACH,0BAA0B,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACvD;;;;;;;;OAQG;IACH,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,yBAAyB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACjG;;;;;;OAMG;IACH,yBAAyB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,KAAK,MAAM,CAAA;IAC7F;;;OAGG;IACH,2BAA2B,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACxD;;;;;;;OAOG;IACH,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,CAAA;CACxH,CAAA;AAKD,eAAO,MAAM,YAAY,kCAAoC,CAAA;AAE7D;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,EAAE,KAAK,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAMvD"}
|
|
@@ -1,64 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
// the context is generic over the same type parameters as `UseMouseValues`, but a context
|
|
3
|
+
// object can't itself carry unbound generics -- `useMouse` below casts it back to the caller's
|
|
4
|
+
// concrete types, which is safe because `<InteractionProvider/>` is what actually supplies the value
|
|
5
|
+
export const MouseContext = createContext(undefined);
|
|
3
6
|
/**
|
|
4
|
-
*
|
|
5
|
-
|
|
6
|
-
const noop = () => {
|
|
7
|
-
/* empty on purpose */
|
|
8
|
-
};
|
|
9
|
-
export const defaultMouseValues = () => ({
|
|
10
|
-
registerMouseOverHandler: () => '',
|
|
11
|
-
unregisterMouseOverHandler: noop,
|
|
12
|
-
mouseOverHandlerFor: () => undefined,
|
|
13
|
-
registerMouseLeaveHandler: () => '',
|
|
14
|
-
unregisterMouseLeaveHandler: noop,
|
|
15
|
-
mouseLeaveHandlerFor: () => undefined,
|
|
16
|
-
});
|
|
17
|
-
const MouseContext = createContext(defaultMouseValues());
|
|
18
|
-
export default function MouseProvider(props) {
|
|
19
|
-
const { children } = props;
|
|
20
|
-
const mouseOverHandlersRef = useRef(new Map());
|
|
21
|
-
const mouseLeaveHandlersRef = useRef(new Map());
|
|
22
|
-
return _jsx(MouseContext.Provider, { value: {
|
|
23
|
-
registerMouseOverHandler: (handlerId, handler) => {
|
|
24
|
-
mouseOverHandlersRef.current.set(handlerId, handler);
|
|
25
|
-
return handlerId;
|
|
26
|
-
},
|
|
27
|
-
unregisterMouseOverHandler: handlerId => mouseOverHandlersRef.current.delete(handlerId),
|
|
28
|
-
mouseOverHandlerFor: (handlerId, providerId) => {
|
|
29
|
-
if (mouseOverHandlersRef.current.size === 0)
|
|
30
|
-
return undefined;
|
|
31
|
-
return (seriesName, time, tooltipData, mouseCoords) => {
|
|
32
|
-
mouseOverHandlersRef.current.forEach(handler => {
|
|
33
|
-
handler(seriesName, time, tooltipData, mouseCoords, providerId);
|
|
34
|
-
});
|
|
35
|
-
};
|
|
36
|
-
},
|
|
37
|
-
registerMouseLeaveHandler: (handlerId, handler) => {
|
|
38
|
-
mouseLeaveHandlersRef.current.set(handlerId, handler);
|
|
39
|
-
return handlerId;
|
|
40
|
-
},
|
|
41
|
-
unregisterMouseLeaveHandler: handlerId => mouseLeaveHandlersRef.current.delete(handlerId),
|
|
42
|
-
mouseLeaveHandlerFor: (handlerId, providerId) => {
|
|
43
|
-
if (mouseLeaveHandlersRef.current.size === 0)
|
|
44
|
-
return undefined;
|
|
45
|
-
return (seriesName) => {
|
|
46
|
-
mouseLeaveHandlersRef.current.forEach(handler => {
|
|
47
|
-
handler(seriesName, providerId);
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
|
-
},
|
|
51
|
-
}, children: children });
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* React hook that sets up the React context for the mouse values.
|
|
7
|
+
* React hook for registering, and retrieving, the chart's mouse-over-series and
|
|
8
|
+
* mouse-leave-series handlers. Must be used within a `<Chart>`.
|
|
55
9
|
* @return The {@link UseMouseValues} held in the React context.
|
|
10
|
+
* @throws Error when used outside a `<Chart>`
|
|
11
|
+
* @template D The type of the data object for the series
|
|
12
|
+
* @template TM The type of the metadata object for the series
|
|
56
13
|
*/
|
|
57
14
|
export function useMouse() {
|
|
58
15
|
const context = useContext(MouseContext);
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
throw new Error("useMouse can only be used when the parent is a <MouseProvider/>");
|
|
16
|
+
if (context === undefined) {
|
|
17
|
+
throw new Error("useMouse can only be used within a <Chart/>");
|
|
62
18
|
}
|
|
63
19
|
return context;
|
|
64
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMouse.js","sourceRoot":"","sources":["../../../../src/app/charts/hooks/useMouse.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useMouse.js","sourceRoot":"","sources":["../../../../src/app/charts/hooks/useMouse.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,OAAO,CAAC;AAoFhD,0FAA0F;AAC1F,+FAA+F;AAC/F,qGAAqG;AACrG,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAU,SAAS,CAAC,CAAA;AAE7D;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ;IACpB,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;IACxC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,OAAgC,CAAA;AAC3C,CAAC"}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
|
-
import { Dimensions, Margin } from "../styling/margins";
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { type Dimensions, type Margin } from "../styling/margins";
|
|
2
|
+
/**
|
|
3
|
+
* Called when the plot's dimensions change
|
|
4
|
+
* @param previousDimensions The plot's dimensions before the change
|
|
5
|
+
* @param newDimensions The plot's new dimensions
|
|
6
|
+
*/
|
|
4
7
|
export type PlotDimensionChangeHandler = (previousDimensions: Dimensions, newDimensions: Dimensions) => void;
|
|
8
|
+
/**
|
|
9
|
+
* The values exposed through the {@link usePlotDimensions} react hook
|
|
10
|
+
*/
|
|
5
11
|
export type UsePlotDimensionsValues = {
|
|
6
12
|
/**
|
|
7
|
-
* The width and height (in pixels) of
|
|
13
|
+
* The width and height (in pixels) of the plot area (the chart without its margins)
|
|
8
14
|
*/
|
|
9
15
|
plotDimensions: Dimensions;
|
|
10
16
|
/**
|
|
11
|
-
* The
|
|
17
|
+
* The margins between the edges of the chart and the plot area (where the axes are drawn)
|
|
12
18
|
*/
|
|
13
19
|
margin: Margin;
|
|
14
20
|
/**
|
|
@@ -16,18 +22,24 @@ export type UsePlotDimensionsValues = {
|
|
|
16
22
|
* @param dimensions the new dimensions of the plot
|
|
17
23
|
*/
|
|
18
24
|
updateDimensions: (dimensions: Dimensions) => void;
|
|
25
|
+
/**
|
|
26
|
+
* Registers a handler that's called whenever the plot dimensions change
|
|
27
|
+
* @param handler The handler
|
|
28
|
+
* @return The handler's ID (for unregistering it)
|
|
29
|
+
*/
|
|
19
30
|
registerPlotDimensionChangeHandler: (handler: PlotDimensionChangeHandler) => string;
|
|
31
|
+
/**
|
|
32
|
+
* Unregisters the plot-dimension change handler with the specified ID
|
|
33
|
+
* @param handlerId The handler's ID (from {@link registerPlotDimensionChangeHandler})
|
|
34
|
+
*/
|
|
20
35
|
unregisterPlotDimensionChangeHandler: (handlerId: string) => void;
|
|
21
36
|
};
|
|
22
|
-
export declare const
|
|
23
|
-
export type Props = {
|
|
24
|
-
containerDimensions: Dimensions;
|
|
25
|
-
margin: Margin;
|
|
26
|
-
children: JSX.Element | Array<JSX.Element>;
|
|
27
|
-
};
|
|
28
|
-
export default function PlotDimensionsProvider(props: Props): JSX.Element;
|
|
37
|
+
export declare const PlotDimensionsContext: import("react").Context<UsePlotDimensionsValues | undefined>;
|
|
29
38
|
/**
|
|
30
|
-
* React hook
|
|
39
|
+
* React hook for the plot's dimensions and margins. Must be used within a
|
|
40
|
+
* `PlotDimensionsProvider` (i.e. within a `<Chart>`).
|
|
31
41
|
* @return The {@link UsePlotDimensionsValues} held in the React context.
|
|
42
|
+
* @throws Error when used outside a `<PlotDimensionsProvider>`
|
|
32
43
|
*/
|
|
33
44
|
export declare function usePlotDimensions(): UsePlotDimensionsValues;
|
|
45
|
+
//# sourceMappingURL=usePlotDimensions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePlotDimensions.d.ts","sourceRoot":"","sources":["../../../../src/app/charts/hooks/usePlotDimensions.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,UAAU,EAAE,KAAK,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAGhE;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,kBAAkB,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,KAAK,IAAI,CAAA;AAE5G;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IAClC;;OAEG;IACH,cAAc,EAAE,UAAU,CAAA;IAC1B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,gBAAgB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAA;IAClD;;;;OAIG;IACH,kCAAkC,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,MAAM,CAAA;IACnF;;;OAGG;IACH,oCAAoC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CACpE,CAAA;AAED,eAAO,MAAM,qBAAqB,8DAAgE,CAAA;AAElG;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,uBAAuB,CAM3D"}
|
|
@@ -1,70 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { createContext, useContext, useEffect, useRef, useState } from "react";
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
export const PlotDimensionsContext = createContext(undefined);
|
|
4
3
|
/**
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
const noop = () => {
|
|
8
|
-
/* empty on purpose */
|
|
9
|
-
};
|
|
10
|
-
export const defaultMargin = { top: 30, right: 20, bottom: 30, left: 50 };
|
|
11
|
-
export const defaultPlotDimensions = () => ({
|
|
12
|
-
plotDimensions: { width: 0, height: 0 },
|
|
13
|
-
margin: defaultMargin,
|
|
14
|
-
updateDimensions: noop,
|
|
15
|
-
registerPlotDimensionChangeHandler: () => "",
|
|
16
|
-
unregisterPlotDimensionChangeHandler: noop
|
|
17
|
-
});
|
|
18
|
-
const PlotDimensionsContext = createContext(defaultPlotDimensions());
|
|
19
|
-
export default function PlotDimensionsProvider(props) {
|
|
20
|
-
const { containerDimensions, margin, children } = props;
|
|
21
|
-
const [dimensions, setDimensions] = useState(defaultPlotDimensions().plotDimensions);
|
|
22
|
-
const plotDimensionChangeHandersRef = useRef(new Map());
|
|
23
|
-
// update the plot dimensions when the container size or margin change
|
|
24
|
-
useEffect(() => {
|
|
25
|
-
const newDimensions = plotDimensionsFrom(containerDimensions.width, containerDimensions.height, margin);
|
|
26
|
-
setDimensions(prevDimensions => {
|
|
27
|
-
if (dimensionsNotEqual(prevDimensions, newDimensions)) {
|
|
28
|
-
for (const handler of plotDimensionChangeHandersRef.current.values()) {
|
|
29
|
-
handler(prevDimensions, newDimensions);
|
|
30
|
-
}
|
|
31
|
-
return newDimensions;
|
|
32
|
-
}
|
|
33
|
-
return prevDimensions;
|
|
34
|
-
});
|
|
35
|
-
}, [containerDimensions, margin]);
|
|
36
|
-
function updateDimensions(newDimensions) {
|
|
37
|
-
setDimensions(prevState => {
|
|
38
|
-
for (const handler of plotDimensionChangeHandersRef.current.values()) {
|
|
39
|
-
handler(prevState, newDimensions);
|
|
40
|
-
}
|
|
41
|
-
return newDimensions;
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
function registerPlotDimensionChangeHandler(handler) {
|
|
45
|
-
const handlerId = crypto.randomUUID();
|
|
46
|
-
plotDimensionChangeHandersRef.current.set(handlerId, handler);
|
|
47
|
-
return handlerId;
|
|
48
|
-
}
|
|
49
|
-
function unregisterPlotDimensionChangeHandler(handlerId) {
|
|
50
|
-
return plotDimensionChangeHandersRef.current.delete(handlerId);
|
|
51
|
-
}
|
|
52
|
-
return _jsx(PlotDimensionsContext.Provider, { value: {
|
|
53
|
-
plotDimensions: dimensions,
|
|
54
|
-
margin,
|
|
55
|
-
updateDimensions,
|
|
56
|
-
registerPlotDimensionChangeHandler,
|
|
57
|
-
unregisterPlotDimensionChangeHandler
|
|
58
|
-
}, children: children });
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* React hook that sets up the React context for the plot-dimension values.
|
|
4
|
+
* React hook for the plot's dimensions and margins. Must be used within a
|
|
5
|
+
* `PlotDimensionsProvider` (i.e. within a `<Chart>`).
|
|
62
6
|
* @return The {@link UsePlotDimensionsValues} held in the React context.
|
|
7
|
+
* @throws Error when used outside a `<PlotDimensionsProvider>`
|
|
63
8
|
*/
|
|
64
9
|
export function usePlotDimensions() {
|
|
65
10
|
const context = useContext(PlotDimensionsContext);
|
|
66
|
-
|
|
67
|
-
if (plotDimensions === undefined || plotDimensions === null) {
|
|
11
|
+
if (context === undefined) {
|
|
68
12
|
throw new Error("usePlotDimensions can only be used when the parent is a <PlotDimensionsProvider/>");
|
|
69
13
|
}
|
|
70
14
|
return context;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePlotDimensions.js","sourceRoot":"","sources":["../../../../src/app/charts/hooks/usePlotDimensions.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePlotDimensions.js","sourceRoot":"","sources":["../../../../src/app/charts/hooks/usePlotDimensions.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,OAAO,CAAC;AAuChD,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAsC,SAAS,CAAC,CAAA;AAElG;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAA;IACjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAA;IACxG,CAAC;IACD,OAAO,OAAO,CAAA;AAClB,CAAC"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { Series } from "../plots/plot";
|
|
2
|
-
import { TooltipDimensions } from "../tooltips/tooltipUtils";
|
|
3
|
-
import { JSX } from "react";
|
|
1
|
+
import type { Series } from "../plots/plot";
|
|
4
2
|
/**
|
|
5
3
|
* Base interface for tooltip data that is passed through to the tooltip content provider
|
|
6
4
|
* @template D The type of the data object for the series
|
|
@@ -11,18 +9,21 @@ export interface TooltipData<D, M> {
|
|
|
11
9
|
metadata: M;
|
|
12
10
|
}
|
|
13
11
|
/**
|
|
14
|
-
* A
|
|
15
|
-
*
|
|
16
|
-
* @return The tooltip content, or `undefined` if no tooltip content is available.
|
|
12
|
+
* A function that provides (shows) the tooltip content for the element under the mouse (see
|
|
13
|
+
* {@link TooltipContent}, which registers one)
|
|
17
14
|
* @param seriesName The name of the series for which the tooltip content is being provided
|
|
18
15
|
* @param time The time (x-value) for which the tooltip content is being provided
|
|
19
16
|
* @param tooltipData The tooltip data
|
|
20
17
|
* @param mouseCoords The mouse coordinates over which the mouse is hovering
|
|
21
18
|
* @param providerId An optional ID of the tooltip content provider.
|
|
19
|
+
* @template D The type of the data object for the series
|
|
20
|
+
* @template M The type of the metadata object for the series
|
|
22
21
|
*/
|
|
23
|
-
export type TooltipContentProvider<D, M> = (seriesName: string, time: number, tooltipData: TooltipData<D, M>, mouseCoords: [x: number, y: number], providerId?: string) =>
|
|
22
|
+
export type TooltipContentProvider<D, M> = (seriesName: string, time: number, tooltipData: TooltipData<D, M>, mouseCoords: [x: number, y: number], providerId?: string) => void;
|
|
24
23
|
/**
|
|
25
|
-
* The functions and values exposed through the
|
|
24
|
+
* The functions and values exposed through the `useTooltip` react hook
|
|
25
|
+
* @template D The type of the data object for the series
|
|
26
|
+
* @template M The type of the metadata object for the series
|
|
26
27
|
*/
|
|
27
28
|
export type UseTooltipValues<D, M> = {
|
|
28
29
|
/**
|
|
@@ -37,28 +38,25 @@ export type UseTooltipValues<D, M> = {
|
|
|
37
38
|
* registered, then returns `undefined`.
|
|
38
39
|
*/
|
|
39
40
|
tooltipContentProvider: () => (TooltipContentProvider<D, M> | undefined);
|
|
41
|
+
/**
|
|
42
|
+
* Callback that sets the visibility state of the tooltip. This is used to control whether the tooltip is
|
|
43
|
+
* visible or not.
|
|
44
|
+
* @param visible Whether the tooltip should be visible or not.
|
|
45
|
+
*/
|
|
40
46
|
setVisibilityState: (visible: boolean) => void;
|
|
47
|
+
/**
|
|
48
|
+
* @return Whether the tooltip is currently visible or not.
|
|
49
|
+
*/
|
|
41
50
|
visibilityState: boolean;
|
|
42
51
|
};
|
|
52
|
+
export declare const TooltipContext: import("react").Context<unknown>;
|
|
43
53
|
/**
|
|
44
|
-
*
|
|
45
|
-
|
|
46
|
-
export declare const defaultTooltipValues: () => UseTooltipValues<any, any>;
|
|
47
|
-
export type Props = {
|
|
48
|
-
children: JSX.Element | Array<JSX.Element>;
|
|
49
|
-
};
|
|
50
|
-
/**
|
|
51
|
-
* The tooltip context provider allows registering and retrieving tooltip content providers. When
|
|
52
|
-
* a tooltip content provider is registered with a provider ID, then it must be retrieved with that
|
|
53
|
-
* same provider ID. This allows a chart to have multiple tooltip content providers, depending on
|
|
54
|
-
* the context or types of objects being moused over. When a tooltip content provider is registered
|
|
55
|
-
* without a provider ID, then the default provider ID is used.
|
|
56
|
-
* @param props The properties holding the children
|
|
57
|
-
* @return A JSX element containing the children
|
|
58
|
-
*/
|
|
59
|
-
export default function TooltipProvider<D, M>(props: Props): JSX.Element;
|
|
60
|
-
/**
|
|
61
|
-
* React hook that sets up the React context for the mouse values.
|
|
54
|
+
* React hook for registering, and retrieving, the chart's tooltip content provider, and for the
|
|
55
|
+
* tooltip's visibility. Must be used within a `<Chart>`.
|
|
62
56
|
* @return The {@link UseTooltipValues} held in the React context.
|
|
57
|
+
* @throws Error when used outside a `<Chart>`
|
|
58
|
+
* @template D The type of the data object for the series
|
|
59
|
+
* @template M The type of the metadata object for the series
|
|
63
60
|
*/
|
|
64
61
|
export declare function useTooltip<D, M>(): UseTooltipValues<D, M>;
|
|
62
|
+
//# sourceMappingURL=useTooltip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTooltip.d.ts","sourceRoot":"","sources":["../../../../src/app/charts/hooks/useTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAG1C;;;;GAIG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,EAAE,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IACjB,QAAQ,EAAE,CAAC,CAAA;CACd;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,sBAAsB,CAAC,CAAC,EAAE,CAAC,IACnC,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;AAExI;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,IAAI;IACjC;;;;;OAKG;IACH,8BAA8B,EAAE,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAA;IAEhF;;;OAGG;IACH,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IAExE;;;;OAIG;IACH,kBAAkB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IAE9C;;OAEG;IACH,eAAe,EAAE,OAAO,CAAA;CAC3B,CAAA;AAKD,eAAO,MAAM,cAAc,kCAAoC,CAAA;AAE/D;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAMzD"}
|
|
@@ -1,50 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
// the context is generic over the same type parameters as `UseTooltipValues`, but a context
|
|
3
|
+
// object can't itself carry unbound generics -- `useTooltip` below casts it back to the caller's
|
|
4
|
+
// concrete types, which is safe because `<InteractionProvider/>` is what actually supplies the value
|
|
5
|
+
export const TooltipContext = createContext(undefined);
|
|
3
6
|
/**
|
|
4
|
-
*
|
|
5
|
-
|
|
6
|
-
const noop = () => {
|
|
7
|
-
/* empty on purpose */
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* The default values for the {@link UseTooltipValues}
|
|
11
|
-
*/
|
|
12
|
-
export const defaultTooltipValues = () => ({
|
|
13
|
-
registerTooltipContentProvider: noop,
|
|
14
|
-
tooltipContentProvider: () => undefined,
|
|
15
|
-
setVisibilityState: noop,
|
|
16
|
-
visibilityState: false,
|
|
17
|
-
});
|
|
18
|
-
const TooltipContext = createContext(defaultTooltipValues());
|
|
19
|
-
/**
|
|
20
|
-
* The tooltip context provider allows registering and retrieving tooltip content providers. When
|
|
21
|
-
* a tooltip content provider is registered with a provider ID, then it must be retrieved with that
|
|
22
|
-
* same provider ID. This allows a chart to have multiple tooltip content providers, depending on
|
|
23
|
-
* the context or types of objects being moused over. When a tooltip content provider is registered
|
|
24
|
-
* without a provider ID, then the default provider ID is used.
|
|
25
|
-
* @param props The properties holding the children
|
|
26
|
-
* @return A JSX element containing the children
|
|
27
|
-
*/
|
|
28
|
-
export default function TooltipProvider(props) {
|
|
29
|
-
const { children } = props;
|
|
30
|
-
const tooltipContentProviderRef = useRef(undefined);
|
|
31
|
-
const visibilityStateRef = useRef(false);
|
|
32
|
-
return _jsx(TooltipContext.Provider, { value: {
|
|
33
|
-
registerTooltipContentProvider: provider => tooltipContentProviderRef.current = provider,
|
|
34
|
-
tooltipContentProvider: () => tooltipContentProviderRef.current,
|
|
35
|
-
setVisibilityState: (visible) => visibilityStateRef.current = visible,
|
|
36
|
-
visibilityState: visibilityStateRef.current
|
|
37
|
-
}, children: children });
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* React hook that sets up the React context for the mouse values.
|
|
7
|
+
* React hook for registering, and retrieving, the chart's tooltip content provider, and for the
|
|
8
|
+
* tooltip's visibility. Must be used within a `<Chart>`.
|
|
41
9
|
* @return The {@link UseTooltipValues} held in the React context.
|
|
10
|
+
* @throws Error when used outside a `<Chart>`
|
|
11
|
+
* @template D The type of the data object for the series
|
|
12
|
+
* @template M The type of the metadata object for the series
|
|
42
13
|
*/
|
|
43
14
|
export function useTooltip() {
|
|
44
15
|
const context = useContext(TooltipContext);
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
throw new Error("useTooltip can only be used when the parent is a <TooltipProvider/>");
|
|
16
|
+
if (context === undefined) {
|
|
17
|
+
throw new Error("useTooltip can only be used within a <Chart/>");
|
|
48
18
|
}
|
|
49
19
|
return context;
|
|
50
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTooltip.js","sourceRoot":"","sources":["../../../../src/app/charts/hooks/useTooltip.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useTooltip.js","sourceRoot":"","sources":["../../../../src/app/charts/hooks/useTooltip.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,OAAO,CAAC;AA2DhD,4FAA4F;AAC5F,iGAAiG;AACjG,qGAAqG;AACrG,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAU,SAAS,CAAC,CAAA;AAE/D;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU;IACtB,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IAC1C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;IACpE,CAAC;IACD,OAAO,OAAiC,CAAA;AAC5C,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export { Chart, type Props as ChartProps } from "./Chart";
|
|
2
|
+
export { useChart, type UseChartValues, type NoTooltipMetadata } from "./hooks/useChart";
|
|
3
|
+
export type { UseAxesValues } from "./hooks/useAxes";
|
|
4
|
+
export type { AxesState } from "./axes/AxesState";
|
|
5
|
+
export type { UseMouseValues, TooltipMouseOverHandlerFn, TooltipMouseLeaveHandlerFn } from "./hooks/useMouse";
|
|
6
|
+
export type { UseTooltipValues } from "./hooks/useTooltip";
|
|
7
|
+
export { usePlotDimensions, type UsePlotDimensionsValues, type PlotDimensionChangeHandler } from "./hooks/usePlotDimensions";
|
|
8
|
+
export { useDataSource, useDataSourceRunning } from "./hooks/useDataSource";
|
|
9
|
+
export { useHoveredSeries, type HoveredSeriesValues } from "./hooks/useHoveredSeries";
|
|
10
|
+
export { defaultMargin } from "./hooks/defaultPlotDimensions";
|
|
11
|
+
export type { Margin, Dimensions } from "./styling/margins";
|
|
12
|
+
export type { SvgStyle, SvgStrokeStyle, SvgFillStyle } from "./styling/svgStyle";
|
|
13
|
+
export type { CanvasContext, DrawFn, DrawHandle } from "./d3types";
|
|
14
|
+
export { ContinuousAxis, type Props as ContinuousAxisProps } from "./axes/ContinuousAxis";
|
|
15
|
+
export { OrdinalAxis, type Props as OrdinalAxisProps } from "./axes/OrdinalAxis";
|
|
16
|
+
export { EmptyAxis, type Props as EmptyAxisProps } from "./axes/EmptyAxis";
|
|
17
|
+
export { AxisLocation, AxisType, defaultAxesFont, defaultAxisTickStyle, defaultLineStyle, type AxesFont, type AxisTickStyle, type BaseAxis, type ContinuousNumericAxis, type OrdinalStringAxis, type SeriesLineStyle, type SeriesStyle, } from "./axes/axes";
|
|
18
|
+
export { AxisInterval } from "./axes/AxisInterval";
|
|
19
|
+
export { BaseAxisRange } from "./axes/BaseAxisRange";
|
|
20
|
+
export { ContinuousAxisRange } from "./axes/ContinuousAxisRange";
|
|
21
|
+
export { OrdinalAxisRange } from "./axes/OrdinalAxisRange";
|
|
22
|
+
export type { AutoScale } from "./axes/autoScale";
|
|
23
|
+
export { ScatterPlot, type Props as ScatterPlotProps } from "./plots/ScatterPlot";
|
|
24
|
+
export { RasterPlot, type Props as RasterPlotProps } from "./plots/RasterPlot";
|
|
25
|
+
export { PoincarePlot, type Props as PoincarePlotProps, type PoincarePlotZoomState } from "./plots/PoincarePlot";
|
|
26
|
+
export { BarPlot, type Props as BarPlotProps, type BarPlotZoomState, type BarChartElementId } from "./plots/BarPlot";
|
|
27
|
+
export { OutlierPlot, type Props as OutlierPlotProps, type OutlierBandTooltipMetadata } from "./plots/OutlierPlot";
|
|
28
|
+
export { assignAxes, type AxesAssignment, type Series } from "./plots/plot";
|
|
29
|
+
export { NoCurveFactory, BAR_CHART_TOOLTIP_PROVIDER_IDS } from "./plots/constants";
|
|
30
|
+
export { DEFAULT_LINE_COLOR_STEPS, DEFAULT_LINE_END_COLOR, DEFAULT_LINE_START_COLOR, lineColorScale, } from "./plots/colorizedLine";
|
|
31
|
+
export { TimeWindowBehavior } from "./subscriptions/viewDrivers";
|
|
32
|
+
export { defaultBarSeriesStyle, defaultMeanValueLineStyle, defaultMinMaxBarStyle, defaultValueLineStyle, defaultWindowedMeanValueLineStyle, defaultWindowedMinMaxBarStyle, type BarSeriesStyle, type BarStyle, type LineStyle, } from "./styling/barPlotStyle";
|
|
33
|
+
export { Tooltip, type Props as TooltipProps } from "./tooltips/Tooltip";
|
|
34
|
+
export { TooltipContent, type TooltipCapture, type TooltipContentProps } from "./tooltips/TooltipContent";
|
|
35
|
+
export { useTooltipStyle } from "./tooltips/useTooltipStyle";
|
|
36
|
+
export { ScatterPlotTooltipContent, type Props as ScatterPlotTooltipContentProps } from "./tooltips/ScatterPlotTooltipContent";
|
|
37
|
+
export { RasterPlotTooltipContent, type Props as RasterPlotTooltipContentProps } from "./tooltips/RasterPlotTooltipContent";
|
|
38
|
+
export { PoincarePlotTooltipContent, type Props as PoincarePlotTooltipContentProps } from "./tooltips/PoincarePlotTooltipContent";
|
|
39
|
+
export { BarPlotTooltipContent, type Props as BarPlotTooltipContentProps } from "./tooltips/BarPlotTooltipContent";
|
|
40
|
+
export { OutlierPlotTooltipContent, type Props as OutlierPlotTooltipContentProps } from "./tooltips/OutlierPlotTooltipContent";
|
|
41
|
+
export { DefaultOutlierTooltipContent } from "./tooltips/DefaultOutlierTooltipContent";
|
|
42
|
+
export { useOutlierTooltip, type OutlierTooltipContentFormatters, type OutlierTooltipContextValue, type OutlierTooltipData, } from "./tooltips/useOutlierTooltip";
|
|
43
|
+
export type { TooltipData, TooltipContentProvider } from "./hooks/useTooltip";
|
|
44
|
+
export { defaultTooltipStyle, type RasterTooltipMetadata, type ScatterTooltipMetadata, type ScatterTooltipPoints, type TooltipStyle, } from "./tooltips/tooltipUtils";
|
|
45
|
+
export { Tracker, type Props as TrackerProps, type TrackerAxisInfo, type TrackerAxisUpdate } from "./trackers/Tracker";
|
|
46
|
+
export { defaultTrackerLabelFont, defaultTrackerStyle, TrackerLabelLocation, type TrackerLabelFont, type TrackerStyle, } from "./trackers/trackerUtils";
|
|
47
|
+
export { Legend, type Props as LegendProps, type LegendStyle } from "./legends/Legend";
|
|
48
|
+
export { defaultLegendStyle, LegendLocation } from "./legends/constants";
|
|
49
|
+
export { BaseStreamingDataSource, type DataGenerator, type StreamingDataSource, } from "./datasources/StreamingDataSource";
|
|
50
|
+
export { TimeSeriesDataSource, type TimeGroupFor, type TimeSeriesDataSourceOptions, } from "./datasources/timeSeriesDataSource";
|
|
51
|
+
export { IteratesDataSource, type IteratesDataSourceOptions } from "./datasources/iteratesDataSource";
|
|
52
|
+
export { OrdinalDataSource, type OrdinalDataSourceOptions, type WindowedOrdinalStats, } from "./datasources/ordinalDataSource";
|
|
53
|
+
export { OutlierDataSource, type OutlierDataSourceOptions } from "./datasources/outlierDataSource";
|
|
54
|
+
export { type ChartData } from "./observables/ChartData";
|
|
55
|
+
export { DEFAULT_COMPACTING_SIZE, emptySeries, emptySeriesFor, seriesFrom, type BaseSeries, } from "./series/baseSeries";
|
|
56
|
+
export { datumOf, timeSeriesFromTuples, type Datum, type TimeSeries } from "./series/timeSeries";
|
|
57
|
+
export { initialTimeSeriesChartData, type TimeSeriesChartData, } from "./series/timeSeriesChartData";
|
|
58
|
+
export { iterateDatumOf, iterateSeriesFromTuples, type IterateDatum, type IterateSeries, } from "./series/iterateSeries";
|
|
59
|
+
export { iteratesObservable, type IterateChartData } from "./observables/iterates";
|
|
60
|
+
export { calculateOrdinalStats, initialOrdinalChartData, ordinalDatumOf, ordinateSeriesFromTuples, type OrdinalDatum, type OrdinalSeries, } from "./series/ordinalSeries";
|
|
61
|
+
export { ordinalsObservable, type OrdinalChartData, type OrdinalDatumExtremum, type OrdinalStats, type OrdinalValueStats, } from "./observables/ordinals";
|
|
62
|
+
export { outlierBoundsFor, outlierDatumFor, outlierSeriesFor, outlierSeriesFrom, type OutlierBounds, type OutlierDatum, type OutlierSeries, } from "./series/outlierSeries";
|
|
63
|
+
export type { OutlierChartData } from "./observables/outliers";
|
|
64
|
+
export { isSafeRegex, literalFilter, regexFilter } from "./filters/regexFilter";
|
|
65
|
+
export { formatChange, formatNumber, formatTime, formatTimeChange, formatValue, formatValueChange, noop, } from "./utils";
|
|
66
|
+
//# sourceMappingURL=index.d.ts.map
|