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,37 @@
|
|
|
1
|
+
const DEFAULT_FONT_SIZE = 12;
|
|
2
|
+
const DEFAULT_WIDTH_FACTOR = 0.56;
|
|
3
|
+
const BOLD_WIDTH_FACTOR = 0.6;
|
|
4
|
+
const isBold = (fontWeight) => {
|
|
5
|
+
if (fontWeight === undefined || fontWeight === "normal") {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
if (fontWeight === "bold") {
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
return Number(fontWeight) >= 600;
|
|
12
|
+
};
|
|
13
|
+
export const measureSvgTextFallback = (text, options = {}) => {
|
|
14
|
+
const fontSize = options.fontSize ?? DEFAULT_FONT_SIZE;
|
|
15
|
+
const lineHeight = options.lineHeight ?? fontSize * 1.2;
|
|
16
|
+
const letterSpacing = options.letterSpacing ?? 0;
|
|
17
|
+
const widthFactor = isBold(options.fontWeight)
|
|
18
|
+
? BOLD_WIDTH_FACTOR
|
|
19
|
+
: DEFAULT_WIDTH_FACTOR;
|
|
20
|
+
const lines = text.length > 0 ? text.split("\n") : [""];
|
|
21
|
+
const rawWidth = lines.reduce((max, line) => {
|
|
22
|
+
const spacing = Math.max(0, line.length - 1) * letterSpacing;
|
|
23
|
+
return Math.max(max, line.length * fontSize * widthFactor + spacing);
|
|
24
|
+
}, 0);
|
|
25
|
+
return {
|
|
26
|
+
width: options.maxWidth === undefined
|
|
27
|
+
? rawWidth
|
|
28
|
+
: Math.min(rawWidth, options.maxWidth),
|
|
29
|
+
height: lines.length * lineHeight
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
export const createSvgTextMeasurer = (defaults = {}) => {
|
|
33
|
+
return (text, options = {}) => measureSvgTextFallback(text, {
|
|
34
|
+
...defaults,
|
|
35
|
+
...options
|
|
36
|
+
});
|
|
37
|
+
};
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import type { ComponentType, ReactNode } from "react";
|
|
2
|
+
import type { CircleProps, GProps, LineProps, LinearGradientProps, PathProps, RectProps, StopProps, SvgProps, TextProps } from "react-native-svg";
|
|
3
|
+
import type { ChartRenderLayerName } from "./layerOrder";
|
|
4
|
+
export type SvgTextMeasurementOptions = {
|
|
5
|
+
fontFamily?: TextProps["fontFamily"];
|
|
6
|
+
fontSize?: number;
|
|
7
|
+
fontWeight?: TextProps["fontWeight"];
|
|
8
|
+
lineHeight?: number;
|
|
9
|
+
letterSpacing?: number;
|
|
10
|
+
maxWidth?: number;
|
|
11
|
+
};
|
|
12
|
+
export type SvgMeasuredText = {
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
};
|
|
16
|
+
export type SvgTextMeasurer = (text: string, options?: SvgTextMeasurementOptions) => SvgMeasuredText;
|
|
17
|
+
export type SvgTestableProps = {
|
|
18
|
+
testID?: string;
|
|
19
|
+
};
|
|
20
|
+
export type SvgSurfaceProps = SvgProps & SvgTestableProps & {
|
|
21
|
+
width: number;
|
|
22
|
+
height: number;
|
|
23
|
+
children?: ReactNode;
|
|
24
|
+
};
|
|
25
|
+
export type SvgGroupProps = GProps & SvgTestableProps & {
|
|
26
|
+
children?: ReactNode;
|
|
27
|
+
};
|
|
28
|
+
export type SvgPathProps = PathProps & SvgTestableProps;
|
|
29
|
+
export type SvgRectProps = RectProps & SvgTestableProps;
|
|
30
|
+
export type SvgHitRegionProps = Omit<RectProps, "fill" | "fillOpacity"> & SvgTestableProps & {
|
|
31
|
+
disabled?: boolean;
|
|
32
|
+
fill?: RectProps["fill"];
|
|
33
|
+
fillOpacity?: RectProps["fillOpacity"];
|
|
34
|
+
height: number;
|
|
35
|
+
width: number;
|
|
36
|
+
x: number;
|
|
37
|
+
y: number;
|
|
38
|
+
};
|
|
39
|
+
export type SvgCircleProps = CircleProps & SvgTestableProps;
|
|
40
|
+
export type SvgTextProps = TextProps & SvgTestableProps;
|
|
41
|
+
export type SvgLineProps = LineProps & SvgTestableProps;
|
|
42
|
+
export type SvgSymbolShape = "circle" | "square" | "diamond" | "line";
|
|
43
|
+
export type SvgSymbolProps = SvgTestableProps & {
|
|
44
|
+
shape: SvgSymbolShape;
|
|
45
|
+
x: number;
|
|
46
|
+
y: number;
|
|
47
|
+
size: number;
|
|
48
|
+
fill?: string;
|
|
49
|
+
stroke?: string;
|
|
50
|
+
strokeWidth?: number;
|
|
51
|
+
opacity?: number;
|
|
52
|
+
strokeLinecap?: LineProps["strokeLinecap"];
|
|
53
|
+
cornerRadius?: number;
|
|
54
|
+
};
|
|
55
|
+
export type SvgLayerProps = SvgGroupProps & {
|
|
56
|
+
name: ChartRenderLayerName;
|
|
57
|
+
};
|
|
58
|
+
export type SvgDefsProps = {
|
|
59
|
+
children?: ReactNode;
|
|
60
|
+
};
|
|
61
|
+
export type SvgClipRectProps = SvgTestableProps & {
|
|
62
|
+
id: string;
|
|
63
|
+
x: number;
|
|
64
|
+
y: number;
|
|
65
|
+
width: number;
|
|
66
|
+
height: number;
|
|
67
|
+
};
|
|
68
|
+
export type SvgSpacing = number | {
|
|
69
|
+
bottom?: number;
|
|
70
|
+
left?: number;
|
|
71
|
+
right?: number;
|
|
72
|
+
top?: number;
|
|
73
|
+
};
|
|
74
|
+
export type SvgClipPolicyInput = {
|
|
75
|
+
enabled?: boolean;
|
|
76
|
+
height: number;
|
|
77
|
+
id: string;
|
|
78
|
+
inset?: SvgSpacing;
|
|
79
|
+
width: number;
|
|
80
|
+
x: number;
|
|
81
|
+
y: number;
|
|
82
|
+
};
|
|
83
|
+
export type SvgClipPolicy = {
|
|
84
|
+
clipPath: string;
|
|
85
|
+
clipRect: SvgClipRectProps;
|
|
86
|
+
enabled: true;
|
|
87
|
+
} | {
|
|
88
|
+
clipPath?: undefined;
|
|
89
|
+
clipRect?: undefined;
|
|
90
|
+
enabled: false;
|
|
91
|
+
};
|
|
92
|
+
export type SvgGradientStop = {
|
|
93
|
+
offset: NonNullable<StopProps["offset"]>;
|
|
94
|
+
color: string;
|
|
95
|
+
opacity?: number;
|
|
96
|
+
};
|
|
97
|
+
export type SvgLinearGradientDefProps = Omit<LinearGradientProps, "children"> & SvgTestableProps & {
|
|
98
|
+
id: string;
|
|
99
|
+
stops: SvgGradientStop[];
|
|
100
|
+
};
|
|
101
|
+
export type SvgRendererOptions = {
|
|
102
|
+
capabilities?: Partial<SvgRendererCapabilities>;
|
|
103
|
+
measureText?: SvgTextMeasurer;
|
|
104
|
+
textMeasurement?: SvgTextMeasurementOptions;
|
|
105
|
+
};
|
|
106
|
+
export type SvgRendererCapabilities = {
|
|
107
|
+
animation: "none" | "reactNative";
|
|
108
|
+
clipPaths: boolean;
|
|
109
|
+
gradients: boolean;
|
|
110
|
+
hitRegions: boolean;
|
|
111
|
+
layers: boolean;
|
|
112
|
+
shadows: boolean;
|
|
113
|
+
symbols: boolean;
|
|
114
|
+
testIds: boolean;
|
|
115
|
+
textMeasurement: "fallback" | "custom";
|
|
116
|
+
};
|
|
117
|
+
export type SvgRenderer = {
|
|
118
|
+
Surface: ComponentType<SvgSurfaceProps>;
|
|
119
|
+
Group: ComponentType<SvgGroupProps>;
|
|
120
|
+
Path: ComponentType<SvgPathProps>;
|
|
121
|
+
Rect: ComponentType<SvgRectProps>;
|
|
122
|
+
HitRegion: ComponentType<SvgHitRegionProps>;
|
|
123
|
+
Circle: ComponentType<SvgCircleProps>;
|
|
124
|
+
Symbol: ComponentType<SvgSymbolProps>;
|
|
125
|
+
Text: ComponentType<SvgTextProps>;
|
|
126
|
+
Line: ComponentType<SvgLineProps>;
|
|
127
|
+
Layer: ComponentType<SvgLayerProps>;
|
|
128
|
+
Defs: ComponentType<SvgDefsProps>;
|
|
129
|
+
ClipRect: ComponentType<SvgClipRectProps>;
|
|
130
|
+
LinearGradient: ComponentType<SvgLinearGradientDefProps>;
|
|
131
|
+
capabilities: SvgRendererCapabilities;
|
|
132
|
+
measureText: SvgTextMeasurer;
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-chart-kit",
|
|
3
|
-
"version": "7.0.0-next.
|
|
3
|
+
"version": "7.0.0-next.3",
|
|
4
4
|
"workspaces": [
|
|
5
5
|
"packages/*",
|
|
6
|
-
"apps/
|
|
6
|
+
"apps/site"
|
|
7
7
|
],
|
|
8
8
|
"devDependencies": {
|
|
9
9
|
"@eslint/js": "^9.39.4",
|
|
10
|
-
"@playwright/test": "^1.59.1",
|
|
11
10
|
"@react-native-community/cli": "^20.1.3",
|
|
12
11
|
"@types/node": "^25.6.0",
|
|
13
12
|
"@types/react": "^19.2.14",
|
|
13
|
+
"@vitest/coverage-v8": "^4.1.5",
|
|
14
14
|
"eslint": "^9.39.4",
|
|
15
15
|
"eslint-plugin-react": "^7.37.5",
|
|
16
16
|
"eslint-plugin-react-hooks": "^7.1.1",
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"husky": "^9.1.7",
|
|
19
19
|
"lint-staged": "^16.4.0",
|
|
20
20
|
"prettier": "^3.8.3",
|
|
21
|
+
"prettier-plugin-astro": "^0.14.1",
|
|
21
22
|
"react": "^19.2.5",
|
|
22
23
|
"react-native": "^0.83.9",
|
|
23
24
|
"react-native-svg": "^15.15.4",
|
|
@@ -28,13 +29,31 @@
|
|
|
28
29
|
"main": "./dist/index.js",
|
|
29
30
|
"types": "./dist/index.d.ts",
|
|
30
31
|
"typings": "./dist/index.d.ts",
|
|
32
|
+
"exports": {
|
|
33
|
+
".": {
|
|
34
|
+
"types": "./dist/index.d.ts",
|
|
35
|
+
"import": "./dist/index.js",
|
|
36
|
+
"default": "./dist/index.js"
|
|
37
|
+
},
|
|
38
|
+
"./v2": {
|
|
39
|
+
"types": "./v2/index.d.ts",
|
|
40
|
+
"import": "./v2/index.js",
|
|
41
|
+
"default": "./v2/index.js"
|
|
42
|
+
},
|
|
43
|
+
"./package.json": "./package.json"
|
|
44
|
+
},
|
|
45
|
+
"typesVersions": {
|
|
46
|
+
"*": {
|
|
47
|
+
"v2": [
|
|
48
|
+
"v2/index.d.ts",
|
|
49
|
+
"dist/v2/index.d.ts"
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
},
|
|
31
53
|
"files": [
|
|
32
54
|
"dist",
|
|
33
|
-
"
|
|
55
|
+
"v2"
|
|
34
56
|
],
|
|
35
|
-
"bin": {
|
|
36
|
-
"chartkit-codemod": "./scripts/chartkit-codemod.mjs"
|
|
37
|
-
},
|
|
38
57
|
"publishConfig": {
|
|
39
58
|
"access": "public",
|
|
40
59
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -44,75 +63,62 @@
|
|
|
44
63
|
"filesize:check": "node scripts/check-file-sizes.mjs",
|
|
45
64
|
"format": "prettier --write .",
|
|
46
65
|
"format:check": "prettier --check .",
|
|
47
|
-
"surface:check": "node scripts/verify-public-surface.mjs && node scripts/verify-package-boundaries.mjs && node scripts/verify-
|
|
66
|
+
"surface:check": "node scripts/verify-public-surface.mjs && node scripts/verify-package-boundaries.mjs && node scripts/verify-private-surface-imports.mjs",
|
|
48
67
|
"security:audit": "npm audit --audit-level=high",
|
|
49
68
|
"boundaries:check": "node scripts/verify-package-boundaries.mjs",
|
|
50
69
|
"pack:check": "node scripts/check-package-packs.mjs",
|
|
51
70
|
"test": "npm run typecheck && npm run test:unit && npm run test:compat",
|
|
52
71
|
"test:unit": "vitest run --exclude \"packages/**/test/compat/**/*.test.ts\"",
|
|
53
|
-
"test:
|
|
72
|
+
"test:coverage": "vitest run --coverage",
|
|
54
73
|
"test:compat": "vitest run packages/core/test/compat",
|
|
55
|
-
"
|
|
56
|
-
"typecheck": "tsc --noEmit && npm run core:typecheck && npm run svg:typecheck && npm run skia:typecheck && npm run pro:typecheck && npm run rn:typecheck && npm run showcase:typecheck",
|
|
74
|
+
"typecheck": "tsc --noEmit && npm run core:typecheck && npm run svg:typecheck && npm run rn:typecheck",
|
|
57
75
|
"core:typecheck": "tsc -p packages/core/tsconfig.json --noEmit && tsc -p packages/core/tsconfig.test.json --noEmit",
|
|
58
76
|
"core:build": "tsc -p packages/core/tsconfig.json",
|
|
59
77
|
"svg:typecheck": "tsc -p packages/svg-renderer/tsconfig.json --noEmit && tsc -p packages/svg-renderer/tsconfig.test.json --noEmit",
|
|
60
78
|
"svg:build": "tsc -p packages/svg-renderer/tsconfig.json",
|
|
61
|
-
"skia:typecheck": "tsc -p packages/skia-renderer/tsconfig.json --noEmit && tsc -p packages/skia-renderer/tsconfig.test.json --noEmit",
|
|
62
|
-
"skia:build": "tsc -p packages/skia-renderer/tsconfig.json",
|
|
63
|
-
"skia:parity": "vitest run packages/skia-renderer/test/skia-renderer.test.ts packages/react-native/test/line-renderer.test.ts packages/react-native/test/bar-renderer.test.ts packages/react-native/test/pie-renderer.test.ts packages/react-native/test/progress-renderer.test.ts packages/react-native/test/contribution-renderer.test.ts packages/react-native/test/combined-renderer.test.ts packages/react-native/test/candlestick-renderer.test.ts",
|
|
64
|
-
"skia:native:dry-run": "node scripts/run-skia-native-release-check.mjs --platform all --dry-run",
|
|
65
|
-
"skia:native:release": "node scripts/run-skia-native-release-check.mjs --platform all",
|
|
66
|
-
"pro:typecheck": "tsc -p packages/pro/tsconfig.json --noEmit && tsc -p packages/pro/tsconfig.test.json --noEmit",
|
|
67
|
-
"pro:build": "tsc -p packages/pro/tsconfig.json",
|
|
68
79
|
"rn:typecheck": "tsc -p packages/react-native/tsconfig.json --noEmit && tsc -p packages/react-native/tsconfig.test.json --noEmit",
|
|
69
80
|
"rn:build": "tsc -p packages/react-native/tsconfig.build.json",
|
|
70
|
-
"benchmark": "npm run benchmark:core-geometry
|
|
81
|
+
"benchmark": "npm run benchmark:core-geometry",
|
|
71
82
|
"benchmark:core-geometry": "node scripts/benchmark-core-line.mjs",
|
|
72
83
|
"benchmark:core-line": "node scripts/benchmark-core-line.mjs",
|
|
73
|
-
"benchmark:showcase-interaction": "npm run showcase:build && playwright test -c apps/expo-showcase/benchmark.config.ts",
|
|
74
|
-
"showcase": "npm --workspace @chart-kit/expo-showcase run web --",
|
|
75
|
-
"showcase:build": "npm --workspace @chart-kit/expo-showcase run web:build",
|
|
76
|
-
"showcase:typecheck": "npm --workspace @chart-kit/expo-showcase run typecheck",
|
|
77
|
-
"expo:typecheck": "npm --workspace @chart-kit/expo-showcase run typecheck",
|
|
78
|
-
"visual:test": "npm run showcase:build && playwright test -c apps/expo-showcase/playwright.config.ts",
|
|
79
|
-
"visual:update": "npm run showcase:build && playwright test -c apps/expo-showcase/playwright.config.ts --update-snapshots",
|
|
80
|
-
"e2e:test": "npm run showcase:build && playwright test -c apps/expo-showcase/playwright.config.ts apps/expo-showcase/visual/chart-interaction.spec.ts",
|
|
81
|
-
"example:ios": "npm --workspace @chart-kit/expo-showcase run ios --",
|
|
82
|
-
"example:android": "npm --workspace @chart-kit/expo-showcase run android --",
|
|
83
|
-
"example:expo": "npm --workspace @chart-kit/expo-showcase run start --",
|
|
84
84
|
"example:rn-cli:typecheck": "tsc -p examples/rn-cli-basic/tsconfig.json --noEmit",
|
|
85
85
|
"example:rn-cli:native:dry-run": "node scripts/run-rn-cli-native-check.mjs --platform all --dry-run",
|
|
86
86
|
"example:rn-cli:android": "node scripts/run-rn-cli-native-check.mjs --platform android",
|
|
87
87
|
"example:rn-cli:ios": "node scripts/run-rn-cli-native-check.mjs --platform ios",
|
|
88
|
-
"native:release": "node scripts/run-expo-native-release-check.mjs --platform all",
|
|
89
|
-
"native:release:android": "node scripts/run-expo-native-release-check.mjs --platform android",
|
|
90
|
-
"native:release:ios": "node scripts/run-expo-native-release-check.mjs --platform ios",
|
|
91
|
-
"native:release:dry-run": "node scripts/run-expo-native-release-check.mjs --platform all --dry-run",
|
|
92
|
-
"release:native-workflow:record": "node scripts/record-native-workflow-evidence.mjs",
|
|
93
|
-
"release:owner:record": "node scripts/record-owner-gate-decision.mjs",
|
|
94
|
-
"release:publish:evidence": "node scripts/record-npm-publish-evidence.mjs",
|
|
95
|
-
"release:publish:status": "node scripts/check-npm-publish-state.mjs",
|
|
96
|
-
"release:preview:publish:preflight": "npm run release:preview:gate && npm run build && npm run pack:check && npm run release:publish:status -- --expect partial",
|
|
97
|
-
"release:preview:gate": "node scripts/check-release-gates.mjs --preview --strict",
|
|
98
|
-
"release:preview:gate:report": "node scripts/check-release-gates.mjs --preview",
|
|
99
|
-
"release:gate": "node scripts/check-release-gates.mjs --strict",
|
|
100
|
-
"release:gate:report": "node scripts/check-release-gates.mjs",
|
|
101
88
|
"docs:build": "node scripts/docs-build.mjs && node scripts/typecheck-doc-examples.mjs",
|
|
102
|
-
"
|
|
89
|
+
"site": "node scripts/run-site-server.mjs dev",
|
|
90
|
+
"site:build": "npm --workspace @chart-kit/site run build",
|
|
91
|
+
"site:preview": "node scripts/run-site-server.mjs preview",
|
|
103
92
|
"clean": "node scripts/clean-dist.mjs",
|
|
104
|
-
"build": "npm run clean && npm run core:build && npm run svg:build && npm run
|
|
93
|
+
"build": "npm run clean && npm run core:build && npm run svg:build && npm run rn:build && tsc && node scripts/assemble-root-modern-dist.mjs",
|
|
105
94
|
"dev": "tsc --watch",
|
|
106
95
|
"prepare": "npm run build && husky"
|
|
107
96
|
},
|
|
108
97
|
"peerDependencies": {
|
|
109
|
-
"react": ">=19.
|
|
110
|
-
"react-native": ">=0.
|
|
111
|
-
"react-native-svg": ">=15.
|
|
98
|
+
"react": ">=19.1.0 <20",
|
|
99
|
+
"react-native": ">=0.81 <1",
|
|
100
|
+
"react-native-svg": ">=15.12.1 <16"
|
|
112
101
|
},
|
|
113
102
|
"dependencies": {
|
|
114
103
|
"paths-js": "^0.4.11"
|
|
115
104
|
},
|
|
105
|
+
"overrides": {
|
|
106
|
+
"astro": {
|
|
107
|
+
"esbuild": "0.28.1"
|
|
108
|
+
},
|
|
109
|
+
"joi": "17.13.4",
|
|
110
|
+
"shell-quote": "1.8.4",
|
|
111
|
+
"vite": {
|
|
112
|
+
".": "^7.3.3",
|
|
113
|
+
"esbuild": "0.28.1"
|
|
114
|
+
},
|
|
115
|
+
"volar-service-yaml": {
|
|
116
|
+
"yaml-language-server": "1.23.0"
|
|
117
|
+
},
|
|
118
|
+
"yaml-language-server": {
|
|
119
|
+
"yaml": "2.8.3"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
116
122
|
"lint-staged": {
|
|
117
123
|
"*.{js,jsx,ts,tsx}": [
|
|
118
124
|
"eslint --fix",
|
|
@@ -124,9 +130,9 @@
|
|
|
124
130
|
"node": ">=20.19.4"
|
|
125
131
|
},
|
|
126
132
|
"license": "MIT",
|
|
127
|
-
"homepage": "https://github.com/
|
|
133
|
+
"homepage": "https://github.com/chart-kit/react-native-chart-kit",
|
|
128
134
|
"repository": {
|
|
129
135
|
"type": "git",
|
|
130
|
-
"url": "git+https://github.com/
|
|
136
|
+
"url": "git+https://github.com/chart-kit/react-native-chart-kit.git"
|
|
131
137
|
}
|
|
132
138
|
}
|
package/v2/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../dist/v2/index";
|
package/v2/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../dist/v2/index.js";
|
package/v2/package.json
ADDED
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { readdir, readFile, stat, writeFile } from "node:fs/promises";
|
|
3
|
-
import path from "node:path";
|
|
4
|
-
import process from "node:process";
|
|
5
|
-
import { pathToFileURL } from "node:url";
|
|
6
|
-
|
|
7
|
-
export const legacyChartComponents = [
|
|
8
|
-
"LineChart",
|
|
9
|
-
"BarChart",
|
|
10
|
-
"StackedBarChart",
|
|
11
|
-
"PieChart",
|
|
12
|
-
"ProgressChart",
|
|
13
|
-
"ContributionGraph"
|
|
14
|
-
];
|
|
15
|
-
|
|
16
|
-
const sourceExtensions = new Set([".js", ".jsx", ".ts", ".tsx"]);
|
|
17
|
-
const ignoredDirectoryNames = new Set([
|
|
18
|
-
".git",
|
|
19
|
-
".tmp",
|
|
20
|
-
"build",
|
|
21
|
-
"dist",
|
|
22
|
-
"node_modules"
|
|
23
|
-
]);
|
|
24
|
-
const unsupportedLegacyProps = [
|
|
25
|
-
"decorator",
|
|
26
|
-
"getDotProps",
|
|
27
|
-
"renderDotContent",
|
|
28
|
-
"tooltipDataAttrs"
|
|
29
|
-
];
|
|
30
|
-
|
|
31
|
-
export const importsReactNativeChartKit = (source) =>
|
|
32
|
-
/from\s+["']react-native-chart-kit["']/.test(source) ||
|
|
33
|
-
/require\(\s*["']react-native-chart-kit["']\s*\)/.test(source);
|
|
34
|
-
|
|
35
|
-
const getImportedLegacyComponents = (source) => {
|
|
36
|
-
const imported = new Set();
|
|
37
|
-
const namedImportPattern =
|
|
38
|
-
/import\s+\{(?<names>[^}]+)\}\s+from\s+["']react-native-chart-kit["']/g;
|
|
39
|
-
let match;
|
|
40
|
-
|
|
41
|
-
while ((match = namedImportPattern.exec(source)) !== null) {
|
|
42
|
-
const names = match.groups?.names ?? "";
|
|
43
|
-
|
|
44
|
-
for (const name of names.split(",")) {
|
|
45
|
-
const localName = name
|
|
46
|
-
.trim()
|
|
47
|
-
.split(/\s+as\s+/i)
|
|
48
|
-
.at(-1)
|
|
49
|
-
?.trim();
|
|
50
|
-
|
|
51
|
-
if (localName && legacyChartComponents.includes(localName)) {
|
|
52
|
-
imported.add(localName);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const requirePattern =
|
|
58
|
-
/(?:const|let|var)\s+\{(?<names>[^}]+)\}\s*=\s*require\(\s*["']react-native-chart-kit["']\s*\)/g;
|
|
59
|
-
|
|
60
|
-
while ((match = requirePattern.exec(source)) !== null) {
|
|
61
|
-
const names = match.groups?.names ?? "";
|
|
62
|
-
|
|
63
|
-
for (const name of names.split(",")) {
|
|
64
|
-
const localName = name
|
|
65
|
-
.trim()
|
|
66
|
-
.split(/\s*:\s*/)
|
|
67
|
-
.at(-1)
|
|
68
|
-
?.trim();
|
|
69
|
-
|
|
70
|
-
if (localName && legacyChartComponents.includes(localName)) {
|
|
71
|
-
imported.add(localName);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return imported;
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
const getLineNumber = (source, index) =>
|
|
80
|
-
source.slice(0, index).split("\n").length;
|
|
81
|
-
|
|
82
|
-
const collectWarnings = ({ filePath, source }) => {
|
|
83
|
-
const warnings = [];
|
|
84
|
-
|
|
85
|
-
for (const prop of unsupportedLegacyProps) {
|
|
86
|
-
const pattern = new RegExp(`\\b${prop}\\s*=`, "g");
|
|
87
|
-
let match;
|
|
88
|
-
|
|
89
|
-
while ((match = pattern.exec(source)) !== null) {
|
|
90
|
-
warnings.push({
|
|
91
|
-
filePath,
|
|
92
|
-
line: getLineNumber(source, match.index),
|
|
93
|
-
message: `${prop} is preserved, but should be manually reviewed for the modern composable API.`
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
if (
|
|
99
|
-
/import\s+\*\s+as\s+\w+\s+from\s+["']react-native-chart-kit["']/.test(
|
|
100
|
-
source
|
|
101
|
-
)
|
|
102
|
-
) {
|
|
103
|
-
warnings.push({
|
|
104
|
-
filePath,
|
|
105
|
-
line: 1,
|
|
106
|
-
message:
|
|
107
|
-
"Namespace imports are detected but not rewritten; review ChartKit.LineChart-style usages manually."
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
return warnings;
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
export const transformV1ToV2Source = (source) => {
|
|
115
|
-
if (!importsReactNativeChartKit(source)) {
|
|
116
|
-
return {
|
|
117
|
-
changed: false,
|
|
118
|
-
source
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
const importedComponents = getImportedLegacyComponents(source);
|
|
123
|
-
|
|
124
|
-
if (importedComponents.size === 0) {
|
|
125
|
-
return {
|
|
126
|
-
changed: false,
|
|
127
|
-
source
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
const componentAlternation = [...importedComponents].join("|");
|
|
132
|
-
const openingTagPattern = new RegExp(
|
|
133
|
-
`<(?<name>${componentAlternation})(?<attrs>\\s[^<>]*?)?(?<closing>\\/?)>`,
|
|
134
|
-
"g"
|
|
135
|
-
);
|
|
136
|
-
const nextSource = source.replace(
|
|
137
|
-
openingTagPattern,
|
|
138
|
-
(fullMatch, name, attrs = "", closing) => {
|
|
139
|
-
if (/\bcompatibility\s*=/.test(attrs)) {
|
|
140
|
-
return fullMatch;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
return `<${name} compatibility="v1"${attrs}${closing}>`;
|
|
144
|
-
}
|
|
145
|
-
);
|
|
146
|
-
|
|
147
|
-
return {
|
|
148
|
-
changed: nextSource !== source,
|
|
149
|
-
source: nextSource
|
|
150
|
-
};
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
const collectSourceFiles = async (entry) => {
|
|
154
|
-
const absolutePath = path.resolve(entry);
|
|
155
|
-
const entryStat = await stat(absolutePath);
|
|
156
|
-
|
|
157
|
-
if (entryStat.isFile()) {
|
|
158
|
-
return sourceExtensions.has(path.extname(absolutePath))
|
|
159
|
-
? [absolutePath]
|
|
160
|
-
: [];
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
if (!entryStat.isDirectory()) {
|
|
164
|
-
return [];
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
const children = await readdir(absolutePath, { withFileTypes: true });
|
|
168
|
-
const nested = await Promise.all(
|
|
169
|
-
children.map((child) => {
|
|
170
|
-
if (child.isDirectory() && ignoredDirectoryNames.has(child.name)) {
|
|
171
|
-
return [];
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
return collectSourceFiles(path.join(absolutePath, child.name));
|
|
175
|
-
})
|
|
176
|
-
);
|
|
177
|
-
|
|
178
|
-
return nested.flat();
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
const runV1ToV2 = async ({ check, entries }) => {
|
|
182
|
-
const files = (await Promise.all(entries.map(collectSourceFiles))).flat();
|
|
183
|
-
const changedFiles = [];
|
|
184
|
-
const warnings = [];
|
|
185
|
-
|
|
186
|
-
for (const filePath of files) {
|
|
187
|
-
const source = await readFile(filePath, "utf8");
|
|
188
|
-
const result = transformV1ToV2Source(source);
|
|
189
|
-
|
|
190
|
-
warnings.push(...collectWarnings({ filePath, source }));
|
|
191
|
-
|
|
192
|
-
if (!result.changed) {
|
|
193
|
-
continue;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
changedFiles.push(filePath);
|
|
197
|
-
|
|
198
|
-
if (!check) {
|
|
199
|
-
await writeFile(filePath, result.source, "utf8");
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
return {
|
|
204
|
-
changedFiles,
|
|
205
|
-
checkedFiles: files.length,
|
|
206
|
-
warnings
|
|
207
|
-
};
|
|
208
|
-
};
|
|
209
|
-
|
|
210
|
-
const printUsage = () => {
|
|
211
|
-
console.log(`Usage:
|
|
212
|
-
chartkit-codemod v1-to-v2 <path...> [--check]
|
|
213
|
-
|
|
214
|
-
Examples:
|
|
215
|
-
npx chartkit-codemod v1-to-v2 ./src
|
|
216
|
-
npx chartkit-codemod v1-to-v2 ./src --check`);
|
|
217
|
-
};
|
|
218
|
-
|
|
219
|
-
export const runCli = async (argv) => {
|
|
220
|
-
const [, , command, ...rest] = argv;
|
|
221
|
-
const check = rest.includes("--check");
|
|
222
|
-
const entries = rest.filter((item) => item !== "--check");
|
|
223
|
-
|
|
224
|
-
if (command !== "v1-to-v2" || entries.length === 0) {
|
|
225
|
-
printUsage();
|
|
226
|
-
return 1;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
const result = await runV1ToV2({ check, entries });
|
|
230
|
-
|
|
231
|
-
for (const warning of result.warnings) {
|
|
232
|
-
console.warn(
|
|
233
|
-
`${path.relative(process.cwd(), warning.filePath)}:${warning.line}: ${warning.message}`
|
|
234
|
-
);
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
const action = check ? "would update" : "updated";
|
|
238
|
-
console.log(
|
|
239
|
-
`chartkit-codemod v1-to-v2 checked ${result.checkedFiles} files; ${action} ${result.changedFiles.length}.`
|
|
240
|
-
);
|
|
241
|
-
|
|
242
|
-
for (const filePath of result.changedFiles) {
|
|
243
|
-
console.log(`- ${path.relative(process.cwd(), filePath)}`);
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
return check && result.changedFiles.length > 0 ? 1 : 0;
|
|
247
|
-
};
|
|
248
|
-
|
|
249
|
-
const invokedUrl = process.argv[1]
|
|
250
|
-
? pathToFileURL(path.resolve(process.argv[1])).href
|
|
251
|
-
: "";
|
|
252
|
-
|
|
253
|
-
if (import.meta.url === invokedUrl) {
|
|
254
|
-
const exitCode = await runCli(process.argv);
|
|
255
|
-
process.exit(exitCode);
|
|
256
|
-
}
|