react-native-chart-kit 7.0.0-next.0 → 7.0.0-next.2
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 +17 -0
- 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 +198 -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 +126 -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 +15 -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 +40 -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 +65 -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/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 +50 -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 +176 -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 +59 -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/viewportInteractionConfig.d.ts +3 -0
- package/dist/v2/react-native/charts/line/viewportInteractionConfig.d.ts.map +1 -0
- package/dist/v2/react-native/charts/line/viewportInteractionConfig.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 +244 -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/panResponder.d.ts +14 -0
- package/dist/v2/react-native/viewport/panResponder.d.ts.map +1 -0
- package/dist/v2/react-native/viewport/panResponder.js +115 -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 +46 -47
- 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,90 @@
|
|
|
1
|
+
const boxesOverlap = (left, right, gap) => {
|
|
2
|
+
return left.x + left.width + gap > right.x;
|
|
3
|
+
};
|
|
4
|
+
const hasOverlap = (labels, indexes, gap) => {
|
|
5
|
+
for (let i = 1; i < indexes.length; i++) {
|
|
6
|
+
const previousIndex = indexes[i - 1];
|
|
7
|
+
const currentIndex = indexes[i];
|
|
8
|
+
if (previousIndex === undefined || currentIndex === undefined) {
|
|
9
|
+
continue;
|
|
10
|
+
}
|
|
11
|
+
const previous = labels[previousIndex];
|
|
12
|
+
const current = labels[currentIndex];
|
|
13
|
+
if (previous && current && boxesOverlap(previous, current, gap)) {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return false;
|
|
18
|
+
};
|
|
19
|
+
const visibleIndexesForInterval = (count, interval) => {
|
|
20
|
+
return Array.from({ length: count }, (_, index) => index).filter((index) => {
|
|
21
|
+
return index === 0 || index === count - 1 || index % interval === 0;
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
export const solveLabelCollision = ({ labels, availableWidth, allowRotate = true, allowStagger = true, minGap = 4, maxRotation = 45 }) => {
|
|
25
|
+
if (labels.length === 0) {
|
|
26
|
+
return {
|
|
27
|
+
strategy: "show",
|
|
28
|
+
visibleIndexes: [],
|
|
29
|
+
interval: 1,
|
|
30
|
+
rotation: 0,
|
|
31
|
+
rows: 1
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
const allIndexes = visibleIndexesForInterval(labels.length, 1);
|
|
35
|
+
if (!hasOverlap(labels, allIndexes, minGap)) {
|
|
36
|
+
return {
|
|
37
|
+
strategy: "show",
|
|
38
|
+
visibleIndexes: allIndexes,
|
|
39
|
+
interval: 1,
|
|
40
|
+
rotation: 0,
|
|
41
|
+
rows: 1
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
if (allowStagger) {
|
|
45
|
+
const rowWidth = labels.reduce((max, label) => Math.max(max, label.width), 0);
|
|
46
|
+
const approximateSlot = availableWidth / Math.max(1, labels.length);
|
|
47
|
+
if (rowWidth + minGap <= approximateSlot * 2) {
|
|
48
|
+
return {
|
|
49
|
+
strategy: "stagger",
|
|
50
|
+
visibleIndexes: allIndexes,
|
|
51
|
+
interval: 1,
|
|
52
|
+
rotation: 0,
|
|
53
|
+
rows: 2
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (allowRotate) {
|
|
58
|
+
const widest = labels.reduce((max, label) => Math.max(max, label.width), 0);
|
|
59
|
+
const rotatedWidth = widest * Math.cos((Math.abs(maxRotation) * Math.PI) / 180);
|
|
60
|
+
const approximateSlot = availableWidth / Math.max(1, labels.length);
|
|
61
|
+
if (rotatedWidth + minGap <= approximateSlot) {
|
|
62
|
+
return {
|
|
63
|
+
strategy: "rotate",
|
|
64
|
+
visibleIndexes: allIndexes,
|
|
65
|
+
interval: 1,
|
|
66
|
+
rotation: maxRotation,
|
|
67
|
+
rows: 1
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
for (let interval = 2; interval <= labels.length; interval++) {
|
|
72
|
+
const visibleIndexes = visibleIndexesForInterval(labels.length, interval);
|
|
73
|
+
if (!hasOverlap(labels, visibleIndexes, minGap)) {
|
|
74
|
+
return {
|
|
75
|
+
strategy: "skip",
|
|
76
|
+
visibleIndexes,
|
|
77
|
+
interval,
|
|
78
|
+
rotation: 0,
|
|
79
|
+
rows: 1
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
strategy: "hide",
|
|
85
|
+
visibleIndexes: [],
|
|
86
|
+
interval: labels.length,
|
|
87
|
+
rotation: 0,
|
|
88
|
+
rows: 0
|
|
89
|
+
};
|
|
90
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { LegendLayout, LegendLayoutOptions } from "./types";
|
|
2
|
+
export declare const layoutLegend: ({ items, position, maxWidth, itemGap, rowGap, padding, labelGap, itemPaddingHorizontal, itemPaddingVertical }: LegendLayoutOptions) => LegendLayout;
|
|
3
|
+
//# sourceMappingURL=legendLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legendLayout.d.ts","sourceRoot":"","sources":["../../src/layout/legendLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAEZ,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,YAAY,GAAI,+GAU1B,mBAAmB,KAAG,YA2CxB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export const layoutLegend = ({ items, position = "bottom", maxWidth, itemGap = 12, rowGap = 8, padding = 0, labelGap = 4, itemPaddingHorizontal = 0, itemPaddingVertical = 0 }) => {
|
|
2
|
+
const layoutItems = [];
|
|
3
|
+
let cursorX = padding;
|
|
4
|
+
let cursorY = padding;
|
|
5
|
+
let rowHeight = 0;
|
|
6
|
+
let width = padding;
|
|
7
|
+
items.forEach((item) => {
|
|
8
|
+
const markerSize = item.markerSize ?? 10;
|
|
9
|
+
const contentWidth = markerSize + labelGap + item.labelWidth;
|
|
10
|
+
const contentHeight = Math.max(markerSize, item.labelHeight);
|
|
11
|
+
const itemWidth = contentWidth + itemPaddingHorizontal * 2;
|
|
12
|
+
const itemHeight = contentHeight + itemPaddingVertical * 2;
|
|
13
|
+
if (cursorX > padding && cursorX + itemWidth > maxWidth - padding) {
|
|
14
|
+
cursorX = padding;
|
|
15
|
+
cursorY += rowHeight + rowGap;
|
|
16
|
+
rowHeight = 0;
|
|
17
|
+
}
|
|
18
|
+
layoutItems.push({
|
|
19
|
+
...item,
|
|
20
|
+
x: cursorX,
|
|
21
|
+
y: cursorY,
|
|
22
|
+
width: itemWidth,
|
|
23
|
+
height: itemHeight,
|
|
24
|
+
contentX: cursorX + itemPaddingHorizontal,
|
|
25
|
+
contentY: cursorY + itemPaddingVertical,
|
|
26
|
+
contentWidth,
|
|
27
|
+
contentHeight
|
|
28
|
+
});
|
|
29
|
+
cursorX += itemWidth + itemGap;
|
|
30
|
+
rowHeight = Math.max(rowHeight, itemHeight);
|
|
31
|
+
width = Math.max(width, cursorX - itemGap + padding);
|
|
32
|
+
});
|
|
33
|
+
return {
|
|
34
|
+
position,
|
|
35
|
+
width: Math.min(maxWidth, width),
|
|
36
|
+
height: items.length === 0 ? 0 : cursorY + rowHeight + padding,
|
|
37
|
+
items: layoutItems
|
|
38
|
+
};
|
|
39
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltipPlacement.d.ts","sourceRoot":"","sources":["../../src/layout/tooltipPlacement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAkEjB,eAAO,MAAM,YAAY,GAAI,uDAK1B,uBAAuB,KAAG,sBAkD5B,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
const clamp = (value, min, max) => {
|
|
2
|
+
if (max < min) {
|
|
3
|
+
return min;
|
|
4
|
+
}
|
|
5
|
+
return Math.min(Math.max(value, min), max);
|
|
6
|
+
};
|
|
7
|
+
const fitsPrimaryAxis = (placement, rect, bounds) => {
|
|
8
|
+
if (placement === "top" || placement === "bottom") {
|
|
9
|
+
return (rect.y >= bounds.y && rect.y + rect.height <= bounds.y + bounds.height);
|
|
10
|
+
}
|
|
11
|
+
return rect.x >= bounds.x && rect.x + rect.width <= bounds.x + bounds.width;
|
|
12
|
+
};
|
|
13
|
+
const place = (placement, options) => {
|
|
14
|
+
const { anchor, tooltip, gap, fingerRadius } = options;
|
|
15
|
+
const offset = gap + fingerRadius;
|
|
16
|
+
if (placement === "top") {
|
|
17
|
+
return {
|
|
18
|
+
x: anchor.x - tooltip.width / 2,
|
|
19
|
+
y: anchor.y - tooltip.height - offset,
|
|
20
|
+
width: tooltip.width,
|
|
21
|
+
height: tooltip.height
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
if (placement === "bottom") {
|
|
25
|
+
return {
|
|
26
|
+
x: anchor.x - tooltip.width / 2,
|
|
27
|
+
y: anchor.y + offset,
|
|
28
|
+
width: tooltip.width,
|
|
29
|
+
height: tooltip.height
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
if (placement === "left") {
|
|
33
|
+
return {
|
|
34
|
+
x: anchor.x - tooltip.width - offset,
|
|
35
|
+
y: anchor.y - tooltip.height / 2,
|
|
36
|
+
width: tooltip.width,
|
|
37
|
+
height: tooltip.height
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
x: anchor.x + offset,
|
|
42
|
+
y: anchor.y - tooltip.height / 2,
|
|
43
|
+
width: tooltip.width,
|
|
44
|
+
height: tooltip.height
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
export const placeTooltip = ({ preferredPlacement = "top", gap = 8, fingerRadius = 0, ...options }) => {
|
|
48
|
+
const resolvedOptions = {
|
|
49
|
+
...options,
|
|
50
|
+
gap,
|
|
51
|
+
fingerRadius
|
|
52
|
+
};
|
|
53
|
+
const candidates = [
|
|
54
|
+
preferredPlacement,
|
|
55
|
+
"top",
|
|
56
|
+
"bottom",
|
|
57
|
+
"right",
|
|
58
|
+
"left"
|
|
59
|
+
];
|
|
60
|
+
const placements = candidates.reduce((unique, placement) => {
|
|
61
|
+
if (!unique.includes(placement)) {
|
|
62
|
+
unique.push(placement);
|
|
63
|
+
}
|
|
64
|
+
return unique;
|
|
65
|
+
}, []);
|
|
66
|
+
const placement = placements.find((candidate) => fitsPrimaryAxis(candidate, place(candidate, resolvedOptions), options.bounds)) ?? preferredPlacement;
|
|
67
|
+
const rect = place(placement, resolvedOptions);
|
|
68
|
+
return {
|
|
69
|
+
placement,
|
|
70
|
+
rect: {
|
|
71
|
+
...rect,
|
|
72
|
+
x: clamp(rect.x, options.bounds.x, options.bounds.x + options.bounds.width - rect.width),
|
|
73
|
+
y: clamp(rect.y, options.bounds.y, options.bounds.y + options.bounds.height - rect.height)
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
};
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
export type Padding = {
|
|
2
|
+
top: number;
|
|
3
|
+
right: number;
|
|
4
|
+
bottom: number;
|
|
5
|
+
left: number;
|
|
6
|
+
};
|
|
7
|
+
export type Rect = {
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
width: number;
|
|
11
|
+
height: number;
|
|
12
|
+
};
|
|
13
|
+
export type Size = {
|
|
14
|
+
width: number;
|
|
15
|
+
height: number;
|
|
16
|
+
};
|
|
17
|
+
export type ChartBoxes = {
|
|
18
|
+
outer: Rect;
|
|
19
|
+
plot: Rect;
|
|
20
|
+
padding: Padding;
|
|
21
|
+
};
|
|
22
|
+
export type LabelBox = Rect & {
|
|
23
|
+
id: string;
|
|
24
|
+
text?: string;
|
|
25
|
+
};
|
|
26
|
+
export type LabelStrategy = "show" | "skip" | "rotate" | "stagger" | "hide";
|
|
27
|
+
export type LabelCollisionResult = {
|
|
28
|
+
strategy: LabelStrategy;
|
|
29
|
+
visibleIndexes: number[];
|
|
30
|
+
interval: number;
|
|
31
|
+
rotation: number;
|
|
32
|
+
rows: number;
|
|
33
|
+
};
|
|
34
|
+
export type LabelCollisionOptions = {
|
|
35
|
+
labels: LabelBox[];
|
|
36
|
+
availableWidth: number;
|
|
37
|
+
allowRotate?: boolean;
|
|
38
|
+
allowStagger?: boolean;
|
|
39
|
+
minGap?: number;
|
|
40
|
+
maxRotation?: number;
|
|
41
|
+
};
|
|
42
|
+
export type LegendItem = {
|
|
43
|
+
id: string;
|
|
44
|
+
label: string;
|
|
45
|
+
markerSize?: number;
|
|
46
|
+
labelWidth: number;
|
|
47
|
+
labelHeight: number;
|
|
48
|
+
};
|
|
49
|
+
export type LegendPosition = "top" | "bottom" | "left" | "right";
|
|
50
|
+
export type LegendLayoutOptions = {
|
|
51
|
+
items: LegendItem[];
|
|
52
|
+
position?: LegendPosition;
|
|
53
|
+
maxWidth: number;
|
|
54
|
+
itemGap?: number;
|
|
55
|
+
rowGap?: number;
|
|
56
|
+
padding?: number;
|
|
57
|
+
labelGap?: number;
|
|
58
|
+
itemPaddingHorizontal?: number;
|
|
59
|
+
itemPaddingVertical?: number;
|
|
60
|
+
};
|
|
61
|
+
export type LegendLayoutItem = LegendItem & Rect & {
|
|
62
|
+
contentX: number;
|
|
63
|
+
contentY: number;
|
|
64
|
+
contentWidth: number;
|
|
65
|
+
contentHeight: number;
|
|
66
|
+
};
|
|
67
|
+
export type LegendLayout = {
|
|
68
|
+
position: LegendPosition;
|
|
69
|
+
width: number;
|
|
70
|
+
height: number;
|
|
71
|
+
items: LegendLayoutItem[];
|
|
72
|
+
};
|
|
73
|
+
export type TooltipPlacement = "top" | "bottom" | "left" | "right";
|
|
74
|
+
export type TooltipPlacementOptions = {
|
|
75
|
+
anchor: {
|
|
76
|
+
x: number;
|
|
77
|
+
y: number;
|
|
78
|
+
};
|
|
79
|
+
tooltip: Size;
|
|
80
|
+
bounds: Rect;
|
|
81
|
+
preferredPlacement?: TooltipPlacement;
|
|
82
|
+
gap?: number;
|
|
83
|
+
fingerRadius?: number;
|
|
84
|
+
};
|
|
85
|
+
export type TooltipPlacementResult = {
|
|
86
|
+
placement: TooltipPlacement;
|
|
87
|
+
rect: Rect;
|
|
88
|
+
};
|
|
89
|
+
export type LayoutDebugRect = Rect & {
|
|
90
|
+
id: string;
|
|
91
|
+
kind: "outer" | "plot" | "axis" | "label" | "legend" | "tooltip";
|
|
92
|
+
text?: string;
|
|
93
|
+
};
|
|
94
|
+
export type LayoutDebugModel = {
|
|
95
|
+
rects: LayoutDebugRect[];
|
|
96
|
+
};
|
|
97
|
+
export type BuildLayoutDebugModelOptions = {
|
|
98
|
+
boxes: ChartBoxes;
|
|
99
|
+
labels?: LabelBox[];
|
|
100
|
+
legend?: LegendLayout;
|
|
101
|
+
tooltip?: TooltipPlacementResult;
|
|
102
|
+
};
|
|
103
|
+
export type AutoPaddingOptions = {
|
|
104
|
+
base?: Partial<Padding>;
|
|
105
|
+
leftLabels?: Size[];
|
|
106
|
+
rightLabels?: Size[];
|
|
107
|
+
topLabels?: Size[];
|
|
108
|
+
bottomLabels?: Size[];
|
|
109
|
+
legend?: Size & {
|
|
110
|
+
position: LegendPosition;
|
|
111
|
+
};
|
|
112
|
+
gap?: number;
|
|
113
|
+
};
|
|
114
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/layout/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { BandScale, PointScale } from "./types";
|
|
2
|
+
export type CreateBandScaleOptions<TValue extends string | number> = {
|
|
3
|
+
domain: TValue[];
|
|
4
|
+
range: [number, number];
|
|
5
|
+
paddingInner?: number;
|
|
6
|
+
paddingOuter?: number;
|
|
7
|
+
};
|
|
8
|
+
export type CreatePointScaleOptions<TValue extends string | number> = {
|
|
9
|
+
domain: TValue[];
|
|
10
|
+
range: [number, number];
|
|
11
|
+
padding?: number;
|
|
12
|
+
};
|
|
13
|
+
export declare const createBandScale: <TValue extends string | number>({ domain, range, paddingInner, paddingOuter }: CreateBandScaleOptions<TValue>) => BandScale<TValue>;
|
|
14
|
+
export declare const createPointScale: <TValue extends string | number>({ domain, range, padding }: CreatePointScaleOptions<TValue>) => PointScale<TValue>;
|
|
15
|
+
//# sourceMappingURL=band.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"band.d.ts","sourceRoot":"","sources":["../../src/scales/band.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErD,MAAM,MAAM,sBAAsB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACnE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACpE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,SAAS,MAAM,GAAG,MAAM,EAAE,+CAK7D,sBAAsB,CAAC,MAAM,CAAC,KAAG,SAAS,CAAC,MAAM,CAmBnD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,SAAS,MAAM,GAAG,MAAM,EAAE,4BAI9D,uBAAuB,CAAC,MAAM,CAAC,KAAG,UAAU,CAAC,MAAM,CAkBrD,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export const createBandScale = ({ domain, range, paddingInner = 0, paddingOuter = 0 }) => {
|
|
2
|
+
const count = domain.length;
|
|
3
|
+
const rangeSpan = range[1] - range[0];
|
|
4
|
+
const denominator = Math.max(1, count - paddingInner + paddingOuter * 2);
|
|
5
|
+
const step = count === 0 ? 0 : rangeSpan / denominator;
|
|
6
|
+
const bandwidth = step * Math.max(0, 1 - paddingInner);
|
|
7
|
+
const positions = new Map();
|
|
8
|
+
domain.forEach((value, index) => {
|
|
9
|
+
positions.set(value, range[0] + step * (paddingOuter + index));
|
|
10
|
+
});
|
|
11
|
+
return {
|
|
12
|
+
domain,
|
|
13
|
+
range,
|
|
14
|
+
bandwidth,
|
|
15
|
+
step,
|
|
16
|
+
scale: (value) => positions.get(value)
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export const createPointScale = ({ domain, range, padding = 0 }) => {
|
|
20
|
+
const count = domain.length;
|
|
21
|
+
const rangeSpan = range[1] - range[0];
|
|
22
|
+
const step = count <= 1 ? 0 : rangeSpan / Math.max(1, count - 1 + padding * 2);
|
|
23
|
+
const offset = count <= 1 ? rangeSpan / 2 : step * padding;
|
|
24
|
+
const positions = new Map();
|
|
25
|
+
domain.forEach((value, index) => {
|
|
26
|
+
positions.set(value, range[0] + offset + step * index);
|
|
27
|
+
});
|
|
28
|
+
return {
|
|
29
|
+
domain,
|
|
30
|
+
range,
|
|
31
|
+
step,
|
|
32
|
+
scale: (value) => positions.get(value)
|
|
33
|
+
};
|
|
34
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { NumericDomainInput, TimeDomainInput } from "./types";
|
|
2
|
+
export declare const resolveNumericDomain: (values: readonly number[], input?: NumericDomainInput) => [number, number];
|
|
3
|
+
export declare const resolveTimeDomain: (values: readonly Date[], input?: TimeDomainInput) => [Date, Date];
|
|
4
|
+
export declare const tickStep: (start: number, stop: number, count: number) => number;
|
|
5
|
+
export declare const niceNumericDomain: (domain: [number, number], count?: number) => [number, number];
|
|
6
|
+
//# sourceMappingURL=domain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../src/scales/domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAElB,eAAe,EAEhB,MAAM,SAAS,CAAC;AAuCjB,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,SAAS,MAAM,EAAE,EACzB,QAAO,kBAA2B,KACjC,CAAC,MAAM,EAAE,MAAM,CA0BjB,CAAC;AAyBF,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,SAAS,IAAI,EAAE,EACvB,QAAO,eAAwB,KAC9B,CAAC,IAAI,EAAE,IAAI,CA6Bb,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,OAAO,MAAM,EACb,MAAM,MAAM,EACZ,OAAO,MAAM,KACZ,MAmBF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,cAAS,KACR,CAAC,MAAM,EAAE,MAAM,CASjB,CAAC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
const finiteValues = (values) => {
|
|
2
|
+
return values.filter((value) => Number.isFinite(value));
|
|
3
|
+
};
|
|
4
|
+
const expandDegenerateDomain = ([min, max]) => {
|
|
5
|
+
if (min !== max) {
|
|
6
|
+
return [min, max];
|
|
7
|
+
}
|
|
8
|
+
if (min === 0) {
|
|
9
|
+
return [-1, 1];
|
|
10
|
+
}
|
|
11
|
+
const padding = Math.abs(min) * 0.5;
|
|
12
|
+
return [min - padding, max + padding];
|
|
13
|
+
};
|
|
14
|
+
const resolveNumericDomainValue = (value, dataMin, dataMax, fallback) => {
|
|
15
|
+
if (value === "dataMin") {
|
|
16
|
+
return dataMin;
|
|
17
|
+
}
|
|
18
|
+
if (value === "dataMax") {
|
|
19
|
+
return dataMax;
|
|
20
|
+
}
|
|
21
|
+
return typeof value === "number" && Number.isFinite(value) ? value : fallback;
|
|
22
|
+
};
|
|
23
|
+
export const resolveNumericDomain = (values, input = "auto") => {
|
|
24
|
+
const finite = finiteValues(values);
|
|
25
|
+
const dataMin = finite.length > 0 ? Math.min(...finite) : 0;
|
|
26
|
+
const dataMax = finite.length > 0 ? Math.max(...finite) : 0;
|
|
27
|
+
if (input === "auto") {
|
|
28
|
+
return expandDegenerateDomain([dataMin, dataMax]);
|
|
29
|
+
}
|
|
30
|
+
if (Array.isArray(input)) {
|
|
31
|
+
return expandDegenerateDomain([
|
|
32
|
+
resolveNumericDomainValue(input[0], dataMin, dataMax, dataMin),
|
|
33
|
+
resolveNumericDomainValue(input[1], dataMin, dataMax, dataMax)
|
|
34
|
+
]);
|
|
35
|
+
}
|
|
36
|
+
let min = resolveNumericDomainValue(input.min, dataMin, dataMax, dataMin);
|
|
37
|
+
let max = resolveNumericDomainValue(input.max, dataMin, dataMax, dataMax);
|
|
38
|
+
if (input.includeZero) {
|
|
39
|
+
min = Math.min(min, 0);
|
|
40
|
+
max = Math.max(max, 0);
|
|
41
|
+
}
|
|
42
|
+
const domain = expandDegenerateDomain([min, max]);
|
|
43
|
+
return input.nice ? niceNumericDomain(domain) : domain;
|
|
44
|
+
};
|
|
45
|
+
const resolveTimeInput = (value, dataMin, dataMax, fallback) => {
|
|
46
|
+
if (value === "dataMin") {
|
|
47
|
+
return dataMin;
|
|
48
|
+
}
|
|
49
|
+
if (value === "dataMax") {
|
|
50
|
+
return dataMax;
|
|
51
|
+
}
|
|
52
|
+
if (value === undefined) {
|
|
53
|
+
return fallback;
|
|
54
|
+
}
|
|
55
|
+
const date = value instanceof Date ? value : new Date(value);
|
|
56
|
+
return Number.isFinite(date.valueOf()) ? date : fallback;
|
|
57
|
+
};
|
|
58
|
+
export const resolveTimeDomain = (values, input = "auto") => {
|
|
59
|
+
const validTimes = values
|
|
60
|
+
.map((value) => value.valueOf())
|
|
61
|
+
.filter((value) => Number.isFinite(value));
|
|
62
|
+
const dataMin = new Date(validTimes.length > 0 ? Math.min(...validTimes) : 0);
|
|
63
|
+
const dataMax = new Date(validTimes.length > 0 ? Math.max(...validTimes) : 0);
|
|
64
|
+
let domain;
|
|
65
|
+
if (input === "auto") {
|
|
66
|
+
domain = [dataMin, dataMax];
|
|
67
|
+
}
|
|
68
|
+
else if (Array.isArray(input)) {
|
|
69
|
+
domain = [
|
|
70
|
+
resolveTimeInput(input[0], dataMin, dataMax, dataMin),
|
|
71
|
+
resolveTimeInput(input[1], dataMin, dataMax, dataMax)
|
|
72
|
+
];
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
domain = [
|
|
76
|
+
resolveTimeInput(input.min, dataMin, dataMax, dataMin),
|
|
77
|
+
resolveTimeInput(input.max, dataMin, dataMax, dataMax)
|
|
78
|
+
];
|
|
79
|
+
}
|
|
80
|
+
if (domain[0].valueOf() === domain[1].valueOf()) {
|
|
81
|
+
const center = domain[0].valueOf();
|
|
82
|
+
return [new Date(center - 1), new Date(center + 1)];
|
|
83
|
+
}
|
|
84
|
+
return domain;
|
|
85
|
+
};
|
|
86
|
+
export const tickStep = (start, stop, count) => {
|
|
87
|
+
const rawStep = Math.abs(stop - start) / Math.max(0, count);
|
|
88
|
+
if (!Number.isFinite(rawStep) || rawStep === 0) {
|
|
89
|
+
return 0;
|
|
90
|
+
}
|
|
91
|
+
const power = Math.floor(Math.log10(rawStep));
|
|
92
|
+
const error = rawStep / Math.pow(10, power);
|
|
93
|
+
const factor = error >= Math.sqrt(50)
|
|
94
|
+
? 10
|
|
95
|
+
: error >= Math.sqrt(10)
|
|
96
|
+
? 5
|
|
97
|
+
: error >= Math.sqrt(2)
|
|
98
|
+
? 2
|
|
99
|
+
: 1;
|
|
100
|
+
return factor * Math.pow(10, power);
|
|
101
|
+
};
|
|
102
|
+
export const niceNumericDomain = (domain, count = 5) => {
|
|
103
|
+
const [min, max] = domain;
|
|
104
|
+
const step = tickStep(min, max, count);
|
|
105
|
+
if (step === 0) {
|
|
106
|
+
return expandDegenerateDomain(domain);
|
|
107
|
+
}
|
|
108
|
+
return [Math.floor(min / step) * step, Math.ceil(max / step) * step];
|
|
109
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { createBandScale, createPointScale } from "./band";
|
|
2
|
+
export { niceNumericDomain, resolveNumericDomain, resolveTimeDomain, tickStep } from "./domain";
|
|
3
|
+
export { createLinearScale } from "./linear";
|
|
4
|
+
export { generateLinearTicks, generateTimeTicks } from "./ticks";
|
|
5
|
+
export { createTimeScale } from "./time";
|
|
6
|
+
export type { BandScale, ContinuousScale, DomainKeyword, LinearScale, LinearTickOptions, NumericDomainInput, NumericDomainValue, PointScale, TimeDomainInput, TimeDomainValue, TimeScale, TimeTickOptions, TimeTickUnit } from "./types";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scales/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,QAAQ,EACT,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,YAAY,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,eAAe,EACf,SAAS,EACT,eAAe,EACf,YAAY,EACb,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { createBandScale, createPointScale } from "./band";
|
|
2
|
+
export { niceNumericDomain, resolveNumericDomain, resolveTimeDomain, tickStep } from "./domain";
|
|
3
|
+
export { createLinearScale } from "./linear";
|
|
4
|
+
export { generateLinearTicks, generateTimeTicks } from "./ticks";
|
|
5
|
+
export { createTimeScale } from "./time";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { LinearScale, NumericDomainInput } from "./types";
|
|
2
|
+
export type CreateLinearScaleOptions = {
|
|
3
|
+
domain?: NumericDomainInput;
|
|
4
|
+
values?: readonly number[];
|
|
5
|
+
range: [number, number];
|
|
6
|
+
};
|
|
7
|
+
export declare const createLinearScale: ({ domain, values, range }: CreateLinearScaleOptions) => LinearScale;
|
|
8
|
+
//# sourceMappingURL=linear.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../src/scales/linear.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE/D,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,2BAI/B,wBAAwB,KAAG,WAuB7B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { resolveNumericDomain } from "./domain";
|
|
2
|
+
export const createLinearScale = ({ domain = "auto", values = [], range }) => {
|
|
3
|
+
const resolvedDomain = resolveNumericDomain(values, domain);
|
|
4
|
+
const domainSpan = resolvedDomain[1] - resolvedDomain[0];
|
|
5
|
+
const rangeSpan = range[1] - range[0];
|
|
6
|
+
return {
|
|
7
|
+
domain: resolvedDomain,
|
|
8
|
+
range,
|
|
9
|
+
scale: (value) => {
|
|
10
|
+
if (domainSpan === 0) {
|
|
11
|
+
return range[0];
|
|
12
|
+
}
|
|
13
|
+
return range[0] + ((value - resolvedDomain[0]) / domainSpan) * rangeSpan;
|
|
14
|
+
},
|
|
15
|
+
invert: (value) => {
|
|
16
|
+
if (rangeSpan === 0) {
|
|
17
|
+
return resolvedDomain[0];
|
|
18
|
+
}
|
|
19
|
+
return resolvedDomain[0] + ((value - range[0]) / rangeSpan) * domainSpan;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { LinearTickOptions, TimeTickOptions } from "./types";
|
|
2
|
+
export declare const generateLinearTicks: ({ count, domain }?: LinearTickOptions) => number[];
|
|
3
|
+
export declare const generateTimeTicks: ({ count, domain, unit }?: TimeTickOptions) => Date[];
|
|
4
|
+
//# sourceMappingURL=ticks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ticks.d.ts","sourceRoot":"","sources":["../../src/scales/ticks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AAEhF,eAAO,MAAM,mBAAmB,GAAI,oBAGjC,iBAAsB,KAAG,MAAM,EAqBjC,CAAC;AA+EF,eAAO,MAAM,iBAAiB,GAAI,0BAI/B,eAAoB,KAAG,IAAI,EAqB7B,CAAC"}
|