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,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":"AAAA,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAE5E,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEjE,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,UAAU,GACvC,IAAI,GAAG;IACL,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEJ,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnE,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,IAAI,CAAC;IACb,kBAAkB,CAAC,EAAE,gBAAgB,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,IAAI,GAAG;QAAE,QAAQ,EAAE,cAAc,CAAA;KAAE,CAAC;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC"}
|
|
@@ -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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { tickStep } from "./domain";
|
|
2
|
+
export const generateLinearTicks = ({ count = 5, domain = [0, 1] } = {}) => {
|
|
3
|
+
const [start, stop] = domain;
|
|
4
|
+
const reverse = stop < start;
|
|
5
|
+
const min = reverse ? stop : start;
|
|
6
|
+
const max = reverse ? start : stop;
|
|
7
|
+
const step = tickStep(min, max, Math.max(1, count));
|
|
8
|
+
if (step === 0) {
|
|
9
|
+
return [start];
|
|
10
|
+
}
|
|
11
|
+
const first = Math.ceil(min / step) * step;
|
|
12
|
+
const ticks = [];
|
|
13
|
+
const epsilon = step * 1e-10;
|
|
14
|
+
for (let value = first; value <= max + epsilon; value += step) {
|
|
15
|
+
ticks.push(Number(value.toPrecision(12)));
|
|
16
|
+
}
|
|
17
|
+
return reverse ? ticks.reverse() : ticks;
|
|
18
|
+
};
|
|
19
|
+
const timeUnitMs = {
|
|
20
|
+
millisecond: 1,
|
|
21
|
+
second: 1000,
|
|
22
|
+
minute: 60000,
|
|
23
|
+
hour: 3600000,
|
|
24
|
+
day: 86400000,
|
|
25
|
+
week: 604800000,
|
|
26
|
+
month: 2592000000,
|
|
27
|
+
year: 31536000000
|
|
28
|
+
};
|
|
29
|
+
const chooseTimeUnit = (span, count) => {
|
|
30
|
+
const target = span / Math.max(1, count);
|
|
31
|
+
if (target <= timeUnitMs.second)
|
|
32
|
+
return "second";
|
|
33
|
+
if (target <= timeUnitMs.minute)
|
|
34
|
+
return "minute";
|
|
35
|
+
if (target <= timeUnitMs.hour)
|
|
36
|
+
return "hour";
|
|
37
|
+
if (target <= timeUnitMs.day)
|
|
38
|
+
return "day";
|
|
39
|
+
if (target <= timeUnitMs.week * 2)
|
|
40
|
+
return "week";
|
|
41
|
+
if (target <= timeUnitMs.year)
|
|
42
|
+
return "month";
|
|
43
|
+
return "year";
|
|
44
|
+
};
|
|
45
|
+
const floorDateToUnit = (date, unit) => {
|
|
46
|
+
const next = new Date(date);
|
|
47
|
+
if (unit === "year") {
|
|
48
|
+
return new Date(next.getFullYear(), 0, 1);
|
|
49
|
+
}
|
|
50
|
+
if (unit === "month") {
|
|
51
|
+
return new Date(next.getFullYear(), next.getMonth(), 1);
|
|
52
|
+
}
|
|
53
|
+
if (unit === "week") {
|
|
54
|
+
const start = new Date(next.getFullYear(), next.getMonth(), next.getDate());
|
|
55
|
+
start.setDate(start.getDate() - start.getDay());
|
|
56
|
+
return start;
|
|
57
|
+
}
|
|
58
|
+
if (unit === "day") {
|
|
59
|
+
return new Date(next.getFullYear(), next.getMonth(), next.getDate());
|
|
60
|
+
}
|
|
61
|
+
if (unit === "hour") {
|
|
62
|
+
next.setMinutes(0, 0, 0);
|
|
63
|
+
return next;
|
|
64
|
+
}
|
|
65
|
+
if (unit === "minute") {
|
|
66
|
+
next.setSeconds(0, 0);
|
|
67
|
+
return next;
|
|
68
|
+
}
|
|
69
|
+
if (unit === "second") {
|
|
70
|
+
next.setMilliseconds(0);
|
|
71
|
+
return next;
|
|
72
|
+
}
|
|
73
|
+
return next;
|
|
74
|
+
};
|
|
75
|
+
const addTimeUnit = (date, unit) => {
|
|
76
|
+
const next = new Date(date);
|
|
77
|
+
if (unit === "year")
|
|
78
|
+
next.setFullYear(next.getFullYear() + 1);
|
|
79
|
+
else if (unit === "month")
|
|
80
|
+
next.setMonth(next.getMonth() + 1);
|
|
81
|
+
else if (unit === "week")
|
|
82
|
+
next.setDate(next.getDate() + 7);
|
|
83
|
+
else if (unit === "day")
|
|
84
|
+
next.setDate(next.getDate() + 1);
|
|
85
|
+
else if (unit === "hour")
|
|
86
|
+
next.setHours(next.getHours() + 1);
|
|
87
|
+
else if (unit === "minute")
|
|
88
|
+
next.setMinutes(next.getMinutes() + 1);
|
|
89
|
+
else if (unit === "second")
|
|
90
|
+
next.setSeconds(next.getSeconds() + 1);
|
|
91
|
+
else
|
|
92
|
+
next.setMilliseconds(next.getMilliseconds() + 1);
|
|
93
|
+
return next;
|
|
94
|
+
};
|
|
95
|
+
export const generateTimeTicks = ({ count = 5, domain = [new Date(0), new Date(1)], unit } = {}) => {
|
|
96
|
+
const [start, stop] = domain;
|
|
97
|
+
const reverse = stop.valueOf() < start.valueOf();
|
|
98
|
+
const min = reverse ? stop : start;
|
|
99
|
+
const max = reverse ? start : stop;
|
|
100
|
+
const resolvedUnit = unit ?? chooseTimeUnit(max.valueOf() - min.valueOf(), count);
|
|
101
|
+
const ticks = [];
|
|
102
|
+
let cursor = floorDateToUnit(min, resolvedUnit);
|
|
103
|
+
if (cursor.valueOf() < min.valueOf()) {
|
|
104
|
+
cursor = addTimeUnit(cursor, resolvedUnit);
|
|
105
|
+
}
|
|
106
|
+
while (cursor.valueOf() <= max.valueOf()) {
|
|
107
|
+
ticks.push(cursor);
|
|
108
|
+
cursor = addTimeUnit(cursor, resolvedUnit);
|
|
109
|
+
}
|
|
110
|
+
return reverse ? ticks.reverse() : ticks;
|
|
111
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TimeDomainInput, TimeScale } from "./types";
|
|
2
|
+
export type CreateTimeScaleOptions = {
|
|
3
|
+
domain?: TimeDomainInput;
|
|
4
|
+
values?: readonly Date[];
|
|
5
|
+
range: [number, number];
|
|
6
|
+
};
|
|
7
|
+
export declare const createTimeScale: ({ domain, values, range }: CreateTimeScaleOptions) => TimeScale;
|
|
8
|
+
//# sourceMappingURL=time.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/scales/time.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE1D,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,MAAM,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,2BAI7B,sBAAsB,KAAG,SA4B3B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { resolveTimeDomain } from "./domain";
|
|
2
|
+
export const createTimeScale = ({ domain = "auto", values = [], range }) => {
|
|
3
|
+
const resolvedDomain = resolveTimeDomain(values, domain);
|
|
4
|
+
const domainMin = resolvedDomain[0].valueOf();
|
|
5
|
+
const domainSpan = resolvedDomain[1].valueOf() - domainMin;
|
|
6
|
+
const rangeSpan = range[1] - range[0];
|
|
7
|
+
return {
|
|
8
|
+
domain: resolvedDomain,
|
|
9
|
+
range,
|
|
10
|
+
scale: (value) => {
|
|
11
|
+
if (domainSpan === 0) {
|
|
12
|
+
return range[0];
|
|
13
|
+
}
|
|
14
|
+
return (range[0] + ((value.valueOf() - domainMin) / domainSpan) * rangeSpan);
|
|
15
|
+
},
|
|
16
|
+
invert: (value) => {
|
|
17
|
+
if (rangeSpan === 0) {
|
|
18
|
+
return new Date(domainMin);
|
|
19
|
+
}
|
|
20
|
+
return new Date(domainMin + ((value - range[0]) / rangeSpan) * domainSpan);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export type DomainKeyword = "dataMin" | "dataMax";
|
|
2
|
+
export type NumericDomainValue = number | DomainKeyword;
|
|
3
|
+
export type TimeDomainValue = Date | number | string | DomainKeyword;
|
|
4
|
+
export type NumericDomainInput = "auto" | [NumericDomainValue, NumericDomainValue] | {
|
|
5
|
+
min?: NumericDomainValue;
|
|
6
|
+
max?: NumericDomainValue;
|
|
7
|
+
includeZero?: boolean;
|
|
8
|
+
nice?: boolean;
|
|
9
|
+
};
|
|
10
|
+
export type TimeDomainInput = "auto" | [TimeDomainValue, TimeDomainValue] | {
|
|
11
|
+
min?: TimeDomainValue;
|
|
12
|
+
max?: TimeDomainValue;
|
|
13
|
+
nice?: boolean;
|
|
14
|
+
};
|
|
15
|
+
export type ContinuousScale<TInput> = {
|
|
16
|
+
domain: [TInput, TInput];
|
|
17
|
+
range: [number, number];
|
|
18
|
+
scale: (value: TInput) => number;
|
|
19
|
+
invert: (value: number) => TInput;
|
|
20
|
+
};
|
|
21
|
+
export type LinearScale = ContinuousScale<number>;
|
|
22
|
+
export type TimeScale = ContinuousScale<Date>;
|
|
23
|
+
export type BandScale<TValue extends string | number = string | number> = {
|
|
24
|
+
domain: TValue[];
|
|
25
|
+
range: [number, number];
|
|
26
|
+
bandwidth: number;
|
|
27
|
+
step: number;
|
|
28
|
+
scale: (value: TValue) => number | undefined;
|
|
29
|
+
};
|
|
30
|
+
export type PointScale<TValue extends string | number = string | number> = {
|
|
31
|
+
domain: TValue[];
|
|
32
|
+
range: [number, number];
|
|
33
|
+
step: number;
|
|
34
|
+
scale: (value: TValue) => number | undefined;
|
|
35
|
+
};
|
|
36
|
+
export type LinearTickOptions = {
|
|
37
|
+
count?: number;
|
|
38
|
+
domain?: [number, number];
|
|
39
|
+
};
|
|
40
|
+
export type TimeTickUnit = "millisecond" | "second" | "minute" | "hour" | "day" | "week" | "month" | "year";
|
|
41
|
+
export type TimeTickOptions = {
|
|
42
|
+
count?: number;
|
|
43
|
+
domain?: [Date, Date];
|
|
44
|
+
unit?: TimeTickUnit;
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/scales/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,aAAa,CAAC;AACxD,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,GACxC;IACE,GAAG,CAAC,EAAE,kBAAkB,CAAC;IACzB,GAAG,CAAC,EAAE,kBAAkB,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEN,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,CAAC,eAAe,EAAE,eAAe,CAAC,GAClC;IACE,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEN,MAAM,MAAM,eAAe,CAAC,MAAM,IAAI;IACpC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;AAClD,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAE9C,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IACxE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IACzE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,YAAY,GACpB,aAAa,GACb,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,KAAK,GACL,MAAM,GACN,OAAO,GACP,MAAM,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtB,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./react-native/index";
|
package/dist/v2/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./react-native/index";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { BarChartProps } from "./types";
|
|
2
|
+
export type * from "./types";
|
|
3
|
+
export { getBarChartAccessibilitySummary, getBarChartDataTable } from "./accessibility";
|
|
4
|
+
export type { BarChartDataTable, BarChartDataTableColumn, BarChartDataTableRow } from "./accessibility";
|
|
5
|
+
export declare const BarChart: <TData extends Record<string, unknown>>(props: BarChartProps<TData>) => import("react").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=BarChart.d.ts.map
|