react-native-chart-kit 7.0.0-next.1 → 7.0.0-next.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +89 -521
- package/dist/charts/line/LineChart.d.ts +3 -3
- package/dist/charts/line/LineChart.js +1 -1
- package/dist/v2/core/data/index.d.ts +3 -0
- package/dist/v2/core/data/index.d.ts.map +1 -0
- package/dist/v2/core/data/index.js +1 -0
- package/dist/v2/core/data/normalize.d.ts +8 -0
- package/dist/v2/core/data/normalize.d.ts.map +1 -0
- package/dist/v2/core/data/normalize.js +229 -0
- package/dist/v2/core/data/normalizeValues.d.ts +16 -0
- package/dist/v2/core/data/normalizeValues.d.ts.map +1 -0
- package/dist/v2/core/data/normalizeValues.js +96 -0
- package/dist/v2/core/data/types.d.ts +161 -0
- package/dist/v2/core/data/types.d.ts.map +1 -0
- package/dist/v2/core/data/types.js +1 -0
- package/dist/v2/core/geometry/areaPath.d.ts +3 -0
- package/dist/v2/core/geometry/areaPath.d.ts.map +1 -0
- package/dist/v2/core/geometry/areaPath.js +36 -0
- package/dist/v2/core/geometry/barRects.d.ts +44 -0
- package/dist/v2/core/geometry/barRects.d.ts.map +1 -0
- package/dist/v2/core/geometry/barRects.js +201 -0
- package/dist/v2/core/geometry/contributionHeatmap.d.ts +49 -0
- package/dist/v2/core/geometry/contributionHeatmap.d.ts.map +1 -0
- package/dist/v2/core/geometry/contributionHeatmap.js +107 -0
- package/dist/v2/core/geometry/horizontalBarRects.d.ts +27 -0
- package/dist/v2/core/geometry/horizontalBarRects.d.ts.map +1 -0
- package/dist/v2/core/geometry/horizontalBarRects.js +202 -0
- package/dist/v2/core/geometry/index.d.ts +12 -0
- package/dist/v2/core/geometry/index.d.ts.map +1 -0
- package/dist/v2/core/geometry/index.js +11 -0
- package/dist/v2/core/geometry/lineDecimation.d.ts +8 -0
- package/dist/v2/core/geometry/lineDecimation.d.ts.map +1 -0
- package/dist/v2/core/geometry/lineDecimation.js +110 -0
- package/dist/v2/core/geometry/linePath.d.ts +5 -0
- package/dist/v2/core/geometry/linePath.d.ts.map +1 -0
- package/dist/v2/core/geometry/linePath.js +98 -0
- package/dist/v2/core/geometry/lineSeries.d.ts +29 -0
- package/dist/v2/core/geometry/lineSeries.d.ts.map +1 -0
- package/dist/v2/core/geometry/lineSeries.js +51 -0
- package/dist/v2/core/geometry/path.d.ts +6 -0
- package/dist/v2/core/geometry/path.d.ts.map +1 -0
- package/dist/v2/core/geometry/path.js +24 -0
- package/dist/v2/core/geometry/pieArcs.d.ts +29 -0
- package/dist/v2/core/geometry/pieArcs.d.ts.map +1 -0
- package/dist/v2/core/geometry/pieArcs.js +142 -0
- package/dist/v2/core/geometry/progressRings.d.ts +30 -0
- package/dist/v2/core/geometry/progressRings.d.ts.map +1 -0
- package/dist/v2/core/geometry/progressRings.js +104 -0
- package/dist/v2/core/geometry/types.d.ts +32 -0
- package/dist/v2/core/geometry/types.d.ts.map +1 -0
- package/dist/v2/core/geometry/types.js +1 -0
- package/dist/v2/core/index.d.ts +6 -0
- package/dist/v2/core/index.d.ts.map +1 -0
- package/dist/v2/core/index.js +6 -0
- package/dist/v2/core/interaction/index.d.ts +5 -0
- package/dist/v2/core/interaction/index.d.ts.map +1 -0
- package/dist/v2/core/interaction/index.js +2 -0
- package/dist/v2/core/interaction/viewport.d.ts +71 -0
- package/dist/v2/core/interaction/viewport.d.ts.map +1 -0
- package/dist/v2/core/interaction/viewport.js +216 -0
- package/dist/v2/core/interaction/viewportTransform.d.ts +17 -0
- package/dist/v2/core/interaction/viewportTransform.d.ts.map +1 -0
- package/dist/v2/core/interaction/viewportTransform.js +70 -0
- package/dist/v2/core/layout/autoPadding.d.ts +3 -0
- package/dist/v2/core/layout/autoPadding.d.ts.map +1 -0
- package/dist/v2/core/layout/autoPadding.js +33 -0
- package/dist/v2/core/layout/chartBox.d.ts +5 -0
- package/dist/v2/core/layout/chartBox.d.ts.map +1 -0
- package/dist/v2/core/layout/chartBox.js +22 -0
- package/dist/v2/core/layout/debugLayout.d.ts +3 -0
- package/dist/v2/core/layout/debugLayout.d.ts.map +1 -0
- package/dist/v2/core/layout/debugLayout.js +20 -0
- package/dist/v2/core/layout/index.d.ts +8 -0
- package/dist/v2/core/layout/index.d.ts.map +1 -0
- package/dist/v2/core/layout/index.js +6 -0
- package/dist/v2/core/layout/labelCollision.d.ts +3 -0
- package/dist/v2/core/layout/labelCollision.d.ts.map +1 -0
- package/dist/v2/core/layout/labelCollision.js +90 -0
- package/dist/v2/core/layout/legendLayout.d.ts +3 -0
- package/dist/v2/core/layout/legendLayout.d.ts.map +1 -0
- package/dist/v2/core/layout/legendLayout.js +39 -0
- package/dist/v2/core/layout/tooltipPlacement.d.ts +3 -0
- package/dist/v2/core/layout/tooltipPlacement.d.ts.map +1 -0
- package/dist/v2/core/layout/tooltipPlacement.js +76 -0
- package/dist/v2/core/layout/types.d.ts +114 -0
- package/dist/v2/core/layout/types.d.ts.map +1 -0
- package/dist/v2/core/layout/types.js +1 -0
- package/dist/v2/core/scales/band.d.ts +15 -0
- package/dist/v2/core/scales/band.d.ts.map +1 -0
- package/dist/v2/core/scales/band.js +34 -0
- package/dist/v2/core/scales/domain.d.ts +6 -0
- package/dist/v2/core/scales/domain.d.ts.map +1 -0
- package/dist/v2/core/scales/domain.js +109 -0
- package/dist/v2/core/scales/index.d.ts +7 -0
- package/dist/v2/core/scales/index.d.ts.map +1 -0
- package/dist/v2/core/scales/index.js +5 -0
- package/dist/v2/core/scales/linear.d.ts +8 -0
- package/dist/v2/core/scales/linear.d.ts.map +1 -0
- package/dist/v2/core/scales/linear.js +22 -0
- package/dist/v2/core/scales/ticks.d.ts +4 -0
- package/dist/v2/core/scales/ticks.d.ts.map +1 -0
- package/dist/v2/core/scales/ticks.js +111 -0
- package/dist/v2/core/scales/time.d.ts +8 -0
- package/dist/v2/core/scales/time.d.ts.map +1 -0
- package/dist/v2/core/scales/time.js +23 -0
- package/dist/v2/core/scales/types.d.ts +46 -0
- package/dist/v2/core/scales/types.d.ts.map +1 -0
- package/dist/v2/core/scales/types.js +1 -0
- package/dist/v2/index.d.ts +1 -0
- package/dist/v2/index.js +1 -0
- package/dist/v2/react-native/charts/bar/BarChart.d.ts +6 -0
- package/dist/v2/react-native/charts/bar/BarChart.d.ts.map +1 -0
- package/dist/v2/react-native/charts/bar/BarChart.js +199 -0
- package/dist/v2/react-native/charts/bar/BarChartSurface.d.ts +36 -0
- package/dist/v2/react-native/charts/bar/BarChartSurface.d.ts.map +1 -0
- package/dist/v2/react-native/charts/bar/BarChartSurface.js +134 -0
- package/dist/v2/react-native/charts/bar/StackedBarChart.d.ts +4 -0
- package/dist/v2/react-native/charts/bar/StackedBarChart.d.ts.map +1 -0
- package/dist/v2/react-native/charts/bar/StackedBarChart.js +9 -0
- package/dist/v2/react-native/charts/bar/accessibility.d.ts +31 -0
- package/dist/v2/react-native/charts/bar/accessibility.d.ts.map +1 -0
- package/dist/v2/react-native/charts/bar/accessibility.js +87 -0
- package/dist/v2/react-native/charts/bar/interaction.d.ts +18 -0
- package/dist/v2/react-native/charts/bar/interaction.d.ts.map +1 -0
- package/dist/v2/react-native/charts/bar/interaction.js +62 -0
- package/dist/v2/react-native/charts/bar/model.d.ts +3 -0
- package/dist/v2/react-native/charts/bar/model.d.ts.map +1 -0
- package/dist/v2/react-native/charts/bar/model.js +326 -0
- package/dist/v2/react-native/charts/bar/modelUtils.d.ts +27 -0
- package/dist/v2/react-native/charts/bar/modelUtils.d.ts.map +1 -0
- package/dist/v2/react-native/charts/bar/modelUtils.js +58 -0
- package/dist/v2/react-native/charts/bar/options.d.ts +7 -0
- package/dist/v2/react-native/charts/bar/options.d.ts.map +1 -0
- package/dist/v2/react-native/charts/bar/options.js +49 -0
- package/dist/v2/react-native/charts/bar/rendererSafety.d.ts +12 -0
- package/dist/v2/react-native/charts/bar/rendererSafety.d.ts.map +1 -0
- package/dist/v2/react-native/charts/bar/rendererSafety.js +31 -0
- package/dist/v2/react-native/charts/bar/selectionAnimation.d.ts +42 -0
- package/dist/v2/react-native/charts/bar/selectionAnimation.d.ts.map +1 -0
- package/dist/v2/react-native/charts/bar/selectionAnimation.js +158 -0
- package/dist/v2/react-native/charts/bar/stackedCompat.d.ts +55 -0
- package/dist/v2/react-native/charts/bar/stackedCompat.d.ts.map +1 -0
- package/dist/v2/react-native/charts/bar/stackedCompat.js +105 -0
- package/dist/v2/react-native/charts/bar/tooltip.d.ts +11 -0
- package/dist/v2/react-native/charts/bar/tooltip.d.ts.map +1 -0
- package/dist/v2/react-native/charts/bar/tooltip.js +18 -0
- package/dist/v2/react-native/charts/bar/tooltipModel.d.ts +33 -0
- package/dist/v2/react-native/charts/bar/tooltipModel.d.ts.map +1 -0
- package/dist/v2/react-native/charts/bar/tooltipModel.js +46 -0
- package/dist/v2/react-native/charts/bar/tooltipPlacement.d.ts +9 -0
- package/dist/v2/react-native/charts/bar/tooltipPlacement.d.ts.map +1 -0
- package/dist/v2/react-native/charts/bar/tooltipPlacement.js +9 -0
- package/dist/v2/react-native/charts/bar/types.d.ts +211 -0
- package/dist/v2/react-native/charts/bar/types.d.ts.map +1 -0
- package/dist/v2/react-native/charts/bar/types.js +1 -0
- package/dist/v2/react-native/charts/bar/useAnimatedTooltipModel.d.ts +10 -0
- package/dist/v2/react-native/charts/bar/useAnimatedTooltipModel.d.ts.map +1 -0
- package/dist/v2/react-native/charts/bar/useAnimatedTooltipModel.js +87 -0
- package/dist/v2/react-native/charts/bar/viewport.d.ts +20 -0
- package/dist/v2/react-native/charts/bar/viewport.d.ts.map +1 -0
- package/dist/v2/react-native/charts/bar/viewport.js +47 -0
- package/dist/v2/react-native/charts/contribution/ContributionGraph.d.ts +13 -0
- package/dist/v2/react-native/charts/contribution/ContributionGraph.d.ts.map +1 -0
- package/dist/v2/react-native/charts/contribution/ContributionGraph.js +159 -0
- package/dist/v2/react-native/charts/contribution/accessibility.d.ts +25 -0
- package/dist/v2/react-native/charts/contribution/accessibility.d.ts.map +1 -0
- package/dist/v2/react-native/charts/contribution/accessibility.js +50 -0
- package/dist/v2/react-native/charts/contribution/interaction.d.ts +23 -0
- package/dist/v2/react-native/charts/contribution/interaction.d.ts.map +1 -0
- package/dist/v2/react-native/charts/contribution/interaction.js +75 -0
- package/dist/v2/react-native/charts/contribution/model.d.ts +17 -0
- package/dist/v2/react-native/charts/contribution/model.d.ts.map +1 -0
- package/dist/v2/react-native/charts/contribution/model.js +102 -0
- package/dist/v2/react-native/charts/contribution/types.d.ts +71 -0
- package/dist/v2/react-native/charts/contribution/types.d.ts.map +1 -0
- package/dist/v2/react-native/charts/contribution/types.js +1 -0
- package/dist/v2/react-native/charts/line/AreaChart.d.ts +3 -0
- package/dist/v2/react-native/charts/line/AreaChart.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/AreaChart.js +3 -0
- package/dist/v2/react-native/charts/line/ChartSurface.d.ts +16 -0
- package/dist/v2/react-native/charts/line/ChartSurface.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/ChartSurface.js +151 -0
- package/dist/v2/react-native/charts/line/LineChart.d.ts +6 -0
- package/dist/v2/react-native/charts/line/LineChart.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/LineChart.js +294 -0
- package/dist/v2/react-native/charts/line/StickyYAxis.d.ts +15 -0
- package/dist/v2/react-native/charts/line/StickyYAxis.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/StickyYAxis.js +26 -0
- package/dist/v2/react-native/charts/line/accessibility.d.ts +34 -0
- package/dist/v2/react-native/charts/line/accessibility.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/accessibility.js +103 -0
- package/dist/v2/react-native/charts/line/axisLabels.d.ts +37 -0
- package/dist/v2/react-native/charts/line/axisLabels.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/axisLabels.js +55 -0
- package/dist/v2/react-native/charts/line/debugLayout.d.ts +26 -0
- package/dist/v2/react-native/charts/line/debugLayout.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/debugLayout.js +77 -0
- package/dist/v2/react-native/charts/line/debugOverlay.d.ts +9 -0
- package/dist/v2/react-native/charts/line/debugOverlay.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/debugOverlay.js +30 -0
- package/dist/v2/react-native/charts/line/defaultTooltip.d.ts +3 -0
- package/dist/v2/react-native/charts/line/defaultTooltip.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/defaultTooltip.js +17 -0
- package/dist/v2/react-native/charts/line/interaction.d.ts +82 -0
- package/dist/v2/react-native/charts/line/interaction.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/interaction.js +94 -0
- package/dist/v2/react-native/charts/line/legend.d.ts +35 -0
- package/dist/v2/react-native/charts/line/legend.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/legend.js +95 -0
- package/dist/v2/react-native/charts/line/markers.d.ts +11 -0
- package/dist/v2/react-native/charts/line/markers.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/markers.js +52 -0
- package/dist/v2/react-native/charts/line/options.d.ts +172 -0
- package/dist/v2/react-native/charts/line/options.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/options.js +168 -0
- package/dist/v2/react-native/charts/line/outsidePressSurfaces.d.ts +15 -0
- package/dist/v2/react-native/charts/line/outsidePressSurfaces.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/outsidePressSurfaces.js +37 -0
- package/dist/v2/react-native/charts/line/overviewProps.d.ts +45 -0
- package/dist/v2/react-native/charts/line/overviewProps.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/overviewProps.js +4 -0
- package/dist/v2/react-native/charts/line/rangeSelector.d.ts +19 -0
- package/dist/v2/react-native/charts/line/rangeSelector.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/rangeSelector.js +185 -0
- package/dist/v2/react-native/charts/line/rangeSelectorConfig.d.ts +38 -0
- package/dist/v2/react-native/charts/line/rangeSelectorConfig.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/rangeSelectorConfig.js +41 -0
- package/dist/v2/react-native/charts/line/referenceLabelPlacement.d.ts +21 -0
- package/dist/v2/react-native/charts/line/referenceLabelPlacement.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/referenceLabelPlacement.js +113 -0
- package/dist/v2/react-native/charts/line/references.d.ts +62 -0
- package/dist/v2/react-native/charts/line/references.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/references.js +156 -0
- package/dist/v2/react-native/charts/line/renderer.d.ts +4 -0
- package/dist/v2/react-native/charts/line/renderer.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/renderer.js +23 -0
- package/dist/v2/react-native/charts/line/responders.d.ts +13 -0
- package/dist/v2/react-native/charts/line/responders.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/responders.js +62 -0
- package/dist/v2/react-native/charts/line/selection.d.ts +31 -0
- package/dist/v2/react-native/charts/line/selection.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/selection.js +26 -0
- package/dist/v2/react-native/charts/line/seriesInput.d.ts +4 -0
- package/dist/v2/react-native/charts/line/seriesInput.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/seriesInput.js +13 -0
- package/dist/v2/react-native/charts/line/seriesStyles.d.ts +20 -0
- package/dist/v2/react-native/charts/line/seriesStyles.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/seriesStyles.js +33 -0
- package/dist/v2/react-native/charts/line/stickyYAxisLayout.d.ts +6 -0
- package/dist/v2/react-native/charts/line/stickyYAxisLayout.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/stickyYAxisLayout.js +2 -0
- package/dist/v2/react-native/charts/line/text.d.ts +7 -0
- package/dist/v2/react-native/charts/line/text.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/text.js +7 -0
- package/dist/v2/react-native/charts/line/thresholdRendering.d.ts +28 -0
- package/dist/v2/react-native/charts/line/thresholdRendering.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/thresholdRendering.js +145 -0
- package/dist/v2/react-native/charts/line/tooltip.d.ts +70 -0
- package/dist/v2/react-native/charts/line/tooltip.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/tooltip.js +87 -0
- package/dist/v2/react-native/charts/line/types.d.ts +371 -0
- package/dist/v2/react-native/charts/line/types.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/types.js +1 -0
- package/dist/v2/react-native/charts/line/useAnimatedTooltipModel.d.ts +13 -0
- package/dist/v2/react-native/charts/line/useAnimatedTooltipModel.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/useAnimatedTooltipModel.js +84 -0
- package/dist/v2/react-native/charts/line/useAnimatedYAxisLabels.d.ts +5 -0
- package/dist/v2/react-native/charts/line/useAnimatedYAxisLabels.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/useAnimatedYAxisLabels.js +141 -0
- package/dist/v2/react-native/charts/line/useChartModel.d.ts +103 -0
- package/dist/v2/react-native/charts/line/useChartModel.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/useChartModel.js +367 -0
- package/dist/v2/react-native/charts/line/useDebugLayout.d.ts +16 -0
- package/dist/v2/react-native/charts/line/useDebugLayout.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/useDebugLayout.js +35 -0
- package/dist/v2/react-native/charts/line/utils.d.ts +10 -0
- package/dist/v2/react-native/charts/line/utils.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/utils.js +40 -0
- package/dist/v2/react-native/charts/line/viewportInteraction.d.ts +3 -0
- package/dist/v2/react-native/charts/line/viewportInteraction.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/viewportInteraction.js +1 -0
- package/dist/v2/react-native/charts/line/viewportPinchZoom.d.ts +2 -0
- package/dist/v2/react-native/charts/line/viewportPinchZoom.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/viewportPinchZoom.js +1 -0
- package/dist/v2/react-native/charts/line/xLabelCandidates.d.ts +13 -0
- package/dist/v2/react-native/charts/line/xLabelCandidates.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/xLabelCandidates.js +23 -0
- package/dist/v2/react-native/charts/line/xLabels.d.ts +39 -0
- package/dist/v2/react-native/charts/line/xLabels.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/xLabels.js +289 -0
- package/dist/v2/react-native/charts/line/xScale.d.ts +6 -0
- package/dist/v2/react-native/charts/line/xScale.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/xScale.js +25 -0
- package/dist/v2/react-native/charts/line/yAxisModel.d.ts +29 -0
- package/dist/v2/react-native/charts/line/yAxisModel.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/yAxisModel.js +39 -0
- package/dist/v2/react-native/charts/pie/PieChart.d.ts +7 -0
- package/dist/v2/react-native/charts/pie/PieChart.d.ts.map +1 -0
- package/dist/v2/react-native/charts/pie/PieChart.js +253 -0
- package/dist/v2/react-native/charts/pie/accessibility.d.ts +28 -0
- package/dist/v2/react-native/charts/pie/accessibility.d.ts.map +1 -0
- package/dist/v2/react-native/charts/pie/accessibility.js +49 -0
- package/dist/v2/react-native/charts/pie/activeSlice.d.ts +15 -0
- package/dist/v2/react-native/charts/pie/activeSlice.d.ts.map +1 -0
- package/dist/v2/react-native/charts/pie/activeSlice.js +26 -0
- package/dist/v2/react-native/charts/pie/arcLabels.d.ts +32 -0
- package/dist/v2/react-native/charts/pie/arcLabels.d.ts.map +1 -0
- package/dist/v2/react-native/charts/pie/arcLabels.js +191 -0
- package/dist/v2/react-native/charts/pie/interaction.d.ts +26 -0
- package/dist/v2/react-native/charts/pie/interaction.d.ts.map +1 -0
- package/dist/v2/react-native/charts/pie/interaction.js +66 -0
- package/dist/v2/react-native/charts/pie/model.d.ts +15 -0
- package/dist/v2/react-native/charts/pie/model.d.ts.map +1 -0
- package/dist/v2/react-native/charts/pie/model.js +157 -0
- package/dist/v2/react-native/charts/pie/selectionAnimation.d.ts +33 -0
- package/dist/v2/react-native/charts/pie/selectionAnimation.d.ts.map +1 -0
- package/dist/v2/react-native/charts/pie/selectionAnimation.js +121 -0
- package/dist/v2/react-native/charts/pie/sliceSeparator.d.ts +7 -0
- package/dist/v2/react-native/charts/pie/sliceSeparator.d.ts.map +1 -0
- package/dist/v2/react-native/charts/pie/sliceSeparator.js +26 -0
- package/dist/v2/react-native/charts/pie/slices.d.ts +20 -0
- package/dist/v2/react-native/charts/pie/slices.d.ts.map +1 -0
- package/dist/v2/react-native/charts/pie/slices.js +54 -0
- package/dist/v2/react-native/charts/pie/types.d.ts +165 -0
- package/dist/v2/react-native/charts/pie/types.d.ts.map +1 -0
- package/dist/v2/react-native/charts/pie/types.js +1 -0
- package/dist/v2/react-native/charts/progress/ProgressChart.d.ts +7 -0
- package/dist/v2/react-native/charts/progress/ProgressChart.d.ts.map +1 -0
- package/dist/v2/react-native/charts/progress/ProgressChart.js +111 -0
- package/dist/v2/react-native/charts/progress/accessibility.d.ts +26 -0
- package/dist/v2/react-native/charts/progress/accessibility.d.ts.map +1 -0
- package/dist/v2/react-native/charts/progress/accessibility.js +71 -0
- package/dist/v2/react-native/charts/progress/animation.d.ts +36 -0
- package/dist/v2/react-native/charts/progress/animation.d.ts.map +1 -0
- package/dist/v2/react-native/charts/progress/animation.js +103 -0
- package/dist/v2/react-native/charts/progress/model.d.ts +14 -0
- package/dist/v2/react-native/charts/progress/model.d.ts.map +1 -0
- package/dist/v2/react-native/charts/progress/model.js +133 -0
- package/dist/v2/react-native/charts/progress/types.d.ts +72 -0
- package/dist/v2/react-native/charts/progress/types.d.ts.map +1 -0
- package/dist/v2/react-native/charts/progress/types.js +1 -0
- package/dist/v2/react-native/index.d.ts +24 -0
- package/dist/v2/react-native/index.d.ts.map +1 -0
- package/dist/v2/react-native/index.js +14 -0
- package/dist/v2/react-native/selection/ChartSelectionProvider.d.ts +27 -0
- package/dist/v2/react-native/selection/ChartSelectionProvider.d.ts.map +1 -0
- package/dist/v2/react-native/selection/ChartSelectionProvider.js +92 -0
- package/dist/v2/react-native/selection/index.d.ts +2 -0
- package/dist/v2/react-native/selection/index.d.ts.map +1 -0
- package/dist/v2/react-native/selection/index.js +1 -0
- package/dist/v2/react-native/selection/scope.d.ts +16 -0
- package/dist/v2/react-native/selection/scope.d.ts.map +1 -0
- package/dist/v2/react-native/selection/scope.js +18 -0
- package/dist/v2/react-native/theme/index.d.ts +4 -0
- package/dist/v2/react-native/theme/index.d.ts.map +1 -0
- package/dist/v2/react-native/theme/index.js +2 -0
- package/dist/v2/react-native/theme/presets.d.ts +84 -0
- package/dist/v2/react-native/theme/presets.d.ts.map +1 -0
- package/dist/v2/react-native/theme/presets.js +298 -0
- package/dist/v2/react-native/theme/provider.d.ts +20 -0
- package/dist/v2/react-native/theme/provider.d.ts.map +1 -0
- package/dist/v2/react-native/theme/provider.js +27 -0
- package/dist/v2/react-native/viewport/bounds.d.ts +7 -0
- package/dist/v2/react-native/viewport/bounds.d.ts.map +1 -0
- package/dist/v2/react-native/viewport/bounds.js +7 -0
- package/dist/v2/react-native/viewport/config.d.ts +13 -0
- package/dist/v2/react-native/viewport/config.d.ts.map +1 -0
- package/dist/v2/react-native/viewport/config.js +64 -0
- package/dist/v2/react-native/viewport/pan.d.ts +23 -0
- package/dist/v2/react-native/viewport/pan.d.ts.map +1 -0
- package/dist/v2/react-native/viewport/pan.js +110 -0
- package/dist/v2/react-native/viewport/pinchZoom.d.ts +17 -0
- package/dist/v2/react-native/viewport/pinchZoom.d.ts.map +1 -0
- package/dist/v2/react-native/viewport/pinchZoom.js +131 -0
- package/dist/v2/react-native/viewport/types.d.ts +55 -0
- package/dist/v2/react-native/viewport/types.d.ts.map +1 -0
- package/dist/v2/react-native/viewport/types.js +1 -0
- package/dist/v2/svg-renderer/capabilities.d.ts +3 -0
- package/dist/v2/svg-renderer/capabilities.d.ts.map +1 -0
- package/dist/v2/svg-renderer/capabilities.js +12 -0
- package/dist/v2/svg-renderer/clipPath.d.ts +4 -0
- package/dist/v2/svg-renderer/clipPath.d.ts.map +1 -0
- package/dist/v2/svg-renderer/clipPath.js +35 -0
- package/dist/v2/svg-renderer/defs.d.ts +6 -0
- package/dist/v2/svg-renderer/defs.d.ts.map +1 -0
- package/dist/v2/svg-renderer/defs.js +18 -0
- package/dist/v2/svg-renderer/ensureConsole.d.ts +4 -0
- package/dist/v2/svg-renderer/ensureConsole.d.ts.map +1 -0
- package/dist/v2/svg-renderer/ensureConsole.js +54 -0
- package/dist/v2/svg-renderer/hitRegions.d.ts +3 -0
- package/dist/v2/svg-renderer/hitRegions.d.ts.map +1 -0
- package/dist/v2/svg-renderer/hitRegions.js +6 -0
- package/dist/v2/svg-renderer/index.d.ts +14 -0
- package/dist/v2/svg-renderer/index.d.ts.map +1 -0
- package/dist/v2/svg-renderer/index.js +13 -0
- package/dist/v2/svg-renderer/layerOrder.d.ts +19 -0
- package/dist/v2/svg-renderer/layerOrder.d.ts.map +1 -0
- package/dist/v2/svg-renderer/layerOrder.js +18 -0
- package/dist/v2/svg-renderer/layers.d.ts +3 -0
- package/dist/v2/svg-renderer/layers.d.ts.map +1 -0
- package/dist/v2/svg-renderer/layers.js +4 -0
- package/dist/v2/svg-renderer/primitives.d.ts +12 -0
- package/dist/v2/svg-renderer/primitives.d.ts.map +1 -0
- package/dist/v2/svg-renderer/primitives.js +13 -0
- package/dist/v2/svg-renderer/renderer.d.ts +4 -0
- package/dist/v2/svg-renderer/renderer.d.ts.map +1 -0
- package/dist/v2/svg-renderer/renderer.js +24 -0
- package/dist/v2/svg-renderer/symbolGeometry.d.ts +6 -0
- package/dist/v2/svg-renderer/symbolGeometry.d.ts.map +1 -0
- package/dist/v2/svg-renderer/symbolGeometry.js +10 -0
- package/dist/v2/svg-renderer/symbols.d.ts +3 -0
- package/dist/v2/svg-renderer/symbols.d.ts.map +1 -0
- package/dist/v2/svg-renderer/symbols.js +23 -0
- package/dist/v2/svg-renderer/testIds.d.ts +2 -0
- package/dist/v2/svg-renderer/testIds.d.ts.map +1 -0
- package/dist/v2/svg-renderer/testIds.js +10 -0
- package/dist/v2/svg-renderer/textMeasurement.d.ts +4 -0
- package/dist/v2/svg-renderer/textMeasurement.d.ts.map +1 -0
- package/dist/v2/svg-renderer/textMeasurement.js +37 -0
- package/dist/v2/svg-renderer/types.d.ts +134 -0
- package/dist/v2/svg-renderer/types.d.ts.map +1 -0
- package/dist/v2/svg-renderer/types.js +1 -0
- package/package.json +56 -50
- package/v2/index.d.ts +1 -0
- package/v2/index.js +1 -0
- package/v2/package.json +6 -0
- package/scripts/chartkit-codemod.mjs +0 -256
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
import type { ElementType, ReactNode } from "react";
|
|
2
|
+
import type { ChartBoxes, ChartViewportInitialIndex, ChartXValue, LayoutDebugModel, LineCurve, NumericDomainInput, ProjectedLinePoint } from "../../../core/index";
|
|
3
|
+
import type { CartesianChartPresetValue, CartesianChartTheme, ChartKitThemeMode, ResolvedCartesianChartTheme } from "../../theme";
|
|
4
|
+
import type { LineChartInteraction } from "./interaction";
|
|
5
|
+
import type { LineChartCrosshairConfig, LineChartAreaFillConfig, LineChartDecimationConfig, LineChartDotConfig, LineChartStrokeLinecap, LineChartStrokeLinejoin, LineChartThresholdStyleConfig, LineChartTooltipConfig, ResolvedLineChartCrosshairConfig, ResolvedLineChartDotConfig } from "./options";
|
|
6
|
+
import type { LineChartSelectedSeriesItem as BaseLineChartSelectedSeriesItem } from "./selection";
|
|
7
|
+
import type { LineChartTooltipRenderProps as BaseLineChartTooltipRenderProps, LineChartTooltipSeriesItem as BaseLineChartTooltipSeriesItem } from "./tooltip";
|
|
8
|
+
import type { LineChartAxisLabelAnimationConfig } from "./axisLabels";
|
|
9
|
+
import type { LineChartYAxisLabelWidth } from "./axisLabels";
|
|
10
|
+
export type { LineChartInteraction, LineChartInteractionConfig, LineChartInteractionMode, LineChartDeselectEvent, LineChartSelectEvent } from "./interaction";
|
|
11
|
+
export type { LineChartAreaFillConfig, LineChartCrosshairConfig, LineChartDotColor, LineChartDotConfig, LineChartDotShape, LineChartDecimationConfig, LineChartStrokeLinecap, LineChartStrokeLinejoin, LineChartStrokeStyleConfig, LineChartThresholdStyleConfig, LineChartTooltipConfig, ResolvedLineChartCrosshairConfig, ResolvedLineChartAreaFillConfig, ResolvedLineChartDecimationConfig, ResolvedLineChartDotConfig, ResolvedLineChartStrokeStyle, ResolvedLineChartThresholdStyle, ResolvedLineChartTooltipConfig } from "./options";
|
|
12
|
+
export type { LineChartAxisLabelAnimationConfig, LineChartAxisLabelAnimationStrategy, LineChartYAxisLabelWidth, LineChartYAxisLabelModel, ResolvedLineChartAxisLabelAnimationConfig } from "./axisLabels";
|
|
13
|
+
export type LineChartSeries<TData extends Record<string, unknown>> = {
|
|
14
|
+
yKey: keyof TData & string;
|
|
15
|
+
key?: string;
|
|
16
|
+
label?: string;
|
|
17
|
+
color?: string;
|
|
18
|
+
strokeWidth?: number;
|
|
19
|
+
strokeDasharray?: readonly number[] | undefined;
|
|
20
|
+
strokeLinecap?: LineChartStrokeLinecap;
|
|
21
|
+
strokeLinejoin?: LineChartStrokeLinejoin;
|
|
22
|
+
strokeOpacity?: number;
|
|
23
|
+
dot?: boolean | LineChartDotConfig;
|
|
24
|
+
threshold?: LineChartThresholdStyleConfig;
|
|
25
|
+
area?: boolean;
|
|
26
|
+
areaFill?: LineChartAreaFillConfig;
|
|
27
|
+
curve?: LineCurve;
|
|
28
|
+
};
|
|
29
|
+
export type LineChartDotRenderProps<TData = unknown> = {
|
|
30
|
+
point: ProjectedLinePoint<TData>;
|
|
31
|
+
seriesKey: string;
|
|
32
|
+
seriesLabel: string;
|
|
33
|
+
color: string;
|
|
34
|
+
x: number;
|
|
35
|
+
y: number;
|
|
36
|
+
value: number | null | undefined;
|
|
37
|
+
dataIndex: number;
|
|
38
|
+
config: ResolvedLineChartDotConfig;
|
|
39
|
+
theme: ResolvedCartesianChartTheme;
|
|
40
|
+
};
|
|
41
|
+
export type LineChartTooltipSeriesItem<TData = unknown> = BaseLineChartTooltipSeriesItem<ProjectedLinePoint<TData>>;
|
|
42
|
+
export type LineChartTooltipRenderProps<TData = unknown> = BaseLineChartTooltipRenderProps<ProjectedLinePoint<TData>, ResolvedCartesianChartTheme>;
|
|
43
|
+
export type LineChartCrosshairRenderProps<TData = unknown> = {
|
|
44
|
+
chartHeight: number;
|
|
45
|
+
chartWidth: number;
|
|
46
|
+
config: ResolvedLineChartCrosshairConfig;
|
|
47
|
+
plot: ChartBoxes["plot"];
|
|
48
|
+
series: Array<LineChartSelectedSeriesItem<TData>>;
|
|
49
|
+
theme: ResolvedCartesianChartTheme;
|
|
50
|
+
x: number;
|
|
51
|
+
xLabel: string;
|
|
52
|
+
y: number;
|
|
53
|
+
};
|
|
54
|
+
export type LineChartLegendPosition = "top" | "bottom";
|
|
55
|
+
export type LineChartLegendAlign = "start" | "center" | "end";
|
|
56
|
+
export type LineChartLegendMarker = "square" | "circle" | "line";
|
|
57
|
+
export type LineChartLabelStrategy = "auto" | "show" | "skip" | "rotate" | "stagger" | "hide";
|
|
58
|
+
export type LineChartResolvedLabelStrategy = Exclude<LineChartLabelStrategy, "auto">;
|
|
59
|
+
export type LineChartEdgeLabelPolicy = "shift" | "hide" | "show";
|
|
60
|
+
export type LineChartInitialIndex = ChartViewportInitialIndex;
|
|
61
|
+
export type LineChartReferenceLabelPosition = "start" | "center" | "end";
|
|
62
|
+
export type LineChartReferenceLabelPlacement = "auto" | "above" | "below";
|
|
63
|
+
export type LineChartReferenceLabelContainerConfig = {
|
|
64
|
+
backgroundColor?: string;
|
|
65
|
+
borderRadius?: number;
|
|
66
|
+
opacity?: number;
|
|
67
|
+
paddingX?: number;
|
|
68
|
+
paddingY?: number;
|
|
69
|
+
};
|
|
70
|
+
export type LineChartReferenceLineConfig = {
|
|
71
|
+
y: number;
|
|
72
|
+
label?: string;
|
|
73
|
+
labelColor?: string;
|
|
74
|
+
labelContainer?: boolean | LineChartReferenceLabelContainerConfig;
|
|
75
|
+
labelFontSize?: number;
|
|
76
|
+
labelOffset?: number;
|
|
77
|
+
labelPlacement?: LineChartReferenceLabelPlacement;
|
|
78
|
+
labelPosition?: LineChartReferenceLabelPosition;
|
|
79
|
+
color?: string;
|
|
80
|
+
opacity?: number;
|
|
81
|
+
strokeDasharray?: readonly number[];
|
|
82
|
+
strokeWidth?: number;
|
|
83
|
+
};
|
|
84
|
+
export type LineChartReferenceBandConfig = {
|
|
85
|
+
y1: number;
|
|
86
|
+
y2: number;
|
|
87
|
+
label?: string;
|
|
88
|
+
labelColor?: string;
|
|
89
|
+
labelContainer?: boolean | LineChartReferenceLabelContainerConfig;
|
|
90
|
+
labelFontSize?: number;
|
|
91
|
+
labelPosition?: LineChartReferenceLabelPosition;
|
|
92
|
+
color?: string;
|
|
93
|
+
opacity?: number;
|
|
94
|
+
};
|
|
95
|
+
export type LineChartViewportConfig = {
|
|
96
|
+
startIndex?: number;
|
|
97
|
+
endIndex?: number;
|
|
98
|
+
visiblePoints?: number;
|
|
99
|
+
initialIndex?: ChartViewportInitialIndex;
|
|
100
|
+
};
|
|
101
|
+
export type LineChartRangeSelectorSeriesStyle = {
|
|
102
|
+
color?: string;
|
|
103
|
+
opacity?: number;
|
|
104
|
+
strokeDasharray?: readonly number[] | undefined;
|
|
105
|
+
strokeWidth?: number;
|
|
106
|
+
};
|
|
107
|
+
export type LineChartRangeSelectorWindowRenderProps = {
|
|
108
|
+
x: number;
|
|
109
|
+
y: number;
|
|
110
|
+
width: number;
|
|
111
|
+
height: number;
|
|
112
|
+
radius: number;
|
|
113
|
+
fill: string;
|
|
114
|
+
opacity: number;
|
|
115
|
+
stroke: string;
|
|
116
|
+
strokeOpacity: number;
|
|
117
|
+
strokeWidth: number;
|
|
118
|
+
theme: ResolvedCartesianChartTheme;
|
|
119
|
+
};
|
|
120
|
+
export type LineChartRangeSelectorLineRenderProps = {
|
|
121
|
+
color: string;
|
|
122
|
+
index: number;
|
|
123
|
+
key: string;
|
|
124
|
+
label: string;
|
|
125
|
+
opacity: number;
|
|
126
|
+
path: string;
|
|
127
|
+
strokeDasharray?: readonly number[] | undefined;
|
|
128
|
+
strokeWidth: number;
|
|
129
|
+
theme: ResolvedCartesianChartTheme;
|
|
130
|
+
};
|
|
131
|
+
export type LineChartRangeSelectorHandleRenderProps = {
|
|
132
|
+
side: "start" | "end";
|
|
133
|
+
x: number;
|
|
134
|
+
y: number;
|
|
135
|
+
width: number;
|
|
136
|
+
height: number;
|
|
137
|
+
radius: number;
|
|
138
|
+
color: string;
|
|
139
|
+
opacity: number;
|
|
140
|
+
theme: ResolvedCartesianChartTheme;
|
|
141
|
+
window: LineChartRangeSelectorWindowRenderProps;
|
|
142
|
+
};
|
|
143
|
+
export type LineChartRangeSelectorInteraction = "move" | "resizeStart" | "resizeEnd";
|
|
144
|
+
export type LineChartRangeSelectorGestureEvent = {
|
|
145
|
+
interaction: LineChartRangeSelectorInteraction;
|
|
146
|
+
};
|
|
147
|
+
export type LineChartViewportPanInteraction = "pan";
|
|
148
|
+
export type LineChartViewportPinchZoomInteraction = "pinchZoom";
|
|
149
|
+
export type LineChartViewportInteractionType = LineChartViewportPanInteraction | LineChartViewportPinchZoomInteraction;
|
|
150
|
+
export type LineChartViewportInteractionGestureEvent = {
|
|
151
|
+
interaction: LineChartViewportInteractionType;
|
|
152
|
+
};
|
|
153
|
+
export type LineChartViewportInteractionConfig = {
|
|
154
|
+
pan?: boolean;
|
|
155
|
+
pinchZoom?: boolean;
|
|
156
|
+
minPanDistance?: number;
|
|
157
|
+
minVisiblePoints?: number;
|
|
158
|
+
maxVisiblePoints?: number;
|
|
159
|
+
pinchSensitivity?: number;
|
|
160
|
+
lockParentScroll?: boolean;
|
|
161
|
+
onGestureEnd?: (event: LineChartViewportInteractionGestureEvent) => void;
|
|
162
|
+
onGestureStart?: (event: LineChartViewportInteractionGestureEvent) => void;
|
|
163
|
+
};
|
|
164
|
+
export type LineChartRangeSelectorConfig = {
|
|
165
|
+
visible?: boolean;
|
|
166
|
+
height?: number;
|
|
167
|
+
gap?: number;
|
|
168
|
+
interactive?: boolean;
|
|
169
|
+
minVisiblePoints?: number;
|
|
170
|
+
backgroundFill?: string;
|
|
171
|
+
plotFill?: string;
|
|
172
|
+
plotRadius?: number;
|
|
173
|
+
lineMinStrokeWidth?: number;
|
|
174
|
+
lineStrokeWidth?: number;
|
|
175
|
+
lineStrokeWidthScale?: number;
|
|
176
|
+
series?: Record<string, LineChartRangeSelectorSeriesStyle>;
|
|
177
|
+
outsideFill?: string;
|
|
178
|
+
outsideOpacity?: number;
|
|
179
|
+
windowFill?: string;
|
|
180
|
+
windowOpacity?: number;
|
|
181
|
+
windowRadius?: number;
|
|
182
|
+
windowStroke?: string;
|
|
183
|
+
windowStrokeOpacity?: number;
|
|
184
|
+
windowStrokeWidth?: number;
|
|
185
|
+
lineOpacity?: number;
|
|
186
|
+
handleColor?: string;
|
|
187
|
+
handleHeight?: number;
|
|
188
|
+
handleHitSlop?: number;
|
|
189
|
+
handleInset?: number;
|
|
190
|
+
handleOpacity?: number;
|
|
191
|
+
handleRadius?: number;
|
|
192
|
+
handleWidth?: number;
|
|
193
|
+
renderHandle?: (props: LineChartRangeSelectorHandleRenderProps) => ReactNode;
|
|
194
|
+
renderLine?: (props: LineChartRangeSelectorLineRenderProps) => ReactNode;
|
|
195
|
+
renderWindow?: (props: LineChartRangeSelectorWindowRenderProps) => ReactNode;
|
|
196
|
+
onGestureEnd?: (event: LineChartRangeSelectorGestureEvent) => void;
|
|
197
|
+
onGestureStart?: (event: LineChartRangeSelectorGestureEvent) => void;
|
|
198
|
+
};
|
|
199
|
+
export type LineChartViewportChangeEvent = {
|
|
200
|
+
viewport: LineChartViewportConfig;
|
|
201
|
+
startIndex: number;
|
|
202
|
+
endIndex: number;
|
|
203
|
+
visibleCount: number;
|
|
204
|
+
itemCount: number;
|
|
205
|
+
isWindowed: boolean;
|
|
206
|
+
source: "mainPlot" | "rangeSelector";
|
|
207
|
+
interaction: LineChartRangeSelectorInteraction | LineChartViewportInteractionType;
|
|
208
|
+
};
|
|
209
|
+
export type LineChartLegendRenderItem = {
|
|
210
|
+
index: number;
|
|
211
|
+
key: string;
|
|
212
|
+
label: string;
|
|
213
|
+
color: string;
|
|
214
|
+
x: number;
|
|
215
|
+
y: number;
|
|
216
|
+
width: number;
|
|
217
|
+
height: number;
|
|
218
|
+
contentX: number;
|
|
219
|
+
contentY: number;
|
|
220
|
+
contentWidth: number;
|
|
221
|
+
contentHeight: number;
|
|
222
|
+
markerSize: number;
|
|
223
|
+
marker: LineChartLegendMarker;
|
|
224
|
+
fontSize: number;
|
|
225
|
+
fontFamily?: string;
|
|
226
|
+
labelColor: string;
|
|
227
|
+
labelGap: number;
|
|
228
|
+
paddingHorizontal: number;
|
|
229
|
+
paddingVertical: number;
|
|
230
|
+
strokeDasharray?: readonly number[] | undefined;
|
|
231
|
+
strokeLinecap: LineChartStrokeLinecap;
|
|
232
|
+
strokeOpacity: number;
|
|
233
|
+
strokeWidth: number;
|
|
234
|
+
};
|
|
235
|
+
export type LineChartLegendRenderProps = {
|
|
236
|
+
items: LineChartLegendRenderItem[];
|
|
237
|
+
x: number;
|
|
238
|
+
y: number;
|
|
239
|
+
width: number;
|
|
240
|
+
height: number;
|
|
241
|
+
position: LineChartLegendPosition;
|
|
242
|
+
align: LineChartLegendAlign;
|
|
243
|
+
theme: ResolvedCartesianChartTheme;
|
|
244
|
+
};
|
|
245
|
+
export type LineChartLegendConfig = {
|
|
246
|
+
visible?: boolean;
|
|
247
|
+
position?: LineChartLegendPosition;
|
|
248
|
+
align?: LineChartLegendAlign;
|
|
249
|
+
wrap?: boolean;
|
|
250
|
+
itemGap?: number;
|
|
251
|
+
rowGap?: number;
|
|
252
|
+
padding?: number;
|
|
253
|
+
labelGap?: number;
|
|
254
|
+
itemPaddingHorizontal?: number;
|
|
255
|
+
itemPaddingVertical?: number;
|
|
256
|
+
markerSize?: number;
|
|
257
|
+
marker?: LineChartLegendMarker;
|
|
258
|
+
labelColor?: string;
|
|
259
|
+
fontSize?: number;
|
|
260
|
+
fontFamily?: string;
|
|
261
|
+
renderItem?: (item: LineChartLegendRenderItem) => ReactNode;
|
|
262
|
+
renderLegend?: (props: LineChartLegendRenderProps) => ReactNode;
|
|
263
|
+
};
|
|
264
|
+
export type ResolvedLineChartLegendConfig = {
|
|
265
|
+
visible: boolean;
|
|
266
|
+
position: LineChartLegendPosition;
|
|
267
|
+
align: LineChartLegendAlign;
|
|
268
|
+
wrap: boolean;
|
|
269
|
+
itemGap: number;
|
|
270
|
+
rowGap: number;
|
|
271
|
+
padding: number;
|
|
272
|
+
labelGap: number;
|
|
273
|
+
itemPaddingHorizontal: number;
|
|
274
|
+
itemPaddingVertical: number;
|
|
275
|
+
markerSize: number;
|
|
276
|
+
marker: LineChartLegendMarker;
|
|
277
|
+
labelColor: string;
|
|
278
|
+
fontSize: number;
|
|
279
|
+
fontFamily: string | undefined;
|
|
280
|
+
renderItem: LineChartLegendConfig["renderItem"] | undefined;
|
|
281
|
+
renderLegend: LineChartLegendConfig["renderLegend"] | undefined;
|
|
282
|
+
};
|
|
283
|
+
export type LineChartProps<TData extends Record<string, unknown>> = {
|
|
284
|
+
data: TData[];
|
|
285
|
+
xKey: keyof TData & string;
|
|
286
|
+
yKey?: keyof TData & string;
|
|
287
|
+
yKeys?: Array<keyof TData & string>;
|
|
288
|
+
series?: Array<LineChartSeries<TData>>;
|
|
289
|
+
width: number;
|
|
290
|
+
height: number;
|
|
291
|
+
theme?: ChartKitThemeMode | CartesianChartTheme;
|
|
292
|
+
preset?: CartesianChartPresetValue;
|
|
293
|
+
scrollable?: boolean;
|
|
294
|
+
visiblePoints?: number;
|
|
295
|
+
initialIndex?: ChartViewportInitialIndex;
|
|
296
|
+
viewport?: LineChartViewportConfig;
|
|
297
|
+
onViewportChange?: (event: LineChartViewportChangeEvent) => void;
|
|
298
|
+
viewportInteraction?: boolean | LineChartViewportInteractionConfig;
|
|
299
|
+
rangeSelector?: boolean | LineChartRangeSelectorConfig;
|
|
300
|
+
decimation?: false | "auto" | number | LineChartDecimationConfig;
|
|
301
|
+
curve?: LineCurve;
|
|
302
|
+
connectNulls?: boolean;
|
|
303
|
+
area?: boolean;
|
|
304
|
+
areaFill?: LineChartAreaFillConfig;
|
|
305
|
+
showDots?: boolean;
|
|
306
|
+
dots?: boolean | LineChartDotConfig;
|
|
307
|
+
renderDot?: (props: LineChartDotRenderProps<TData>) => ReactNode;
|
|
308
|
+
selectedIndex?: number;
|
|
309
|
+
defaultSelectedIndex?: number;
|
|
310
|
+
activeDot?: boolean | LineChartDotConfig;
|
|
311
|
+
renderActiveDot?: (props: LineChartDotRenderProps<TData>) => ReactNode;
|
|
312
|
+
interaction?: LineChartInteraction<TData>;
|
|
313
|
+
crosshair?: boolean | LineChartCrosshairConfig;
|
|
314
|
+
renderCrosshair?: (props: LineChartCrosshairRenderProps<TData>) => ReactNode;
|
|
315
|
+
tooltip?: boolean | LineChartTooltipConfig;
|
|
316
|
+
renderTooltip?: (props: LineChartTooltipRenderProps<TData>) => ReactNode;
|
|
317
|
+
referenceLines?: LineChartReferenceLineConfig[];
|
|
318
|
+
referenceBands?: LineChartReferenceBandConfig[];
|
|
319
|
+
showHorizontalGridLines?: boolean;
|
|
320
|
+
showVerticalGridLines?: boolean;
|
|
321
|
+
legend?: boolean | LineChartLegendConfig;
|
|
322
|
+
labelStrategy?: LineChartLabelStrategy;
|
|
323
|
+
labelRotation?: number;
|
|
324
|
+
labelMinGap?: number;
|
|
325
|
+
edgeLabelPolicy?: LineChartEdgeLabelPolicy;
|
|
326
|
+
yDomain?: NumericDomainInput;
|
|
327
|
+
yAxisLabelWidth?: LineChartYAxisLabelWidth;
|
|
328
|
+
axisLabelAnimation?: boolean | LineChartAxisLabelAnimationConfig;
|
|
329
|
+
formatXLabel?: (value: ChartXValue, index: number) => string;
|
|
330
|
+
formatYLabel?: (value: number) => string;
|
|
331
|
+
renderer?: LineChartRenderer;
|
|
332
|
+
id?: string;
|
|
333
|
+
debugLayout?: boolean;
|
|
334
|
+
onLayoutDebug?: (model: LayoutDebugModel) => void;
|
|
335
|
+
accessibilityLabel?: string;
|
|
336
|
+
testID?: string;
|
|
337
|
+
};
|
|
338
|
+
export type LineChartSelectedSeriesItem<TData = unknown> = BaseLineChartSelectedSeriesItem<ProjectedLinePoint<TData>>;
|
|
339
|
+
export type LineChartRendererComponent = ElementType;
|
|
340
|
+
export type LineChartRenderer = {
|
|
341
|
+
ClipRect?: LineChartRendererComponent | undefined;
|
|
342
|
+
Circle: LineChartRendererComponent;
|
|
343
|
+
Defs: LineChartRendererComponent;
|
|
344
|
+
Group: LineChartRendererComponent;
|
|
345
|
+
Layer?: LineChartRendererComponent | undefined;
|
|
346
|
+
Line: LineChartRendererComponent;
|
|
347
|
+
LinearGradient?: LineChartRendererComponent | undefined;
|
|
348
|
+
Path: LineChartRendererComponent;
|
|
349
|
+
Rect: LineChartRendererComponent;
|
|
350
|
+
Surface: LineChartRendererComponent;
|
|
351
|
+
Text: LineChartRendererComponent;
|
|
352
|
+
capabilities?: {
|
|
353
|
+
clipPaths?: boolean;
|
|
354
|
+
gradients?: boolean;
|
|
355
|
+
maxSurfaceWidth?: number;
|
|
356
|
+
pathGradients?: boolean;
|
|
357
|
+
rectClips?: boolean;
|
|
358
|
+
text?: boolean;
|
|
359
|
+
viewportWindowing?: boolean;
|
|
360
|
+
};
|
|
361
|
+
name?: string;
|
|
362
|
+
};
|
|
363
|
+
export type LineChartSelectionModel<TData = unknown> = {
|
|
364
|
+
index: number;
|
|
365
|
+
x: number;
|
|
366
|
+
y: number;
|
|
367
|
+
xLabel: string;
|
|
368
|
+
series: Array<LineChartSelectedSeriesItem<TData>>;
|
|
369
|
+
tooltip: LineChartTooltipRenderProps<TData> | undefined;
|
|
370
|
+
};
|
|
371
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/charts/line/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { LineChartTooltipRenderProps } from "./types";
|
|
2
|
+
export declare const useAnimatedTooltipModel: <TData>(tooltip: LineChartTooltipRenderProps<TData> | undefined) => {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
index: number;
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
xLabel: string;
|
|
9
|
+
series: import("./tooltip").LineChartTooltipSeriesItem<import("../../../core/index").ProjectedLinePoint<TData>>[];
|
|
10
|
+
config: import("./options").ResolvedLineChartTooltipConfig;
|
|
11
|
+
theme: import("../..").ResolvedCartesianChartTheme;
|
|
12
|
+
} | undefined;
|
|
13
|
+
//# sourceMappingURL=useAnimatedTooltipModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAnimatedTooltipModel.d.ts","sourceRoot":"","sources":["../../../src/charts/line/useAnimatedTooltipModel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAI3D,eAAO,MAAM,uBAAuB,GAAI,KAAK,EAC3C,SAAS,2BAA2B,CAAC,KAAK,CAAC,GAAG,SAAS;;;;;;;;;;aAkHxD,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { useEffect, useRef, useState } from "react";
|
|
2
|
+
import { interpolateLineChartTooltipPosition } from "./tooltip";
|
|
3
|
+
const tooltipPositionThreshold = 0.5;
|
|
4
|
+
export const useAnimatedTooltipModel = (tooltip) => {
|
|
5
|
+
const latestPositionRef = useRef(undefined);
|
|
6
|
+
const previousTooltipRef = useRef(undefined);
|
|
7
|
+
const [animatedPosition, setAnimatedPosition] = useState(undefined);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
let animationFrame = 0;
|
|
10
|
+
if (!tooltip) {
|
|
11
|
+
latestPositionRef.current = undefined;
|
|
12
|
+
previousTooltipRef.current = undefined;
|
|
13
|
+
animationFrame = requestAnimationFrame(() => {
|
|
14
|
+
setAnimatedPosition(undefined);
|
|
15
|
+
});
|
|
16
|
+
return () => {
|
|
17
|
+
cancelAnimationFrame(animationFrame);
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
const targetPosition = { x: tooltip.x, y: tooltip.y };
|
|
21
|
+
const currentPosition = latestPositionRef.current ?? targetPosition;
|
|
22
|
+
const hasPreviousTooltip = previousTooltipRef.current !== undefined;
|
|
23
|
+
const positionAnimationDuration = tooltip.config.positionAnimationDuration;
|
|
24
|
+
previousTooltipRef.current = tooltip;
|
|
25
|
+
if (!hasPreviousTooltip) {
|
|
26
|
+
latestPositionRef.current = targetPosition;
|
|
27
|
+
animationFrame = requestAnimationFrame(() => {
|
|
28
|
+
setAnimatedPosition(targetPosition);
|
|
29
|
+
});
|
|
30
|
+
return () => {
|
|
31
|
+
cancelAnimationFrame(animationFrame);
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
if (positionAnimationDuration <= 0) {
|
|
35
|
+
latestPositionRef.current = targetPosition;
|
|
36
|
+
animationFrame = requestAnimationFrame(() => {
|
|
37
|
+
setAnimatedPosition(targetPosition);
|
|
38
|
+
});
|
|
39
|
+
return () => {
|
|
40
|
+
cancelAnimationFrame(animationFrame);
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const deltaX = Math.abs(currentPosition.x - targetPosition.x);
|
|
44
|
+
const deltaY = Math.abs(currentPosition.y - targetPosition.y);
|
|
45
|
+
if (deltaX < tooltipPositionThreshold &&
|
|
46
|
+
deltaY < tooltipPositionThreshold) {
|
|
47
|
+
latestPositionRef.current = targetPosition;
|
|
48
|
+
animationFrame = requestAnimationFrame(() => {
|
|
49
|
+
setAnimatedPosition(targetPosition);
|
|
50
|
+
});
|
|
51
|
+
return () => {
|
|
52
|
+
cancelAnimationFrame(animationFrame);
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
let startTime;
|
|
56
|
+
const tick = (timestamp) => {
|
|
57
|
+
startTime ?? (startTime = timestamp);
|
|
58
|
+
const progress = Math.min((timestamp - startTime) / positionAnimationDuration, 1);
|
|
59
|
+
const nextPosition = interpolateLineChartTooltipPosition({
|
|
60
|
+
from: currentPosition,
|
|
61
|
+
progress,
|
|
62
|
+
to: targetPosition
|
|
63
|
+
});
|
|
64
|
+
latestPositionRef.current = nextPosition;
|
|
65
|
+
setAnimatedPosition(nextPosition);
|
|
66
|
+
if (progress < 1) {
|
|
67
|
+
animationFrame = requestAnimationFrame(tick);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
animationFrame = requestAnimationFrame(tick);
|
|
71
|
+
return () => {
|
|
72
|
+
cancelAnimationFrame(animationFrame);
|
|
73
|
+
};
|
|
74
|
+
}, [tooltip]);
|
|
75
|
+
if (!tooltip) {
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
const position = animatedPosition ?? { x: tooltip.x, y: tooltip.y };
|
|
79
|
+
return {
|
|
80
|
+
...tooltip,
|
|
81
|
+
x: position.x,
|
|
82
|
+
y: position.y
|
|
83
|
+
};
|
|
84
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type LineChartAxisLabelAnimationConfig, type LineChartYAxisLabelModel } from "./axisLabels";
|
|
2
|
+
import type { LineChartModel } from "./useChartModel";
|
|
3
|
+
export declare const useAnimatedYAxisLabels: (labels: LineChartYAxisLabelModel[], animation?: boolean | LineChartAxisLabelAnimationConfig) => LineChartYAxisLabelModel[];
|
|
4
|
+
export declare const useLineChartYAxisLabels: <TData extends Record<string, unknown>>(model: LineChartModel<TData>, animation?: boolean | LineChartAxisLabelAnimationConfig) => LineChartYAxisLabelModel[];
|
|
5
|
+
//# sourceMappingURL=useAnimatedYAxisLabels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAnimatedYAxisLabels.d.ts","sourceRoot":"","sources":["../../../src/charts/line/useAnimatedYAxisLabels.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,iCAAiC,EACtC,KAAK,wBAAwB,EAC9B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAmGtD,eAAO,MAAM,sBAAsB,GACjC,QAAQ,wBAAwB,EAAE,EAClC,YAAY,OAAO,GAAG,iCAAiC,+BAyFxD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3E,OAAO,cAAc,CAAC,KAAK,CAAC,EAC5B,YAAY,OAAO,GAAG,iCAAiC,+BAmBxD,CAAC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { useEffect, useMemo, useRef, useState } from "react";
|
|
2
|
+
import { buildLineChartYAxisLabels, resolveLineChartAxisLabelAnimationConfig } from "./axisLabels";
|
|
3
|
+
const axisLabelPositionThreshold = 0.5;
|
|
4
|
+
const axisLabelOpacityThreshold = 0.01;
|
|
5
|
+
const getAxisLabelSignature = (labels) => labels
|
|
6
|
+
.map((label) => `${label.key}:${label.text}:${label.y.toFixed(2)}`)
|
|
7
|
+
.join("|");
|
|
8
|
+
const interpolateValue = (from, to, progress) => from + (to - from) * progress;
|
|
9
|
+
const easeAxisLabelTransition = (progress) => {
|
|
10
|
+
const clampedProgress = Math.min(Math.max(progress, 0), 1);
|
|
11
|
+
return 1 - Math.pow(1 - clampedProgress, 3);
|
|
12
|
+
};
|
|
13
|
+
const getInterpolatedLabels = ({ from, progress, to }) => {
|
|
14
|
+
const fromByKey = new Map(from.map((label) => [label.key, label]));
|
|
15
|
+
const toByKey = new Map(to.map((label) => [label.key, label]));
|
|
16
|
+
const orderedKeys = [
|
|
17
|
+
...to.map((label) => label.key),
|
|
18
|
+
...from.map((label) => label.key).filter((key) => !toByKey.has(key))
|
|
19
|
+
];
|
|
20
|
+
return orderedKeys
|
|
21
|
+
.map((key) => {
|
|
22
|
+
const fromLabel = fromByKey.get(key);
|
|
23
|
+
const toLabel = toByKey.get(key);
|
|
24
|
+
if (fromLabel && toLabel) {
|
|
25
|
+
return {
|
|
26
|
+
...toLabel,
|
|
27
|
+
y: interpolateValue(fromLabel.y, toLabel.y, progress),
|
|
28
|
+
opacity: interpolateValue(fromLabel.opacity, toLabel.opacity, progress)
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
if (toLabel) {
|
|
32
|
+
return {
|
|
33
|
+
...toLabel,
|
|
34
|
+
opacity: progress
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
if (fromLabel) {
|
|
38
|
+
return {
|
|
39
|
+
...fromLabel,
|
|
40
|
+
opacity: interpolateValue(fromLabel.opacity, 0, progress)
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
return undefined;
|
|
44
|
+
})
|
|
45
|
+
.filter((label) => label !== undefined && label.opacity > axisLabelOpacityThreshold);
|
|
46
|
+
};
|
|
47
|
+
const hasMeaningfulAxisLabelDelta = ({ from, to }) => {
|
|
48
|
+
if (from.length !== to.length) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
return to.some((label, index) => {
|
|
52
|
+
const previousLabel = from[index];
|
|
53
|
+
return (!previousLabel ||
|
|
54
|
+
previousLabel.key !== label.key ||
|
|
55
|
+
previousLabel.text !== label.text ||
|
|
56
|
+
Math.abs(previousLabel.y - label.y) > axisLabelPositionThreshold ||
|
|
57
|
+
Math.abs(previousLabel.opacity - label.opacity) >
|
|
58
|
+
axisLabelOpacityThreshold);
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
export const useAnimatedYAxisLabels = (labels, animation) => {
|
|
62
|
+
const resolvedAnimation = useMemo(() => resolveLineChartAxisLabelAnimationConfig(animation), [animation]);
|
|
63
|
+
const latestLabelsRef = useRef(labels);
|
|
64
|
+
const hasInitialLabelsRef = useRef(false);
|
|
65
|
+
const [animatedLabels, setAnimatedLabels] = useState(labels);
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
let animationFrame = 0;
|
|
68
|
+
const targetLabels = labels;
|
|
69
|
+
const currentLabels = latestLabelsRef.current;
|
|
70
|
+
const targetSignature = getAxisLabelSignature(targetLabels);
|
|
71
|
+
const currentSignature = getAxisLabelSignature(currentLabels);
|
|
72
|
+
if (!hasInitialLabelsRef.current) {
|
|
73
|
+
hasInitialLabelsRef.current = true;
|
|
74
|
+
latestLabelsRef.current = targetLabels;
|
|
75
|
+
setAnimatedLabels(targetLabels);
|
|
76
|
+
return () => {
|
|
77
|
+
cancelAnimationFrame(animationFrame);
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
if (currentSignature === targetSignature ||
|
|
81
|
+
!hasMeaningfulAxisLabelDelta({ from: currentLabels, to: targetLabels })) {
|
|
82
|
+
latestLabelsRef.current = targetLabels;
|
|
83
|
+
return () => {
|
|
84
|
+
cancelAnimationFrame(animationFrame);
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
if (!resolvedAnimation.enabled || resolvedAnimation.duration <= 0) {
|
|
88
|
+
latestLabelsRef.current = targetLabels;
|
|
89
|
+
animationFrame = requestAnimationFrame(() => {
|
|
90
|
+
setAnimatedLabels(targetLabels);
|
|
91
|
+
});
|
|
92
|
+
return () => {
|
|
93
|
+
cancelAnimationFrame(animationFrame);
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
let startTime;
|
|
97
|
+
const tick = (timestamp) => {
|
|
98
|
+
startTime ?? (startTime = timestamp);
|
|
99
|
+
const progress = Math.min((timestamp - startTime) / resolvedAnimation.duration, 1);
|
|
100
|
+
const easedProgress = easeAxisLabelTransition(progress);
|
|
101
|
+
const nextLabels = getInterpolatedLabels({
|
|
102
|
+
from: currentLabels,
|
|
103
|
+
progress: easedProgress,
|
|
104
|
+
to: targetLabels
|
|
105
|
+
});
|
|
106
|
+
latestLabelsRef.current = nextLabels;
|
|
107
|
+
setAnimatedLabels(nextLabels);
|
|
108
|
+
if (progress < 1) {
|
|
109
|
+
animationFrame = requestAnimationFrame(tick);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
latestLabelsRef.current = targetLabels;
|
|
113
|
+
setAnimatedLabels(targetLabels);
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
animationFrame = requestAnimationFrame(tick);
|
|
117
|
+
return () => {
|
|
118
|
+
cancelAnimationFrame(animationFrame);
|
|
119
|
+
};
|
|
120
|
+
}, [
|
|
121
|
+
labels,
|
|
122
|
+
resolvedAnimation.duration,
|
|
123
|
+
resolvedAnimation.enabled,
|
|
124
|
+
resolvedAnimation.strategy
|
|
125
|
+
]);
|
|
126
|
+
return animatedLabels;
|
|
127
|
+
};
|
|
128
|
+
export const useLineChartYAxisLabels = (model, animation) => {
|
|
129
|
+
const labels = useMemo(() => buildLineChartYAxisLabels({
|
|
130
|
+
formatYLabel: model.formatYLabel,
|
|
131
|
+
labelOffset: model.resolvedTheme.typography.axisLabelSize * 0.36,
|
|
132
|
+
ticks: model.yTicks,
|
|
133
|
+
yScale: model.yScale
|
|
134
|
+
}), [
|
|
135
|
+
model.formatYLabel,
|
|
136
|
+
model.resolvedTheme.typography.axisLabelSize,
|
|
137
|
+
model.yScale,
|
|
138
|
+
model.yTicks
|
|
139
|
+
]);
|
|
140
|
+
return useAnimatedYAxisLabels(labels, animation);
|
|
141
|
+
};
|