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 @@
|
|
|
1
|
+
{"version":3,"file":"viewDrivers.js","sourceRoot":"","sources":["../../../../src/app/charts/subscriptions/viewDrivers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,88 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ReactElement } from "react";
|
|
2
|
+
import { type TooltipStyle } from "./tooltipUtils";
|
|
2
3
|
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Here's how to write your own tooltip-content component.
|
|
6
|
-
|
|
7
|
-
To create your own tooltip content `<MyTooltipContent/>` you must do the following:
|
|
8
|
-
1. Create a react component for your tooltip content (see for example, {@link ScatterPlotTooltipContent}
|
|
9
|
-
as a reference.
|
|
10
|
-
2. Use the {@link useChart} hook to get the {@link registerTooltipContentProvider} registration function.
|
|
11
|
-
3. When your tooltip content component (`<MyTooltipContent/>`) mounts, use the {@link registerTooltipContentProvider}
|
|
12
|
-
function to register your tooltip content provider.
|
|
13
|
-
4. When the chart dimensions, margin, container, etc, change, register your tooltip content provider
|
|
14
|
-
again (you can register as many times as you like because it only uses the last content provider
|
|
15
|
-
registered).
|
|
16
|
-
|
|
17
|
-
That's it! A bit more details below.
|
|
18
|
-
|
|
19
|
-
The {@link registerTooltipContentProvider} function from the {@link useChart} hook allows you to register
|
|
20
|
-
one tooltip content provider. A second call to this function will cause the {@link useChart} hook to drop
|
|
21
|
-
the first one in favor of the second one.
|
|
22
|
-
|
|
23
|
-
The {@link registerTooltipContentProvider} function from the {@link useChart} hook accepts a higher-order
|
|
24
|
-
function that allowing a closure on content/chart-specific data. Specifically, you must hand the
|
|
25
|
-
{@link registerTooltipContentProvider} a function of the form:
|
|
26
|
-
|
|
27
|
-
`(seriesName: string, time: number, series: TimeSeries, mouseCoords: [x: number, y: number]) => TooltipDimensions`
|
|
28
|
-
|
|
29
|
-
Your function to add that actual content will be what this function calls whenever d3 fires a mouse-over
|
|
30
|
-
event on one you the time-series in the chart.
|
|
31
|
-
|
|
32
|
-
The code snippet below is from the `useEffect` call in the {@link ScatterPlotTooltipContent}.
|
|
33
|
-
Note that the first four arguments to the {@link addTooltipContent} function are those provided by the {@link useChart} hook
|
|
34
|
-
when a d3 mouse-over event occurs on one of your series. The additional six arguments are from the closure formed
|
|
35
|
-
on the variables in your component. The `chartId`, `container`, `margin`, and `plotDimensions` are from the
|
|
36
|
-
{@link useChart} hook called by the {@link ScatterPlotTooltipContent} component. The last two
|
|
37
|
-
arguments, `defaultTooltipStyle` and `options` are specific to the {@link ScatterPlotTooltipContent}.
|
|
38
|
-
For example, the `options` property is set by the caller of the {@link ScatterPlotTooltipContent}
|
|
39
|
-
component.
|
|
40
|
-
|
|
41
|
-
```typescript
|
|
42
|
-
// register the tooltip content provider function with the chart hook (useChart) so that
|
|
43
|
-
// it is visible to all children of the Chart (i.e. the <Tooltip>).
|
|
44
|
-
registerTooltipContentProvider(
|
|
45
|
-
(seriesName: string,
|
|
46
|
-
time: number,
|
|
47
|
-
tooltipData: TooltipData<OrdinalDatum, WindowedOrdinalStats>,
|
|
48
|
-
mouseCoords: [x: number, y: number]
|
|
49
|
-
) => {
|
|
50
|
-
return addTooltipContent(
|
|
51
|
-
seriesName, tooltipData, mouseCoords,
|
|
52
|
-
chartId, container, margin, plotDimensions, tooltipStyle,
|
|
53
|
-
ordinalUnits
|
|
54
|
-
)
|
|
55
|
-
}
|
|
56
|
-
)
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
This pattern allows you to supplement that `useChart` mouse-over callback with information specific to your component.
|
|
60
|
-
|
|
61
|
-
*/
|
|
62
|
-
/**
|
|
63
|
-
* Properties for rendering the tooltip content. The properties are applied as
|
|
64
|
-
* shown below.
|
|
65
|
-
* ```
|
|
66
|
-
* series name
|
|
67
|
-
* xFormatter, yFormatter
|
|
68
|
-
* ```
|
|
4
|
+
* Properties for rendering the tooltip content
|
|
69
5
|
*/
|
|
70
6
|
export interface Props {
|
|
7
|
+
/** the units of the values (e.g. "mV"), shown after the values (none by default) */
|
|
71
8
|
ordinalUnits?: string;
|
|
9
|
+
/** the style of the tooltip */
|
|
72
10
|
style?: Partial<TooltipStyle>;
|
|
73
11
|
}
|
|
74
12
|
/**
|
|
75
|
-
* Adds tooltip content that shows the series name
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
* time, value
|
|
79
|
-
* ```
|
|
13
|
+
* Adds tooltip content that shows the series name, the current value, a small stats table
|
|
14
|
+
* (count/min/max/mean, windowed vs. all-time) for the bar-chart element being hovered, and a
|
|
15
|
+
* sparkline of the value over the data the chart holds.
|
|
80
16
|
*
|
|
81
|
-
*
|
|
82
|
-
* event on a series. The content provider is returns the {@link addTooltipContent} function
|
|
83
|
-
* when called. And when called the {@link addTooltipContent} function adds the actual tooltip
|
|
84
|
-
* content to the SVG element.
|
|
17
|
+
* Built on {@link TooltipContent}; put it inside a {@link Tooltip}.
|
|
85
18
|
* @param props The properties describing the tooltip content
|
|
86
|
-
* @return null
|
|
19
|
+
* @return The tooltip's portal, or `null` when nothing is being hovered
|
|
87
20
|
*/
|
|
88
|
-
export declare function BarPlotTooltipContent(props: Props): null;
|
|
21
|
+
export declare function BarPlotTooltipContent(props: Props): ReactElement | null;
|
|
22
|
+
//# sourceMappingURL=BarPlotTooltipContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BarPlotTooltipContent.d.ts","sourceRoot":"","sources":["../../../../src/app/charts/tooltips/BarPlotTooltipContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,YAAY,EAAC,MAAM,OAAO,CAAC;AACvD,OAAO,EAA+B,KAAK,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAS/E;;GAEG;AACH,MAAM,WAAW,KAAK;IAClB,oFAAoF;IACpF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;CAChC;AA6BD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,GAAG,IAAI,CAwEvE"}
|
|
@@ -1,120 +1,37 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { sparklineFor } from "./tooltipUtils";
|
|
3
|
+
import { TooltipContent } from "./TooltipContent";
|
|
3
4
|
import { formatNumber, formatTime, formatValue } from "../utils";
|
|
4
|
-
import { useEffect, useMemo } from "react";
|
|
5
|
-
import { useChart } from "../hooks/useChart";
|
|
6
|
-
import { usePlotDimensions } from "../hooks/usePlotDimensions";
|
|
7
5
|
import { emptyOrdinalDatum } from "../series/ordinalSeries";
|
|
8
|
-
import { DataFrame } from "data-frame-ts";
|
|
9
|
-
import { createTable, TableData, TableFormatter, TableStyler } from "svg-table";
|
|
10
6
|
import { defaultOrdinalValueStats } from "../observables/ordinals";
|
|
11
|
-
import { BAR_CHART_TOOLTIP_PROVIDER_IDS } from "../plots/
|
|
7
|
+
import { BAR_CHART_TOOLTIP_PROVIDER_IDS } from "../plots/constants";
|
|
8
|
+
// the size of the tooltip's sparkline (of the value over time)
|
|
9
|
+
const SPARKLINE_WIDTH = 180;
|
|
10
|
+
const SPARKLINE_HEIGHT = 36;
|
|
12
11
|
/**
|
|
13
|
-
* Adds tooltip content that shows the series name
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* time, value
|
|
17
|
-
* ```
|
|
12
|
+
* Adds tooltip content that shows the series name, the current value, a small stats table
|
|
13
|
+
* (count/min/max/mean, windowed vs. all-time) for the bar-chart element being hovered, and a
|
|
14
|
+
* sparkline of the value over the data the chart holds.
|
|
18
15
|
*
|
|
19
|
-
*
|
|
20
|
-
* event on a series. The content provider is returns the {@link addTooltipContent} function
|
|
21
|
-
* when called. And when called the {@link addTooltipContent} function adds the actual tooltip
|
|
22
|
-
* content to the SVG element.
|
|
16
|
+
* Built on {@link TooltipContent}; put it inside a {@link Tooltip}.
|
|
23
17
|
* @param props The properties describing the tooltip content
|
|
24
|
-
* @return null
|
|
18
|
+
* @return The tooltip's portal, or `null` when nothing is being hovered
|
|
25
19
|
*/
|
|
26
20
|
export function BarPlotTooltipContent(props) {
|
|
27
|
-
const { chartId, container, tooltip, axes } = useChart();
|
|
28
|
-
const { registerTooltipContentProvider } = tooltip;
|
|
29
|
-
const { yAxesState, axisAssignmentsFor } = axes;
|
|
30
|
-
const { margin, plotDimensions } = usePlotDimensions();
|
|
31
21
|
const { style, ordinalUnits = "" } = props;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
// register the tooltip content provider function with the chart hook (useChart) so that
|
|
45
|
-
// it is visible to all children of the Chart (i.e. the <Tooltip>).
|
|
46
|
-
registerTooltipContentProvider(
|
|
47
|
-
/**
|
|
48
|
-
*
|
|
49
|
-
* @param seriesName The name of the series
|
|
50
|
-
* @param time The mouse time
|
|
51
|
-
* @param tooltipData The series data and metadata
|
|
52
|
-
* @param mouseCoords The coordinates of the mouse
|
|
53
|
-
* @param providerId The ID of the tooltip content provider
|
|
54
|
-
* @return The tooltip contents
|
|
55
|
-
*/
|
|
56
|
-
(seriesName, time, tooltipData, mouseCoords, providerId) => {
|
|
57
|
-
if (providerId !== undefined) {
|
|
58
|
-
return addTooltipContent(seriesName, providerId, tooltipData, mouseCoords, chartId, container, margin, plotDimensions, tooltipStyle, ordinalUnits);
|
|
59
|
-
}
|
|
60
|
-
return { x: 0, y: 0, contentWidth: 0, contentHeight: 0 };
|
|
61
|
-
//
|
|
62
|
-
// switch (providerId) {
|
|
63
|
-
// case BAR_CHART_TOOLTIP_PROVIDER_IDS.currentValue:
|
|
64
|
-
// return addTooltipContent(
|
|
65
|
-
// seriesName, 'current value', tooltipData, mouseCoords,
|
|
66
|
-
// chartId, container, margin, plotDimensions, tooltipStyle,
|
|
67
|
-
// ordinalUnits
|
|
68
|
-
// )
|
|
69
|
-
// case BAR_CHART_TOOLTIP_PROVIDER_IDS.meanValue:
|
|
70
|
-
// return addTooltipContent(
|
|
71
|
-
// seriesName, 'mean value', tooltipData, mouseCoords,
|
|
72
|
-
// chartId, container, margin, plotDimensions, tooltipStyle,
|
|
73
|
-
// ordinalUnits
|
|
74
|
-
// )
|
|
75
|
-
// case BAR_CHART_TOOLTIP_PROVIDER_IDS.minMax:
|
|
76
|
-
// return addTooltipContent(
|
|
77
|
-
// seriesName, 'min/max', tooltipData, mouseCoords,
|
|
78
|
-
// chartId, container, margin, plotDimensions, tooltipStyle,
|
|
79
|
-
// ordinalUnits
|
|
80
|
-
// )
|
|
81
|
-
// case BAR_CHART_TOOLTIP_PROVIDER_IDS.windowedMeanValue:
|
|
82
|
-
// return addTooltipContent(
|
|
83
|
-
// seriesName, 'windowed mean', tooltipData, mouseCoords,
|
|
84
|
-
// chartId, container, margin, plotDimensions, tooltipStyle,
|
|
85
|
-
// ordinalUnits
|
|
86
|
-
// )
|
|
87
|
-
// case BAR_CHART_TOOLTIP_PROVIDER_IDS.windowedMinMax:
|
|
88
|
-
// return addTooltipContent(
|
|
89
|
-
// seriesName, 'windowed min/max', tooltipData, mouseCoords,
|
|
90
|
-
// chartId, container, margin, plotDimensions, tooltipStyle,
|
|
91
|
-
// ordinalUnits
|
|
92
|
-
// )
|
|
93
|
-
//
|
|
94
|
-
//
|
|
95
|
-
// default:
|
|
96
|
-
// return {x: 0, y: 0, contentWidth: 0, contentHeight: 0}
|
|
97
|
-
// }
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
}, [
|
|
101
|
-
chartId, container, margin, plotDimensions, registerTooltipContentProvider,
|
|
102
|
-
tooltipStyle,
|
|
103
|
-
yAxesState, axisAssignmentsFor,
|
|
104
|
-
ordinalUnits
|
|
105
|
-
]);
|
|
106
|
-
return null;
|
|
22
|
+
return (_jsx(TooltipContent, { style: style, capture: (seriesName, _value, tooltipData, providerId) =>
|
|
23
|
+
// (the provider ID says which of the bar's elements is hovered)
|
|
24
|
+
providerId === undefined ?
|
|
25
|
+
undefined :
|
|
26
|
+
captureTooltipContent(seriesName, providerId, tooltipData, ordinalUnits), children: (tooltipContent, tooltipStyle) => {
|
|
27
|
+
const cellStyle = { padding: '1px 10px', textAlign: 'right', border: 'none' };
|
|
28
|
+
const rowLabelStyle = { ...cellStyle, textAlign: 'left', paddingLeft: 0 };
|
|
29
|
+
const headerCellStyle = { ...cellStyle, fontWeight: tooltipStyle.fontWeight + 550 };
|
|
30
|
+
const highlightStyle = { fontWeight: tooltipStyle.fontWeight + 300 };
|
|
31
|
+
return _jsxs(_Fragment, { children: [_jsxs("div", { style: { fontSize: tooltipStyle.fontSize, fontWeight: tooltipStyle.fontWeight }, children: [tooltipContent.seriesName, " (", tooltipContent.headerLabel, ")"] }), _jsx("div", { style: { fontSize: tooltipStyle.fontSize + 2, fontWeight: tooltipStyle.fontWeight + 150, marginBottom: 6 }, children: tooltipContent.valueLine }), _jsxs("table", { style: { fontSize: tooltipStyle.fontSize, borderCollapse: 'collapse', border: 'none' }, children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("td", { style: rowLabelStyle }), _jsx("td", { style: headerCellStyle, children: "Windowed" }), _jsx("td", { style: headerCellStyle, children: "All" })] }) }), _jsx("tbody", { children: tooltipContent.rows.map(row => (_jsxs("tr", { children: [_jsx("td", { style: rowLabelStyle, children: row.label }), _jsx("td", { style: row.highlight === 'windowed' ? { ...cellStyle, ...highlightStyle } : cellStyle, children: row.windowed }), _jsx("td", { style: row.highlight === 'all' ? { ...cellStyle, ...highlightStyle } : cellStyle, children: row.all })] }, row.label))) })] }), tooltipContent.sparkline !== undefined &&
|
|
32
|
+
_jsxs("svg", { width: SPARKLINE_WIDTH, height: SPARKLINE_HEIGHT, style: { display: 'block', marginTop: 8 }, "aria-hidden": "true", children: [_jsx("path", { d: tooltipContent.sparkline.path, fill: "none", stroke: tooltipStyle.fontColor, strokeWidth: 1.25, strokeLinejoin: "round", strokeLinecap: "round" }), _jsx("circle", { cx: tooltipContent.sparkline.end[0], cy: tooltipContent.sparkline.end[1], r: 2.5, fill: tooltipStyle.fontColor })] })] });
|
|
33
|
+
} }));
|
|
107
34
|
}
|
|
108
|
-
const dimension = {
|
|
109
|
-
width: 60,
|
|
110
|
-
defaultWidth: 70,
|
|
111
|
-
minWidth: 50,
|
|
112
|
-
maxWidth: 100,
|
|
113
|
-
height: 15,
|
|
114
|
-
defaultHeight: 15,
|
|
115
|
-
minHeight: 10,
|
|
116
|
-
maxHeight: 50
|
|
117
|
-
};
|
|
118
35
|
/**
|
|
119
36
|
* Creates the label to display in the tooltip header
|
|
120
37
|
* @param providerId The tooltip provider ID for which to create the label
|
|
@@ -137,165 +54,56 @@ function labelForProviderId(providerId) {
|
|
|
137
54
|
}
|
|
138
55
|
}
|
|
139
56
|
/**
|
|
140
|
-
*
|
|
57
|
+
* Determines which stats-table cell (if any) should be highlighted for the given provider ID,
|
|
58
|
+
* matching the original's `coordinatesForProviderId` (row 2/3/4 = Min/Max/Mean; column
|
|
59
|
+
* 1/2 = Windowed/All).
|
|
60
|
+
* @param providerId The tooltip provider ID for which the highlighted element (bar chart series
|
|
61
|
+
* element) that is hovered
|
|
62
|
+
* @return A function that, given a stats-row label, returns which column (if any) to highlight
|
|
63
|
+
*/
|
|
64
|
+
function highlightFor(providerId) {
|
|
65
|
+
switch (providerId) {
|
|
66
|
+
case BAR_CHART_TOOLTIP_PROVIDER_IDS.meanValue:
|
|
67
|
+
return label => label === 'Mean' ? 'all' : 'none';
|
|
68
|
+
case BAR_CHART_TOOLTIP_PROVIDER_IDS.minMax:
|
|
69
|
+
return label => (label === 'Min' || label === 'Max') ? 'all' : 'none';
|
|
70
|
+
case BAR_CHART_TOOLTIP_PROVIDER_IDS.windowedMeanValue:
|
|
71
|
+
return label => label === 'Mean' ? 'windowed' : 'none';
|
|
72
|
+
case BAR_CHART_TOOLTIP_PROVIDER_IDS.windowedMinMax:
|
|
73
|
+
return label => (label === 'Min' || label === 'Max') ? 'windowed' : 'none';
|
|
74
|
+
default:
|
|
75
|
+
return () => 'none';
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Captures the data needed to render the tooltip's content (its header, value, stats table, and
|
|
80
|
+
* sparkline)
|
|
141
81
|
* @param seriesName The name of the series (i.e. the neuron ID)
|
|
142
|
-
* @param providerId The tooltip content provider ID (i.e.
|
|
82
|
+
* @param providerId The tooltip content provider ID (i.e. which bar-chart element is hovered)
|
|
143
83
|
* @param tooltipData The series data and metadata
|
|
144
|
-
* @param mouseCoords The coordinates of the mouse when the event was fired (relative to the plot container)
|
|
145
|
-
* @param chartId The ID of this chart
|
|
146
|
-
* @param container The plot container (SVGSVGElement)
|
|
147
|
-
* @param margin The plot margins
|
|
148
|
-
* @param tooltipStyle The style properties for the tooltip
|
|
149
|
-
* @param plotDimensions The dimensions of the plot
|
|
150
84
|
* @param ordinalUnits The units of the ordinal data (i.e. "mV")
|
|
151
|
-
* @return The
|
|
85
|
+
* @return The tooltip's content
|
|
152
86
|
*/
|
|
153
|
-
function
|
|
154
|
-
var _a, _b, _c, _d;
|
|
155
|
-
const [x, y] = mouseCoords;
|
|
87
|
+
function captureTooltipContent(seriesName, providerId, tooltipData, ordinalUnits) {
|
|
156
88
|
const { series, metadata: statistics } = tooltipData;
|
|
157
89
|
const currentDatum = series.length > 0 ? series[series.length - 1] : emptyOrdinalDatum;
|
|
158
90
|
const valueStats = statistics.valueStatsForSeries.get(seriesName) || defaultOrdinalValueStats();
|
|
159
91
|
const windowedValueStats = statistics.windowedValueStatsForSeries.get(seriesName) || defaultOrdinalValueStats();
|
|
160
92
|
const displayOrdinalUnits = ordinalUnits.length > 0 ? ` ${ordinalUnits}` : "";
|
|
161
|
-
|
|
162
|
-
const
|
|
163
|
-
|
|
164
|
-
.
|
|
165
|
-
.
|
|
166
|
-
.
|
|
167
|
-
.
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
.attr('class', 'tooltip')
|
|
176
|
-
.attr('fill', tooltipStyle.fontColor)
|
|
177
|
-
.attr('font-family', 'sans-serif')
|
|
178
|
-
.attr('font-size', tooltipStyle.fontSize + 2)
|
|
179
|
-
.attr('font-weight', tooltipStyle.fontWeight + 150)
|
|
180
|
-
.text(() => `${formatValue(currentDatum.value)}${displayOrdinalUnits} (${formatTime(currentDatum.time)} ms)`);
|
|
181
|
-
// calculate the max width and height of the text (we'll adjust the coordinates of the header
|
|
182
|
-
// text once we have the table dimensions)
|
|
183
|
-
const headerTextHeight = ((_b = (_a = header.node()) === null || _a === void 0 ? void 0 : _a.getBBox()) === null || _b === void 0 ? void 0 : _b.height) || 0;
|
|
184
|
-
const idHeight = ((_d = (_c = text.node()) === null || _c === void 0 ? void 0 : _c.getBBox()) === null || _d === void 0 ? void 0 : _d.height) || 0;
|
|
185
|
-
const textHeight = headerTextHeight + idHeight;
|
|
186
|
-
const font = {
|
|
187
|
-
size: tooltipStyle.fontSize,
|
|
188
|
-
family: tooltipStyle.fontFamily,
|
|
189
|
-
color: tooltipStyle.fontColor,
|
|
190
|
-
weight: tooltipStyle.fontWeight
|
|
93
|
+
const unitsSuffix = ordinalUnits.length > 0 ? ` (${ordinalUnits})` : "";
|
|
94
|
+
const highlight = highlightFor(providerId);
|
|
95
|
+
const rows = [
|
|
96
|
+
{ label: 'Count', windowed: formatNumber(windowedValueStats.count, " ,.0f"), all: formatNumber(valueStats.count, " ,.0f"), highlight: highlight('Count') },
|
|
97
|
+
{ label: `Min${unitsSuffix}`, windowed: formatValue(windowedValueStats.min.value), all: formatValue(valueStats.min.value), highlight: highlight('Min') },
|
|
98
|
+
{ label: `Max${unitsSuffix}`, windowed: formatValue(windowedValueStats.max.value), all: formatValue(valueStats.max.value), highlight: highlight('Max') },
|
|
99
|
+
{ label: `Mean${unitsSuffix}`, windowed: formatValue(windowedValueStats.mean), all: formatValue(valueStats.mean), highlight: highlight('Mean') },
|
|
100
|
+
];
|
|
101
|
+
return {
|
|
102
|
+
seriesName,
|
|
103
|
+
headerLabel: labelForProviderId(providerId),
|
|
104
|
+
valueLine: `${formatValue(currentDatum.value)}${displayOrdinalUnits} (${formatTime(currentDatum.time)} ms)`,
|
|
105
|
+
sparkline: sparklineFor(series, SPARKLINE_WIDTH, SPARKLINE_HEIGHT),
|
|
106
|
+
rows,
|
|
191
107
|
};
|
|
192
|
-
const padding = {
|
|
193
|
-
top: tooltipStyle.paddingTop,
|
|
194
|
-
bottom: tooltipStyle.paddingBottom,
|
|
195
|
-
right: tooltipStyle.paddingRight,
|
|
196
|
-
left: tooltipStyle.paddingLeft
|
|
197
|
-
};
|
|
198
|
-
const units = ordinalUnits.length > 0 ? ` (${ordinalUnits})` : "";
|
|
199
|
-
return DataFrame
|
|
200
|
-
.from([
|
|
201
|
-
[windowedValueStats.count, valueStats.count],
|
|
202
|
-
[windowedValueStats.min.value, valueStats.min.value],
|
|
203
|
-
[windowedValueStats.max.value, valueStats.max.value],
|
|
204
|
-
[windowedValueStats.mean, valueStats.mean],
|
|
205
|
-
])
|
|
206
|
-
// create the table data that has the column headers
|
|
207
|
-
.flatMap(df => TableData
|
|
208
|
-
.fromDataFrame(df)
|
|
209
|
-
.withColumnHeader(["Windowed", "All"])
|
|
210
|
-
.flatMap(td => td.withRowHeader(["Count", `Min${units}`, `Max${units}`, `Mean${units}`])))
|
|
211
|
-
// add the data formatters for statistics
|
|
212
|
-
.flatMap(tableData => TableFormatter.fromTableData(tableData)
|
|
213
|
-
.addRowFormatters([2, 3, 4], value => formatValue(value))
|
|
214
|
-
.flatMap(tf => tf.addRowFormatter(1, value => formatNumber(value, " ,.0f")))
|
|
215
|
-
.flatMap(tf => tf.formatTable()))
|
|
216
|
-
.map(tableData => TableStyler.fromTableData(tableData)
|
|
217
|
-
.withTableFont(font)
|
|
218
|
-
.withPadding(padding)
|
|
219
|
-
.withColumnHeaderStyle({
|
|
220
|
-
font: Object.assign(Object.assign({}, font), { weight: 650 }),
|
|
221
|
-
padding: { top: 15, bottom: 0 },
|
|
222
|
-
dimension: Object.assign(Object.assign({}, dimension), { maxHeight: 70 }),
|
|
223
|
-
alignText: 'right',
|
|
224
|
-
})
|
|
225
|
-
.withRowHeaderStyle({
|
|
226
|
-
font: Object.assign(Object.assign({}, font), { weight: 650 }),
|
|
227
|
-
padding: { left: 0, right: 10 },
|
|
228
|
-
dimension: dimension,
|
|
229
|
-
alignText: 'left',
|
|
230
|
-
})
|
|
231
|
-
.withColumnStyles([], {
|
|
232
|
-
padding: { left: 10, right: 10 },
|
|
233
|
-
alignText: 'right',
|
|
234
|
-
})
|
|
235
|
-
.withRowStyles([], {
|
|
236
|
-
font,
|
|
237
|
-
dimension: Object.assign(Object.assign({}, dimension), { maxHeight: 20 }),
|
|
238
|
-
padding: { top: 0, bottom: 0 }
|
|
239
|
-
})
|
|
240
|
-
.withCellStyleWhen((_, row, column) => {
|
|
241
|
-
// apply the style to the cell corresponding to the chart element that the user
|
|
242
|
-
// moused-over.
|
|
243
|
-
const coordinates = coordinatesForProviderId(providerId);
|
|
244
|
-
if (coordinates.length > 0) {
|
|
245
|
-
return coordinates.findIndex(c => c.row === row && c.column === column) > -1;
|
|
246
|
-
}
|
|
247
|
-
return false;
|
|
248
|
-
}, { font: Object.assign(Object.assign({}, font), { weight: font.weight + 300 }), alignText: 'right', padding: { left: 10, right: 10, top: 0, bottom: 0 } }, 100)
|
|
249
|
-
.styleTable())
|
|
250
|
-
.flatMap(styledTable => createTable(styledTable, container, `t${currentDatum.time}-${seriesName}-header-${chartId}`, tooltipCoordinates))
|
|
251
|
-
.map(renderingInfo => {
|
|
252
|
-
// the calculated table coordinates and dimensions. we'll move the header text into place,
|
|
253
|
-
// and then move the table down so that it fits
|
|
254
|
-
const { tableX: x, tableY: y, tableWidth: contentWidth, tableHeight: contentHeight } = renderingInfo;
|
|
255
|
-
// set the location of the header (series name) and text (value and time)
|
|
256
|
-
header
|
|
257
|
-
.attr('x', () => x + tooltipStyle.paddingLeft)
|
|
258
|
-
.attr('y', () => y - idHeight);
|
|
259
|
-
text
|
|
260
|
-
.attr('x', () => x + tooltipStyle.paddingLeft)
|
|
261
|
-
.attr('y', () => y);
|
|
262
|
-
return { x, y: y - textHeight, contentWidth, contentHeight: contentHeight + textHeight + padding.top };
|
|
263
|
-
})
|
|
264
|
-
.getOrThrow();
|
|
265
|
-
/**
|
|
266
|
-
* Calculates the coordinates that are affected by the provider ID
|
|
267
|
-
* @param providerId The ID of the provider for the element type being moused-over
|
|
268
|
-
* @return An array of coordinates that are affected by the provider ID
|
|
269
|
-
*/
|
|
270
|
-
function coordinatesForProviderId(providerId) {
|
|
271
|
-
switch (providerId) {
|
|
272
|
-
case BAR_CHART_TOOLTIP_PROVIDER_IDS.currentValue:
|
|
273
|
-
return [];
|
|
274
|
-
case BAR_CHART_TOOLTIP_PROVIDER_IDS.meanValue:
|
|
275
|
-
return [{ row: 4, column: 2 }];
|
|
276
|
-
case BAR_CHART_TOOLTIP_PROVIDER_IDS.minMax:
|
|
277
|
-
return [{ row: 2, column: 2 }, { row: 3, column: 2 }];
|
|
278
|
-
case BAR_CHART_TOOLTIP_PROVIDER_IDS.windowedMeanValue:
|
|
279
|
-
return [{ row: 4, column: 1 }];
|
|
280
|
-
case BAR_CHART_TOOLTIP_PROVIDER_IDS.windowedMinMax:
|
|
281
|
-
return [{ row: 2, column: 1 }, { row: 3, column: 1 }];
|
|
282
|
-
default:
|
|
283
|
-
return [];
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
/**
|
|
287
|
-
* Calculates the coordinates of the tooltip based on the width and height of the SVG
|
|
288
|
-
* table. This is needed because the tooltip needs to be adjusted relative mouse location
|
|
289
|
-
* when the mouse coordinates are too close to an edge.
|
|
290
|
-
* @param width The SVG table width
|
|
291
|
-
* @param height The SVG table height
|
|
292
|
-
* @return The updated tooltip coordinates
|
|
293
|
-
*/
|
|
294
|
-
function tooltipCoordinates(width, height) {
|
|
295
|
-
return [
|
|
296
|
-
tooltipX(x, width, plotDimensions, tooltipStyle, margin),
|
|
297
|
-
tooltipY(y + textHeight + padding.top, height, plotDimensions, tooltipStyle, margin)
|
|
298
|
-
];
|
|
299
|
-
}
|
|
300
108
|
}
|
|
301
109
|
//# sourceMappingURL=BarPlotTooltipContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BarPlotTooltipContent.js","sourceRoot":"","sources":["../../../../src/app/charts/tooltips/BarPlotTooltipContent.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"BarPlotTooltipContent.js","sourceRoot":"","sources":["../../../../src/app/charts/tooltips/BarPlotTooltipContent.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type JSX } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* The default content of the {@link OutlierPlotTooltipContent} (used when it has no children of
|
|
4
|
+
* its own): reads what the tooltip shows, and the formatters, from {@link useOutlierTooltip}
|
|
5
|
+
* @return The series' name, the outlier (if any), the band, its measure, and the number of points
|
|
6
|
+
* in the band
|
|
7
|
+
*/
|
|
8
|
+
export declare function DefaultOutlierTooltipContent(): JSX.Element;
|
|
9
|
+
//# sourceMappingURL=DefaultOutlierTooltipContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultOutlierTooltipContent.d.ts","sourceRoot":"","sources":["../../../../src/app/charts/tooltips/DefaultOutlierTooltipContent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,GAAG,EAAC,MAAM,OAAO,CAAA;AAG9B;;;;;GAKG;AACH,wBAAgB,4BAA4B,IAAI,GAAG,CAAC,OAAO,CA8B1D"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useOutlierTooltip } from "./useOutlierTooltip";
|
|
3
|
+
/**
|
|
4
|
+
* The default content of the {@link OutlierPlotTooltipContent} (used when it has no children of
|
|
5
|
+
* its own): reads what the tooltip shows, and the formatters, from {@link useOutlierTooltip}
|
|
6
|
+
* @return The series' name, the outlier (if any), the band, its measure, and the number of points
|
|
7
|
+
* in the band
|
|
8
|
+
*/
|
|
9
|
+
export function DefaultOutlierTooltipContent() {
|
|
10
|
+
const { tooltipContent, tooltipStyle, datumFormatter, bandFormatter, measureFormatter, } = useOutlierTooltip();
|
|
11
|
+
const { seriesName, datum, upperMeasure = 1, lowerMeasure = 0, pointsInBand, } = tooltipContent;
|
|
12
|
+
const outerProb = 1 - upperMeasure;
|
|
13
|
+
const innerProb = upperMeasure - lowerMeasure;
|
|
14
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { style: { fontWeight: tooltipStyle.fontWeight + 500, fontSize: tooltipStyle.fontSize + 2 }, children: ["Series: ", seriesName] }), _jsx("hr", {}), datum && _jsx("div", { children: datumFormatter(datum.datum.x, datum.datum.y) }), _jsx("div", { children: bandFormatter(lowerMeasure, upperMeasure) }), _jsx("div", { children: measureFormatter(innerProb, outerProb) }), _jsxs("div", { children: ["Points in band: ", pointsInBand] })] }));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=DefaultOutlierTooltipContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultOutlierTooltipContent.js","sourceRoot":"","sources":["../../../../src/app/charts/tooltips/DefaultOutlierTooltipContent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAA;AAErD;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B;IACxC,MAAM,EACF,cAAc,EACd,YAAY,EACZ,cAAc,EACd,aAAa,EACb,gBAAgB,GACnB,GAAG,iBAAiB,EAAE,CAAA;IAEvB,MAAM,EACF,UAAU,EACV,KAAK,EACL,YAAY,GAAG,CAAC,EAChB,YAAY,GAAG,CAAC,EAChB,YAAY,GACf,GAAG,cAAc,CAAA;IAElB,MAAM,SAAS,GAAG,CAAC,GAAG,YAAY,CAAA;IAClC,MAAM,SAAS,GAAG,YAAY,GAAG,YAAY,CAAA;IAE7C,OAAO,CACH,8BACI,eAAK,KAAK,EAAE,EAAC,UAAU,EAAE,YAAY,CAAC,UAAU,GAAG,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,GAAG,CAAC,EAAC,yBAAW,UAAU,IAAO,EACxH,cAAK,EACJ,KAAK,IAAI,wBAAM,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAO,EACnE,wBAAM,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,GAAO,EACtD,wBAAM,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,GAAO,EACnD,8CAAsB,YAAY,IAAO,IAC1C,CACN,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { JSX, ReactElement } from "react";
|
|
2
|
+
import type { TooltipStyle } from "./tooltipUtils";
|
|
3
|
+
import { type OutlierTooltipContentFormatters } from "./useOutlierTooltip";
|
|
4
|
+
/**
|
|
5
|
+
* The properties of the {@link OutlierPlotTooltipContent}: its style, its (optional) custom
|
|
6
|
+
* content, and the formatters for the content
|
|
7
|
+
*/
|
|
8
|
+
export type Props = {
|
|
9
|
+
/**
|
|
10
|
+
* Overrides of the style of the enclosing {@link Tooltip}
|
|
11
|
+
*/
|
|
12
|
+
style?: Partial<TooltipStyle>;
|
|
13
|
+
/**
|
|
14
|
+
* Custom tooltip content, which gets what the tooltip shows, and the formatters, from
|
|
15
|
+
* {@link useOutlierTooltip}. Defaults to {@link DefaultOutlierTooltipContent}.
|
|
16
|
+
*/
|
|
17
|
+
children?: JSX.Element | Array<JSX.Element>;
|
|
18
|
+
} & OutlierTooltipContentFormatters;
|
|
19
|
+
/**
|
|
20
|
+
* The tooltip content for an {@link OutlierPlot}: when the mouse is over a band, or an outlier,
|
|
21
|
+
* shows the series' name, the outlier (if any), the band, the probabilities of a point being in
|
|
22
|
+
* and outside the band, and the number of points in the band. Put it inside a {@link Tooltip}.
|
|
23
|
+
*
|
|
24
|
+
* To lay the content out yourself, put your own component inside this one: it gets what the
|
|
25
|
+
* tooltip shows, its style, and the formatters, from {@link useOutlierTooltip}.
|
|
26
|
+
* @param props The style, the formatters, and the (optional) custom content
|
|
27
|
+
* @return The tooltip's box (a portal), or `null` when no band or outlier is hovered
|
|
28
|
+
*/
|
|
29
|
+
export declare function OutlierPlotTooltipContent(props: Props): ReactElement | null;
|
|
30
|
+
//# sourceMappingURL=OutlierPlotTooltipContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutlierPlotTooltipContent.d.ts","sourceRoot":"","sources":["../../../../src/app/charts/tooltips/OutlierPlotTooltipContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAE,YAAY,EAAC,MAAM,OAAO,CAAA;AAC5C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAKhD,OAAO,EAAC,KAAK,+BAA+B,EAA6C,MAAM,qBAAqB,CAAA;AAEpH;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;CAC9C,GAAG,+BAA+B,CAAA;AAEnC;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,GAAG,IAAI,CAgC3E"}
|