stream-charts 1.2.1 → 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 +36 -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
|
@@ -1,53 +1,108 @@
|
|
|
1
|
-
import { addContinuousNumericXAxis, addContinuousNumericYAxis,
|
|
1
|
+
import { AxisLocation, defaultAxesFont, addContinuousNumericXAxis, addContinuousNumericYAxis, removeContinuousXAxis, removeContinuousYAxis } from "./axes";
|
|
2
2
|
import { useChart } from "../hooks/useChart";
|
|
3
3
|
import { useEffect, useRef } from "react";
|
|
4
4
|
import * as d3 from "d3";
|
|
5
5
|
import { usePlotDimensions } from "../hooks/usePlotDimensions";
|
|
6
6
|
import { AxisInterval } from "./AxisInterval";
|
|
7
7
|
import { ContinuousAxisRange } from "./ContinuousAxisRange";
|
|
8
|
+
import { clampedDomain, sameAutoScale, warnOnce } from "./autoScale";
|
|
8
9
|
/**
|
|
9
|
-
* Represents a continuous numeric axis (x or y) that can be
|
|
10
|
+
* Represents a continuous numeric axis (x or y) that can be placed on the top, bottom,
|
|
10
11
|
* left, or right of the chart. The domain (axis range) can be managed by this axis
|
|
11
|
-
*
|
|
12
|
-
* React won't render it because we are
|
|
13
|
-
* involved, except to call this function if the props change.
|
|
12
|
+
* component or managed externally (i.e. deferred). This component returns null, meaning
|
|
13
|
+
* React won't render it because we are drawing directly onto the chart's shared canvas and
|
|
14
|
+
* don't want React involved, except to call this function if the props change.
|
|
14
15
|
* @param props The properties for the axis
|
|
16
|
+
* @return `null` (the axis draws onto the chart's canvas)
|
|
15
17
|
*/
|
|
16
18
|
export function ContinuousAxis(props) {
|
|
17
|
-
const { chartId,
|
|
18
|
-
const { xAxesState, yAxesState, addXAxis, addYAxis, axisRangeFor, setAxisIntervalFor,
|
|
19
|
+
const { chartId, canvasContext, axes, color } = useChart();
|
|
20
|
+
const { xAxesState, yAxesState, addXAxis, addYAxis, axisRangeFor, setAxisIntervalFor, updateAxisRanges, addAxesRangesUpdateHandler, removeAxesRangesUpdateHandler, } = axes;
|
|
19
21
|
const { plotDimensions, margin } = usePlotDimensions();
|
|
20
|
-
const { axisId, location, scale = d3.scaleLinear(), domain, updateAxisBasedOnDomainValues = true, label, } = props;
|
|
22
|
+
const { axisId, location, scale = d3.scaleLinear(), domain, updateAxisBasedOnDomainValues = true, label, autoScale = false, autoScaleMin = -Infinity, autoScaleMax = Infinity, autoScalePadding = 0.05, autoScaledDomain, onAutoScale, } = props;
|
|
23
|
+
// the latest callback for the auto-scaling axis' domain changes (the range-update handler that
|
|
24
|
+
// reports them is registered once, when the axis is created)
|
|
25
|
+
const onAutoScaleRef = useRef(onAutoScale);
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
onAutoScaleRef.current = onAutoScale;
|
|
28
|
+
}, [onAutoScale]);
|
|
21
29
|
const axisRef = useRef(undefined);
|
|
22
30
|
const rangeUpdateHandlerIdRef = useRef(undefined);
|
|
31
|
+
// the axisId this axis was actually created under, so the main effect below can tell "axisId
|
|
32
|
+
// changed since I last ran" apart from "first run" -- see its use for why this matters
|
|
33
|
+
const createdAxisIdRef = useRef(undefined);
|
|
23
34
|
const axisIdRef = useRef(axisId);
|
|
24
35
|
const marginRef = useRef(margin);
|
|
36
|
+
// holds on the domain from the original props so that we can determine whether the props changed
|
|
37
|
+
// or whether the axis changes from resizing, zoom, scrolling, etc
|
|
25
38
|
const domainRef = useRef(AxisInterval.as(domain));
|
|
39
|
+
const domainPropRef = useRef(domain);
|
|
26
40
|
useEffect(() => {
|
|
27
41
|
axisIdRef.current = axisId;
|
|
28
42
|
marginRef.current = margin;
|
|
29
43
|
}, [axisId, plotDimensions, margin]);
|
|
30
44
|
useEffect(() => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
45
|
+
var _a;
|
|
46
|
+
if (canvasContext) {
|
|
47
|
+
// a changed axisId prop means axisRef.current (and its range-update handler) were
|
|
48
|
+
// created under the OLD id -- the separate unmount-cleanup effect below (also keyed
|
|
49
|
+
// on axisId) already unregistered the OLD id's canvas draw handle by the time this
|
|
50
|
+
// runs (React fires that cleanup, closing over the previous axisId, before this
|
|
51
|
+
// effect re-runs). Without resetting axisRef.current here too, the `else` branch
|
|
52
|
+
// below would run instead of re-creating the axis, silently leaving it undrawn
|
|
53
|
+
// under the new id forever -- this mount-once guard otherwise never resets on its
|
|
54
|
+
// own.
|
|
55
|
+
if (createdAxisIdRef.current !== undefined && createdAxisIdRef.current !== axisId) {
|
|
56
|
+
if (rangeUpdateHandlerIdRef.current) {
|
|
57
|
+
removeAxesRangesUpdateHandler(rangeUpdateHandlerIdRef.current);
|
|
58
|
+
rangeUpdateHandlerIdRef.current = undefined;
|
|
59
|
+
}
|
|
60
|
+
axisRef.current = undefined;
|
|
61
|
+
}
|
|
62
|
+
const font = { ...defaultAxesFont(), color, ...props.font };
|
|
63
|
+
// the auto-scaling settings, which the plot applies (y-axes only: an x-axis' domain
|
|
64
|
+
// follows time, and its zooming and panning)
|
|
65
|
+
const isYAxis = location === AxisLocation.Left || location === AxisLocation.Right;
|
|
66
|
+
if (autoScale && !isYAxis) {
|
|
67
|
+
warnOnce(`Auto-scaling is for y-axes only, so the "autoScale" setting of x-axis "${axisId}" is ignored`);
|
|
68
|
+
}
|
|
69
|
+
const propDomain = AxisInterval.as(domain).asTuple();
|
|
70
|
+
const settings = autoScale && isYAxis ?
|
|
71
|
+
{
|
|
72
|
+
domain: clampedDomain(propDomain, autoScaleMin, autoScaleMax),
|
|
73
|
+
min: autoScaleMin,
|
|
74
|
+
max: autoScaleMax,
|
|
75
|
+
padding: autoScalePadding
|
|
76
|
+
} :
|
|
77
|
+
undefined;
|
|
78
|
+
if (settings !== undefined && settings.domain[0] === settings.domain[1] && propDomain[0] !== propDomain[1]) {
|
|
79
|
+
warnOnce(`The domain of y-axis "${axisId}" lies outside its auto-scaling limits, so it collapses onto a limit`);
|
|
80
|
+
}
|
|
81
|
+
// the settings the axis had (none, when it's about to be created)
|
|
82
|
+
const previous = (_a = axisRef.current) === null || _a === void 0 ? void 0 : _a.autoScale;
|
|
34
83
|
const handleRangeUpdates = (updates, plotDim) => {
|
|
84
|
+
var _a;
|
|
35
85
|
if (rangeUpdateHandlerIdRef.current && axisRef.current) {
|
|
36
86
|
const range = updates.get(axisId);
|
|
37
87
|
if (range) {
|
|
38
88
|
axisRef.current.update(range.current, plotDim, marginRef.current);
|
|
89
|
+
// an auto-scaling axis' domain changes (growth, or a restore) come
|
|
90
|
+
// through here, so report them
|
|
91
|
+
if (axisRef.current.autoScale !== undefined) {
|
|
92
|
+
(_a = onAutoScaleRef.current) === null || _a === void 0 ? void 0 : _a.call(onAutoScaleRef, range.current.asTuple());
|
|
93
|
+
}
|
|
39
94
|
}
|
|
40
95
|
}
|
|
41
96
|
};
|
|
42
97
|
if (axisRef.current === undefined) {
|
|
98
|
+
createdAxisIdRef.current = axisId;
|
|
43
99
|
switch (location) {
|
|
44
100
|
case AxisLocation.Bottom:
|
|
45
101
|
case AxisLocation.Top: {
|
|
46
|
-
axisRef.current = addContinuousNumericXAxis(
|
|
102
|
+
axisRef.current = addContinuousNumericXAxis(canvasContext, axisId, plotDimensions, location, scale, domain, font, margin, label, setAxisIntervalFor);
|
|
47
103
|
// add the x-axis to the chart context
|
|
48
104
|
const [start, end] = AxisInterval.as(domain).asTuple();
|
|
49
105
|
addXAxis(axisRef.current, axisId, ContinuousAxisRange.from(start, end));
|
|
50
|
-
// addXAxis(axisRef.current, axisId, AxisInterval.as(domain))
|
|
51
106
|
// add an update handler
|
|
52
107
|
rangeUpdateHandlerIdRef.current = `x-axis-${chartId}-${axisId}-${location.valueOf()}`;
|
|
53
108
|
addAxesRangesUpdateHandler(rangeUpdateHandlerIdRef.current, handleRangeUpdates);
|
|
@@ -55,11 +110,10 @@ export function ContinuousAxis(props) {
|
|
|
55
110
|
}
|
|
56
111
|
case AxisLocation.Left:
|
|
57
112
|
case AxisLocation.Right: {
|
|
58
|
-
axisRef.current = addContinuousNumericYAxis(
|
|
113
|
+
axisRef.current = addContinuousNumericYAxis(canvasContext, axisId, plotDimensions, location, scale, domain, font, margin, label, setAxisIntervalFor);
|
|
59
114
|
// add the y-axis to the chart context
|
|
60
115
|
const [start, end] = AxisInterval.as(domain).asTuple();
|
|
61
116
|
addYAxis(axisRef.current, axisId, ContinuousAxisRange.from(start, end));
|
|
62
|
-
// addYAxis(axisRef.current, axisId, AxisInterval.as(domain))
|
|
63
117
|
// add an update handler
|
|
64
118
|
rangeUpdateHandlerIdRef.current = `y-axis-${chartId}-${axisId}-${location.valueOf()}`;
|
|
65
119
|
addAxesRangesUpdateHandler(rangeUpdateHandlerIdRef.current, handleRangeUpdates);
|
|
@@ -67,29 +121,108 @@ export function ContinuousAxis(props) {
|
|
|
67
121
|
}
|
|
68
122
|
}
|
|
69
123
|
else {
|
|
70
|
-
|
|
71
|
-
|
|
124
|
+
// apply the new auto-scaling settings before any domain update below, so that,
|
|
125
|
+
// for example, a `domain` change that comes with turning auto-scaling off isn't
|
|
126
|
+
// reported (through `onAutoScale`) as an auto-scaled domain
|
|
127
|
+
axisRef.current.autoScale = settings;
|
|
128
|
+
// calculate the current domain for the axis based on the current interval (range)
|
|
129
|
+
const currentDomain = axisRangeFor(axisId)
|
|
72
130
|
.map(range => range.current)
|
|
73
131
|
.getOrElse(AxisInterval.empty());
|
|
74
|
-
|
|
75
|
-
|
|
132
|
+
// convert the domain from the props to an axis interval for easier comparison
|
|
133
|
+
const propDomain = AxisInterval.as(domain);
|
|
134
|
+
// select whether to update based on whether we have specified that we update the axis
|
|
135
|
+
// range when the domain from the props changes. If the conditions of the first if
|
|
136
|
+
// statement are met, then we do a full update of the axis (we update the current, original
|
|
137
|
+
// range and make the callback that the range has changed with the updated range map)
|
|
138
|
+
if (
|
|
139
|
+
// update axis when the domain from the props has changed
|
|
140
|
+
(updateAxisBasedOnDomainValues && !domainRef.current.equals(propDomain)) ||
|
|
141
|
+
// or when the axis range has actually changed, but we don't update from props
|
|
142
|
+
(!updateAxisBasedOnDomainValues && domainPropRef.current !== domain)) {
|
|
143
|
+
domainRef.current = propDomain;
|
|
144
|
+
domainPropRef.current = domain;
|
|
145
|
+
// preserve any existing `.original` tracking (e.g. from an in-progress
|
|
146
|
+
// zoom) rather than collapsing it to match this new current. A domain-prop
|
|
147
|
+
// change here reflects the chart's OWN state being round-tripped back in
|
|
148
|
+
// (e.g. a zoom/auto-scroll notifying `onUpdateAxesBounds`, which a caller
|
|
149
|
+
// wrote into a store that feeds this same `domain` prop) at least as often
|
|
150
|
+
// as it reflects a genuine external reset -- and there's no way to tell
|
|
151
|
+
// those apart from here. Zoom math is now incremental (see
|
|
152
|
+
// `ContinuousAxisRange.scaledRange`), so preserving `.original` isn't
|
|
153
|
+
// required for zoom correctness anymore, but it's still the more accurate
|
|
154
|
+
// value to carry forward on an ordinary round-trip. A genuine external reset
|
|
155
|
+
// (e.g. the Reset button) already restores the whole axis explicitly
|
|
156
|
+
// elsewhere, so this doesn't need to special-case it too.
|
|
157
|
+
const updatedRange = axisRangeFor(axisId)
|
|
158
|
+
.map(range => range.update(propDomain.start, propDomain.end))
|
|
159
|
+
.getOrElse(ContinuousAxisRange.from(propDomain.start, propDomain.end));
|
|
160
|
+
updateAxisRanges(new Map([[axisId, updatedRange]]));
|
|
76
161
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
axisRange.ifPresent(range => setAxisRangeFor(axisId, range.updateOriginal(domain.start, domain.end)));
|
|
162
|
+
// otherwise, if the domain exists, update the current axis
|
|
163
|
+
else if (currentDomain.isNotEmpty()) {
|
|
164
|
+
axisRef.current.update(currentDomain, plotDimensions, margin);
|
|
81
165
|
}
|
|
82
|
-
|
|
166
|
+
// keep the label/tick color in sync with the chart's color (e.g. on theme change),
|
|
167
|
+
// without recreating the axis or touching its domain
|
|
168
|
+
axisRef.current.updateFont(font);
|
|
169
|
+
}
|
|
170
|
+
// when the settings change, the axis (re)starts: from the kept auto-scaled domain
|
|
171
|
+
// (if any) when auto-scaling starts, otherwise from its start; and from its own
|
|
172
|
+
// domain when auto-scaling stops
|
|
173
|
+
axisRef.current.autoScale = settings;
|
|
174
|
+
if (!sameAutoScale(previous, settings)) {
|
|
175
|
+
const [start, end] = settings === undefined ?
|
|
176
|
+
propDomain :
|
|
177
|
+
previous === undefined && autoScaledDomain !== undefined ?
|
|
178
|
+
clampedDomain(AxisInterval.as(autoScaledDomain).asTuple(), settings.min, settings.max) :
|
|
179
|
+
settings.domain;
|
|
180
|
+
updateAxisRanges(new Map([[axisId, axisRangeFor(axisId)
|
|
181
|
+
.map(range => range.update(start, end))
|
|
182
|
+
.getOrElse(ContinuousAxisRange.from(start, end))
|
|
183
|
+
]]));
|
|
83
184
|
}
|
|
84
185
|
}
|
|
85
186
|
}, [
|
|
86
187
|
chartId, axisId, label, location, props.font, xAxesState, yAxesState, addXAxis, addYAxis, domain,
|
|
87
|
-
scale,
|
|
188
|
+
scale, canvasContext, margin, plotDimensions, setAxisIntervalFor,
|
|
88
189
|
axisRangeFor,
|
|
89
190
|
addAxesRangesUpdateHandler,
|
|
90
|
-
|
|
91
|
-
|
|
191
|
+
removeAxesRangesUpdateHandler,
|
|
192
|
+
updateAxisRanges,
|
|
193
|
+
color, updateAxisBasedOnDomainValues,
|
|
194
|
+
autoScale, autoScaleMin, autoScaleMax, autoScalePadding, autoScaledDomain
|
|
92
195
|
]);
|
|
196
|
+
// unregister the axes-provider range-update handler on a genuine unmount -- the main effect
|
|
197
|
+
// above only removes it on an axisId *change* (line ~130), never on unmount itself, so
|
|
198
|
+
// without this a component that unmounts and later remounts with the same chartId/axisId/
|
|
199
|
+
// location (hence the same computed handlerId) would try to re-register under an ID that's
|
|
200
|
+
// still occupied and throw ("Handler with ID already exists..."). Mirrors OrdinalAxis.tsx's
|
|
201
|
+
// identical cleanup effect.
|
|
202
|
+
useEffect(() => {
|
|
203
|
+
return () => {
|
|
204
|
+
if (rangeUpdateHandlerIdRef.current) {
|
|
205
|
+
removeAxesRangesUpdateHandler(rangeUpdateHandlerIdRef.current);
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
}, [removeAxesRangesUpdateHandler]);
|
|
209
|
+
// unregister the axis' draw function when the axis unmounts (e.g. the chart is torn down, or
|
|
210
|
+
// this axis is swapped out for a different one)
|
|
211
|
+
useEffect(() => {
|
|
212
|
+
return () => {
|
|
213
|
+
if (canvasContext) {
|
|
214
|
+
switch (location) {
|
|
215
|
+
case AxisLocation.Bottom:
|
|
216
|
+
case AxisLocation.Top:
|
|
217
|
+
removeContinuousXAxis(canvasContext, axisId);
|
|
218
|
+
break;
|
|
219
|
+
case AxisLocation.Left:
|
|
220
|
+
case AxisLocation.Right:
|
|
221
|
+
removeContinuousYAxis(canvasContext, axisId);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
}, [canvasContext, axisId, location]);
|
|
93
226
|
return null;
|
|
94
227
|
}
|
|
95
228
|
//# sourceMappingURL=ContinuousAxis.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContinuousAxis.js","sourceRoot":"","sources":["../../../../src/app/charts/axes/ContinuousAxis.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ContinuousAxis.js","sourceRoot":"","sources":["../../../../src/app/charts/axes/ContinuousAxis.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,13 @@ import { BaseAxisRange } from "./BaseAxisRange";
|
|
|
4
4
|
* Create an instance using the {@link ContinuousAxisRange.from} factory method.
|
|
5
5
|
*/
|
|
6
6
|
export declare class ContinuousAxisRange extends BaseAxisRange {
|
|
7
|
+
/**
|
|
8
|
+
* Use {@link ContinuousAxisRange.from} to create an instance
|
|
9
|
+
* @param start The start of the axis-range
|
|
10
|
+
* @param end The end of the axis-range
|
|
11
|
+
* @param [originalStart=start] The original start of the axis-range
|
|
12
|
+
* @param [originalEnd=end] The original end of the axis-range
|
|
13
|
+
*/
|
|
7
14
|
private constructor();
|
|
8
15
|
/**
|
|
9
16
|
* Factory function for creating a new continuous-axis range instance.
|
|
@@ -17,29 +24,40 @@ export declare class ContinuousAxisRange extends BaseAxisRange {
|
|
|
17
24
|
*/
|
|
18
25
|
static from(start: number, end: number, originalStart?: number, originalEnd?: number): ContinuousAxisRange;
|
|
19
26
|
/**
|
|
20
|
-
* Scales the axis-range by the specified scale factor
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
27
|
+
* Scales the axis-range by the specified *incremental* scale factor (relative to `.current`,
|
|
28
|
+
* not `.original` -- see {@link BaseAxisRange.scaledRange}) from the specified value. The
|
|
29
|
+
* equations are written so that the zooming (scaling) occurs at the specified value and
|
|
30
|
+
* expands/contracts equally from that value.
|
|
31
|
+
* @param factor The incremental scale factor
|
|
24
32
|
* @param value The value from which to scale the interval
|
|
25
33
|
* @return A new continuous-axis range with updated values
|
|
26
34
|
*/
|
|
27
35
|
scale(factor: number, value: number): ContinuousAxisRange;
|
|
28
36
|
/**
|
|
29
|
-
* Scales the axis-range by the specified scale factor
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
37
|
+
* Scales the axis-range by the specified *incremental* scale factor (relative to `.current`,
|
|
38
|
+
* not `.original` -- see {@link BaseAxisRange.scaledRange}) from the specified value, while
|
|
39
|
+
* keeping the range within the constraints (start, end). The equations are written so that the
|
|
40
|
+
* zooming (scaling) occurs at the specified value, and expands/contracts equally from that value.
|
|
41
|
+
*
|
|
42
|
+
* Clamps the scaled result to stay *inside* `constraint` (shrinks toward it, never past it) --
|
|
43
|
+
* `constraint` is a hard viewport edge (e.g. the data domain) that the visible range must not
|
|
44
|
+
* scroll or zoom beyond. This is the opposite direction from
|
|
45
|
+
* {@link OrdinalAxisRange.constrainedScale}, which *widens* its result to guarantee coverage
|
|
46
|
+
* of `constraint` instead -- see that method's doc comment for why an ordinal axis needs the
|
|
47
|
+
* opposite behavior. Do not "fix" this difference without reading both.
|
|
48
|
+
* @param factor The incremental scale factor
|
|
33
49
|
* @param value The value from which to scale the interval
|
|
34
50
|
* @param constraint The minimum and maximum values that range bounds can be
|
|
35
51
|
* @return A new continuous-axis range with updated values
|
|
36
52
|
*/
|
|
37
53
|
constrainedScale(factor: number, value: number, constraint: [min: number, max: number]): BaseAxisRange;
|
|
38
54
|
/**
|
|
39
|
-
* Translates the axis-range by the specified amount
|
|
55
|
+
* Translates the axis-range by the specified amount, unless that would take it outside the
|
|
56
|
+
* constraint interval (when both ends of the constraint are infinite, there's no constraint)
|
|
40
57
|
* @param amount The amount by which to translate the axis-range
|
|
41
58
|
* @param [constraint=[-Infinity, Infinity]] Optional constraint interval in which the axis range must be within
|
|
42
|
-
* @return An updated {@link ContinuousAxisRange} that has been translated by the specified amount
|
|
59
|
+
* @return An updated {@link ContinuousAxisRange} that has been translated by the specified amount (or an
|
|
60
|
+
* unchanged copy, when the translation would leave the constraint interval)
|
|
43
61
|
*/
|
|
44
62
|
translate(amount: number, constraint?: [start: number, end: number]): ContinuousAxisRange;
|
|
45
63
|
/**
|
|
@@ -57,3 +75,4 @@ export declare class ContinuousAxisRange extends BaseAxisRange {
|
|
|
57
75
|
*/
|
|
58
76
|
updateOriginal(start: number, end: number): BaseAxisRange;
|
|
59
77
|
}
|
|
78
|
+
//# sourceMappingURL=ContinuousAxisRange.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContinuousAxisRange.d.ts","sourceRoot":"","sources":["../../../../src/app/charts/axes/ContinuousAxisRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IAElD;;;;;;OAMG;IACH,OAAO;IAIP;;;;;;;;;OASG;IACH,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,GAAE,MAAc,EAAE,WAAW,GAAE,MAAY,GAAG,mBAAmB;IAItH;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,mBAAmB;IAKzD;;;;;;;;;;;;;;;;OAgBG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,aAAa;IAWtG;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAyB,GAAG,mBAAmB;IAWhH;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB;IAIvD;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa;CAG5D"}
|
|
@@ -4,6 +4,13 @@ import { BaseAxisRange } from "./BaseAxisRange";
|
|
|
4
4
|
* Create an instance using the {@link ContinuousAxisRange.from} factory method.
|
|
5
5
|
*/
|
|
6
6
|
export class ContinuousAxisRange extends BaseAxisRange {
|
|
7
|
+
/**
|
|
8
|
+
* Use {@link ContinuousAxisRange.from} to create an instance
|
|
9
|
+
* @param start The start of the axis-range
|
|
10
|
+
* @param end The end of the axis-range
|
|
11
|
+
* @param [originalStart=start] The original start of the axis-range
|
|
12
|
+
* @param [originalEnd=end] The original end of the axis-range
|
|
13
|
+
*/
|
|
7
14
|
constructor(start, end, originalStart = start, originalEnd = end) {
|
|
8
15
|
super(start, end, originalStart, originalEnd);
|
|
9
16
|
}
|
|
@@ -21,10 +28,11 @@ export class ContinuousAxisRange extends BaseAxisRange {
|
|
|
21
28
|
return new ContinuousAxisRange(start, end, originalStart, originalEnd);
|
|
22
29
|
}
|
|
23
30
|
/**
|
|
24
|
-
* Scales the axis-range by the specified scale factor
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
31
|
+
* Scales the axis-range by the specified *incremental* scale factor (relative to `.current`,
|
|
32
|
+
* not `.original` -- see {@link BaseAxisRange.scaledRange}) from the specified value. The
|
|
33
|
+
* equations are written so that the zooming (scaling) occurs at the specified value and
|
|
34
|
+
* expands/contracts equally from that value.
|
|
35
|
+
* @param factor The incremental scale factor
|
|
28
36
|
* @param value The value from which to scale the interval
|
|
29
37
|
* @return A new continuous-axis range with updated values
|
|
30
38
|
*/
|
|
@@ -33,10 +41,18 @@ export class ContinuousAxisRange extends BaseAxisRange {
|
|
|
33
41
|
return new ContinuousAxisRange(scaledInterval.start, scaledInterval.end, this.original.start, this.original.end);
|
|
34
42
|
}
|
|
35
43
|
/**
|
|
36
|
-
* Scales the axis-range by the specified scale factor
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
44
|
+
* Scales the axis-range by the specified *incremental* scale factor (relative to `.current`,
|
|
45
|
+
* not `.original` -- see {@link BaseAxisRange.scaledRange}) from the specified value, while
|
|
46
|
+
* keeping the range within the constraints (start, end). The equations are written so that the
|
|
47
|
+
* zooming (scaling) occurs at the specified value, and expands/contracts equally from that value.
|
|
48
|
+
*
|
|
49
|
+
* Clamps the scaled result to stay *inside* `constraint` (shrinks toward it, never past it) --
|
|
50
|
+
* `constraint` is a hard viewport edge (e.g. the data domain) that the visible range must not
|
|
51
|
+
* scroll or zoom beyond. This is the opposite direction from
|
|
52
|
+
* {@link OrdinalAxisRange.constrainedScale}, which *widens* its result to guarantee coverage
|
|
53
|
+
* of `constraint` instead -- see that method's doc comment for why an ordinal axis needs the
|
|
54
|
+
* opposite behavior. Do not "fix" this difference without reading both.
|
|
55
|
+
* @param factor The incremental scale factor
|
|
40
56
|
* @param value The value from which to scale the interval
|
|
41
57
|
* @param constraint The minimum and maximum values that range bounds can be
|
|
42
58
|
* @return A new continuous-axis range with updated values
|
|
@@ -47,14 +63,16 @@ export class ContinuousAxisRange extends BaseAxisRange {
|
|
|
47
63
|
return new ContinuousAxisRange(Math.max(min, scaledInterval.start), Math.min(max, scaledInterval.end), this.original.start, this.original.end);
|
|
48
64
|
}
|
|
49
65
|
/**
|
|
50
|
-
* Translates the axis-range by the specified amount
|
|
66
|
+
* Translates the axis-range by the specified amount, unless that would take it outside the
|
|
67
|
+
* constraint interval (when both ends of the constraint are infinite, there's no constraint)
|
|
51
68
|
* @param amount The amount by which to translate the axis-range
|
|
52
69
|
* @param [constraint=[-Infinity, Infinity]] Optional constraint interval in which the axis range must be within
|
|
53
|
-
* @return An updated {@link ContinuousAxisRange} that has been translated by the specified amount
|
|
70
|
+
* @return An updated {@link ContinuousAxisRange} that has been translated by the specified amount (or an
|
|
71
|
+
* unchanged copy, when the translation would leave the constraint interval)
|
|
54
72
|
*/
|
|
55
73
|
translate(amount, constraint = [-Infinity, Infinity]) {
|
|
56
74
|
const [cs, ce] = constraint;
|
|
57
|
-
// when
|
|
75
|
+
// when both of the constraints are infinite, or the pan keeps the new axis range
|
|
58
76
|
// within the origin axis range (i.e. zoomed in and the panned), then allow the pan,
|
|
59
77
|
// otherwise don't update
|
|
60
78
|
if ((!isFinite(cs) && !isFinite(ce)) || (this.current.start + amount >= cs && this.current.end + amount <= ce)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContinuousAxisRange.js","sourceRoot":"","sources":["../../../../src/app/charts/axes/ContinuousAxisRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C;;;GAGG;AACH,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IAElD,YAAoB,KAAa,EAAE,GAAW,EAAE,gBAAwB,KAAK,EAAE,cAAsB,GAAG;QACpG,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,CAAC,CAAA;IACjD,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,IAAI,CAAC,KAAa,EAAE,GAAW,EAAE,gBAAwB,KAAK,EAAE,cAAsB,GAAG;QAC5F,OAAO,IAAI,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,CAAC,CAAA;IAC1E,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"ContinuousAxisRange.js","sourceRoot":"","sources":["../../../../src/app/charts/axes/ContinuousAxisRange.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,12 @@ export interface Props {
|
|
|
4
4
|
location: AxisLocation;
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
|
-
* Represents an empty axis (x or y) that can be
|
|
7
|
+
* Represents an empty axis (x or y) that can be placed on the top, bottom,
|
|
8
8
|
* left, or right of the chart. An empty axis is just a line where the axis
|
|
9
|
-
* would be, without any ticks or labels.
|
|
9
|
+
* would be, without any ticks or labels. This component returns null, meaning React won't
|
|
10
|
+
* render it because we are drawing directly onto the chart's shared canvas.
|
|
10
11
|
* @param props The properties for the axis
|
|
12
|
+
* @return `null` (the axis draws onto the chart's canvas)
|
|
11
13
|
*/
|
|
12
14
|
export declare function EmptyAxis(props: Props): null;
|
|
15
|
+
//# sourceMappingURL=EmptyAxis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyAxis.d.ts","sourceRoot":"","sources":["../../../../src/app/charts/axes/EmptyAxis.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EAQf,MAAM,QAAQ,CAAC;AAUhB,MAAM,WAAW,KAAK;IAElB,MAAM,EAAE,MAAM,CAAA;IAGd,QAAQ,EAAE,YAAY,CAAA;CACzB;AAQD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAgH5C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { addEmptyXAxis, addEmptyYAxis,
|
|
1
|
+
import { AxisLocation, addEmptyXAxis, addEmptyYAxis, defaultAxesFont, removeContinuousXAxis, removeContinuousYAxis } from "./axes";
|
|
2
2
|
import { useChart } from "../hooks/useChart";
|
|
3
3
|
import { useEffect, useRef } from "react";
|
|
4
4
|
import * as d3 from "d3";
|
|
@@ -10,13 +10,15 @@ const EMPTY_AXIS_SCALE = d3.scaleLinear();
|
|
|
10
10
|
// the min and max values for the axis
|
|
11
11
|
const EMPTY_AXIS_DOMAIN = [0, 1];
|
|
12
12
|
/**
|
|
13
|
-
* Represents an empty axis (x or y) that can be
|
|
13
|
+
* Represents an empty axis (x or y) that can be placed on the top, bottom,
|
|
14
14
|
* left, or right of the chart. An empty axis is just a line where the axis
|
|
15
|
-
* would be, without any ticks or labels.
|
|
15
|
+
* would be, without any ticks or labels. This component returns null, meaning React won't
|
|
16
|
+
* render it because we are drawing directly onto the chart's shared canvas.
|
|
16
17
|
* @param props The properties for the axis
|
|
18
|
+
* @return `null` (the axis draws onto the chart's canvas)
|
|
17
19
|
*/
|
|
18
20
|
export function EmptyAxis(props) {
|
|
19
|
-
const { chartId,
|
|
21
|
+
const { chartId, canvasContext, axes, color, } = useChart();
|
|
20
22
|
const { addXAxis, addYAxis, axisRangeFor, setAxisRangeFor, setAxisIntervalFor, } = axes;
|
|
21
23
|
const { plotDimensions, margin } = usePlotDimensions();
|
|
22
24
|
const { axisId, location, } = props;
|
|
@@ -28,13 +30,12 @@ export function EmptyAxis(props) {
|
|
|
28
30
|
marginRef.current = margin;
|
|
29
31
|
}, [axisId, plotDimensions, margin]);
|
|
30
32
|
useEffect(() => {
|
|
31
|
-
if (
|
|
32
|
-
const svg = d3.select(container);
|
|
33
|
+
if (canvasContext) {
|
|
33
34
|
if (axisRef.current === undefined) {
|
|
34
35
|
switch (location) {
|
|
35
36
|
case AxisLocation.Bottom:
|
|
36
37
|
case AxisLocation.Top: {
|
|
37
|
-
axisRef.current = addEmptyXAxis(
|
|
38
|
+
axisRef.current = addEmptyXAxis(canvasContext, axisId, plotDimensions, location, EMPTY_AXIS_SCALE, margin, setAxisIntervalFor, color, EMPTY_AXIS_DOMAIN);
|
|
38
39
|
// add the x-axis to the chart context
|
|
39
40
|
const [start, end] = AxisInterval.as(EMPTY_AXIS_DOMAIN).asTuple();
|
|
40
41
|
addXAxis(axisRef.current, axisId, ContinuousAxisRange.from(start, end));
|
|
@@ -42,7 +43,7 @@ export function EmptyAxis(props) {
|
|
|
42
43
|
}
|
|
43
44
|
case AxisLocation.Left:
|
|
44
45
|
case AxisLocation.Right: {
|
|
45
|
-
axisRef.current = addEmptyYAxis(
|
|
46
|
+
axisRef.current = addEmptyYAxis(canvasContext, axisId, plotDimensions, location, EMPTY_AXIS_SCALE, margin, setAxisIntervalFor, color, EMPTY_AXIS_DOMAIN);
|
|
46
47
|
// add the y-axis to the chart context
|
|
47
48
|
const [start, end] = AxisInterval.as(EMPTY_AXIS_DOMAIN).asTuple();
|
|
48
49
|
addYAxis(axisRef.current, axisId, ContinuousAxisRange.from(start, end));
|
|
@@ -57,14 +58,34 @@ export function EmptyAxis(props) {
|
|
|
57
58
|
if (domain.isNotEmpty()) {
|
|
58
59
|
axisRef.current.update(domain, plotDimensions, margin);
|
|
59
60
|
}
|
|
61
|
+
// keep the line color in sync with the chart's color (e.g. on theme change),
|
|
62
|
+
// without recreating the axis or touching its domain
|
|
63
|
+
axisRef.current.updateFont({ ...defaultAxesFont(), color });
|
|
60
64
|
}
|
|
61
65
|
}
|
|
62
66
|
}, [
|
|
63
67
|
chartId, axisId, location, addXAxis, addYAxis,
|
|
64
|
-
|
|
68
|
+
canvasContext, margin, plotDimensions, setAxisIntervalFor,
|
|
65
69
|
axisRangeFor,
|
|
66
70
|
setAxisRangeFor,
|
|
71
|
+
color,
|
|
67
72
|
]);
|
|
73
|
+
// unregister the axis' draw function when the axis unmounts
|
|
74
|
+
useEffect(() => {
|
|
75
|
+
return () => {
|
|
76
|
+
if (canvasContext) {
|
|
77
|
+
switch (location) {
|
|
78
|
+
case AxisLocation.Bottom:
|
|
79
|
+
case AxisLocation.Top:
|
|
80
|
+
removeContinuousXAxis(canvasContext, axisId);
|
|
81
|
+
break;
|
|
82
|
+
case AxisLocation.Left:
|
|
83
|
+
case AxisLocation.Right:
|
|
84
|
+
removeContinuousYAxis(canvasContext, axisId);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
}, [canvasContext, axisId, location]);
|
|
68
89
|
return null;
|
|
69
90
|
}
|
|
70
91
|
//# sourceMappingURL=EmptyAxis.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyAxis.js","sourceRoot":"","sources":["../../../../src/app/charts/axes/EmptyAxis.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"EmptyAxis.js","sourceRoot":"","sources":["../../../../src/app/charts/axes/EmptyAxis.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AxesFont, AxisLocation, AxisTickStyle } from "./axes";
|
|
2
|
-
import { ScaleBand } from "d3";
|
|
1
|
+
import { type AxesFont, AxisLocation, type AxisTickStyle } from "./axes";
|
|
2
|
+
import type { ScaleBand } from "d3";
|
|
3
3
|
export interface Props {
|
|
4
4
|
axisId: string;
|
|
5
5
|
location: AxisLocation;
|
|
@@ -14,8 +14,10 @@ export interface Props {
|
|
|
14
14
|
* Category axis that represents the x-axis when its location is either on the bottom or the top.
|
|
15
15
|
* When the axis location is left or right, then the category axis represents the y-axis. The category
|
|
16
16
|
* axis requires a set of categories that will form the axis. Generally, these categories should
|
|
17
|
-
* be the name of the series used to represent each category.
|
|
17
|
+
* be the name of the series used to represent each category. This component returns null, meaning
|
|
18
|
+
* React won't render it because we are drawing directly onto the chart's shared canvas.
|
|
18
19
|
* @param props The properties for the component
|
|
19
20
|
* @return null
|
|
20
21
|
*/
|
|
21
22
|
export declare function OrdinalAxis(props: Props): null;
|
|
23
|
+
//# sourceMappingURL=OrdinalAxis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrdinalAxis.d.ts","sourceRoot":"","sources":["../../../../src/app/charts/axes/OrdinalAxis.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,QAAQ,EACb,YAAY,EACZ,KAAK,aAAa,EAOrB,MAAM,QAAQ,CAAA;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,IAAI,CAAC;AASlC,MAAM,WAAW,KAAK;IAElB,MAAM,EAAE,MAAM,CAAA;IAGd,QAAQ,EAAE,YAAY,CAAA;IAEtB,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;IAEzB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAEzB,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IAExB,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAEtC,KAAK,EAAE,MAAM,CAAA;IAgBb,6BAA6B,CAAC,EAAE,OAAO,CAAA;CAC1C;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAoM9C"}
|