vccs 0.6.0 → 1.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +25 -0
- package/README.md +133 -112
- package/dist/animation/ActiveDot.d.ts +14 -0
- package/dist/animation/MovingLabels.d.ts +57 -0
- package/dist/animation/SweepClip.d.ts +56 -0
- package/dist/animation/gridTransition.d.ts +38 -0
- package/dist/animation/motion.d.ts +78 -0
- package/dist/animation/ridingLabels.d.ts +29 -0
- package/dist/animation/useAnimationCallbacks.d.ts +5 -0
- package/dist/animation/useKeyedTransition.d.ts +86 -0
- package/dist/animation/usePointTransition.d.ts +40 -0
- package/dist/animation/useReducedMotion.d.ts +2 -0
- package/dist/animation/useTickMotion.d.ts +22 -0
- package/dist/cartesian/ActivePoints.d.ts +71 -0
- package/dist/cartesian/GraphicalItemClipPath.d.ts +27 -2
- package/dist/cartesian/area/Area.d.ts +229 -14
- package/dist/cartesian/area/RenderArea.d.ts +1 -16
- package/dist/cartesian/area/hooks/useArea.d.ts +13 -18
- package/dist/cartesian/area/type.d.ts +32 -81
- package/dist/cartesian/axis/AxisProps.d.ts +101 -0
- package/dist/cartesian/axis/XAxis.d.ts +144 -83
- package/dist/cartesian/axis/YAxis.d.ts +152 -94
- package/dist/cartesian/bar/Bar.d.ts +229 -2
- package/dist/cartesian/bar/components/BarBackground.d.ts +1 -1
- package/dist/cartesian/bar/hooks/useBar.d.ts +31 -15
- package/dist/cartesian/bar/type.d.ts +46 -77
- package/dist/cartesian/brush/Brush.d.ts +150 -2
- package/dist/cartesian/brush/components/BrushText.d.ts +7 -7
- package/dist/cartesian/brush/components/Panorama.d.ts +7 -5
- package/dist/cartesian/brush/components/Slide.d.ts +4 -4
- package/dist/cartesian/brush/components/TravellerLayer.d.ts +21 -13
- package/dist/cartesian/brush/hooks/useBrushHandlers.d.ts +3 -4
- package/dist/cartesian/brush/hooks/useBrushState.d.ts +16 -16
- package/dist/cartesian/brush/type.d.ts +14 -33
- package/dist/cartesian/brush/utils.d.ts +5 -6
- package/dist/cartesian/cartesian-axis/CartesianAxis.d.ts +37 -63
- package/dist/cartesian/cartesian-grid/Background.d.ts +1 -1
- package/dist/cartesian/cartesian-grid/CartesianGrid.d.ts +68 -16
- package/dist/cartesian/cartesian-grid/HorizontalGridLines.d.ts +18 -11
- package/dist/cartesian/cartesian-grid/HorizontalStripes.d.ts +6 -5
- package/dist/cartesian/cartesian-grid/VerticalGridLines.d.ts +17 -10
- package/dist/cartesian/cartesian-grid/VerticalStripes.d.ts +6 -5
- package/dist/cartesian/cartesian-grid/const.d.ts +2 -6
- package/dist/cartesian/cartesian-grid/type.d.ts +21 -30
- package/dist/cartesian/cartesian-grid/utils.d.ts +3 -1
- package/dist/cartesian/cartesianPositionToCSSTranslate.d.ts +1 -1
- package/dist/cartesian/error-bar/ErrorBar.d.ts +11 -30
- package/dist/cartesian/error-bar/ErrorBarContext.d.ts +12 -15
- package/dist/cartesian/funnel/Funnel.d.ts +161 -2
- package/dist/cartesian/funnel/type.d.ts +20 -57
- package/dist/cartesian/getCartesianPosition.d.ts +1 -3
- package/dist/cartesian/line/Line.d.ts +177 -77
- package/dist/cartesian/line/StaticLine.d.ts +0 -15
- package/dist/cartesian/line/hooks/useLine.d.ts +14 -15
- package/dist/cartesian/line/type.d.ts +52 -104
- package/dist/cartesian/reference-area/ReferenceArea.d.ts +42 -90
- package/dist/cartesian/reference-dot/ReferenceDot.d.ts +21 -63
- package/dist/cartesian/reference-line/ReferenceLine.d.ts +35 -67
- package/dist/cartesian/scatter/Scatter.d.ts +72 -53
- package/dist/cartesian/scatter/hooks/useScatter.d.ts +6 -5
- package/dist/cartesian/scatter/type.d.ts +89 -0
- package/dist/cartesian/useNeedsClip.d.ts +3 -2
- package/dist/cartesian/utils/get-ticks.d.ts +5 -6
- package/dist/cartesian/z-axis/ZAxis.d.ts +20 -21
- package/dist/chart/AreaChart.d.ts +231 -1
- package/dist/chart/BarChart.d.ts +231 -1
- package/dist/chart/BarList.d.ts +172 -0
- package/dist/chart/CalendarHeatmap.d.ts +308 -0
- package/dist/chart/CellGridLayer.d.ts +136 -0
- package/dist/chart/ChartShell.d.ts +85 -0
- package/dist/chart/ChartWrapper.d.ts +167 -0
- package/dist/chart/ChartsWrapper.d.ts +75 -87
- package/dist/chart/CohortChart.d.ts +254 -0
- package/dist/chart/ComposedChart.d.ts +231 -1
- package/dist/chart/FunnelChart.d.ts +201 -1
- package/dist/chart/Heatmap.d.ts +687 -0
- package/dist/chart/JourneySankey.d.ts +261 -0
- package/dist/chart/LineChart.d.ts +231 -1
- package/dist/chart/PieChart.d.ts +243 -1
- package/dist/chart/RadarChart.d.ts +243 -1
- package/dist/chart/RadialBarChart.d.ts +273 -1
- package/dist/chart/Sankey.d.ts +85 -157
- package/dist/chart/ScatterChart.d.ts +231 -1
- package/dist/chart/Sparkline.d.ts +257 -0
- package/dist/chart/SunburstChart.d.ts +101 -132
- package/dist/chart/Tracker.d.ts +211 -0
- package/dist/chart/Treemap.d.ts +101 -147
- package/dist/chart/cellGridProps.d.ts +40 -0
- package/dist/chart/cellGridUtils.d.ts +53 -0
- package/dist/chart/chartProps.d.ts +402 -0
- package/dist/chart/chartRoot.d.ts +144 -0
- package/dist/chart/const.d.ts +0 -2
- package/dist/chart/directChartTypes.d.ts +13 -0
- package/dist/chart/journeyTypes.d.ts +99 -0
- package/dist/chart/journeyUtils.d.ts +102 -0
- package/dist/chart/sankeyUtils.d.ts +2 -2
- package/dist/chart/shell.d.ts +14 -0
- package/dist/chart/sunburstUtils.d.ts +7 -3
- package/dist/chart/treemapUtils.d.ts +8 -6
- package/dist/componentNames.d.ts +2 -0
- package/dist/components/Cell.d.ts +1 -1
- package/dist/components/Customized.d.ts +12 -7
- package/dist/components/Text.d.ts +31 -31
- package/dist/components/label/Label.d.ts +14 -26
- package/dist/components/label/LabelList.d.ts +24 -14
- package/dist/components/label/LabelListView.d.ts +23 -0
- package/dist/components/label/LabelView.d.ts +79 -0
- package/dist/components/label/types.d.ts +70 -15
- package/dist/components/label/utils.d.ts +24 -12
- package/dist/components/legend/Legend.d.ts +109 -4
- package/dist/components/legend/LegendSymbol.d.ts +2 -3
- package/dist/components/legend/hooks/useLegend.d.ts +8 -10
- package/dist/components/legend/hooks/useLegendContent.d.ts +7 -14
- package/dist/components/legend/type.d.ts +17 -25
- package/dist/components/legend/utils.d.ts +4 -4
- package/dist/components/tooltip/Cursor.d.ts +19 -0
- package/dist/components/tooltip/DefaultTooltipContent.d.ts +35 -0
- package/dist/components/{Tooltip.d.ts → tooltip/Tooltip.d.ts} +72 -100
- package/dist/components/tooltip/TooltipBoundingBox.d.ts +40 -0
- package/dist/components/tooltip/types.d.ts +59 -0
- package/dist/components/types.d.ts +6 -6
- package/dist/components/utils.d.ts +3 -3
- package/dist/container/ClipPath.d.ts +1 -1
- package/dist/container/Layer.d.ts +1 -1
- package/dist/container/ResponsiveContainer.d.ts +10 -13
- package/dist/container/Surface.d.ts +9 -1
- package/dist/container/useSizeContext.d.ts +4 -10
- package/dist/context/cartesianLabelListContext.d.ts +6 -2
- package/dist/context/polarLabelViewBoxContext.d.ts +1 -1
- package/dist/core/area.d.ts +32 -0
- package/dist/core/axis/data.d.ts +28 -0
- package/dist/core/axis/domain.d.ts +11 -0
- package/dist/core/axis/key.d.ts +7 -0
- package/dist/core/axis/polar.d.ts +11 -0
- package/dist/core/axis/polarSettings.d.ts +5 -0
- package/dist/core/axis/position.d.ts +76 -0
- package/dist/core/axis/range.d.ts +8 -0
- package/dist/core/axis/references.d.ts +6 -0
- package/dist/core/axis/scale.d.ts +21 -0
- package/dist/core/axis/settings.d.ts +4 -0
- package/dist/core/axis/stacks.d.ts +14 -0
- package/dist/core/axis/ticks.d.ts +19 -0
- package/dist/core/axis/userDomain.d.ts +48 -0
- package/dist/core/bar.d.ts +22 -0
- package/dist/core/barSizing.d.ts +43 -0
- package/dist/core/color.d.ts +21 -0
- package/dist/core/coordinates.d.ts +34 -0
- package/dist/core/data.d.ts +2 -0
- package/dist/core/errorBar.d.ts +15 -0
- package/dist/core/funnel.d.ts +17 -0
- package/dist/core/interaction.d.ts +18 -0
- package/dist/core/layout.d.ts +43 -0
- package/dist/core/line.d.ts +14 -0
- package/dist/{state/selectors/pieSelectors.d.ts → core/pie.d.ts} +14 -16
- package/dist/core/polygon.d.ts +5 -0
- package/dist/core/radar.d.ts +20 -0
- package/dist/core/radialBar.d.ts +36 -0
- package/dist/core/rectangle.d.ts +10 -0
- package/dist/core/scatter.d.ts +18 -0
- package/dist/core/tooltip.d.ts +16 -0
- package/dist/es/animation/ActiveDot.mjs +39 -0
- package/dist/es/animation/MovingLabels.mjs +61 -0
- package/dist/es/animation/SweepClip.mjs +40 -0
- package/dist/es/animation/gridTransition.mjs +112 -0
- package/dist/es/animation/motion.mjs +100 -0
- package/dist/es/animation/ridingLabels.mjs +70 -0
- package/dist/es/animation/useAnimationCallbacks.mjs +23 -0
- package/dist/es/animation/useKeyedTransition.mjs +355 -0
- package/dist/es/animation/usePointTransition.mjs +119 -0
- package/dist/es/animation/useReducedMotion.mjs +12 -0
- package/dist/es/animation/useTickMotion.mjs +62 -0
- package/dist/es/cartesian/ActivePoints.mjs +65 -0
- package/dist/es/cartesian/GraphicalItemClipPath.mjs +50 -9
- package/dist/es/cartesian/area/Area.mjs +72 -35
- package/dist/es/cartesian/area/RenderArea.mjs +112 -105
- package/dist/es/cartesian/area/hooks/useArea.mjs +44 -42
- package/dist/es/cartesian/area/type.mjs +14 -46
- package/dist/es/cartesian/axis/AxisProps.mjs +94 -0
- package/dist/es/cartesian/axis/XAxis.mjs +37 -159
- package/dist/es/cartesian/axis/YAxis.mjs +63 -167
- package/dist/es/cartesian/bar/Bar.mjs +122 -53
- package/dist/es/cartesian/bar/components/BarBackground.mjs +1 -1
- package/dist/es/cartesian/bar/components/BarRectangles.mjs +188 -126
- package/dist/es/cartesian/bar/hooks/useBar.mjs +67 -31
- package/dist/es/cartesian/bar/type.mjs +4 -22
- package/dist/es/cartesian/brush/Brush.mjs +294 -0
- package/dist/es/cartesian/brush/components/Background.mjs +25 -0
- package/dist/es/cartesian/brush/components/BrushText.mjs +55 -0
- package/dist/es/cartesian/brush/components/Panorama.mjs +54 -0
- package/dist/es/cartesian/brush/components/Slide.mjs +40 -0
- package/dist/es/cartesian/brush/components/Traveller.mjs +46 -0
- package/dist/es/cartesian/brush/components/TravellerLayer.mjs +68 -0
- package/dist/es/cartesian/brush/hooks/useBrushHandlers.mjs +158 -0
- package/dist/es/cartesian/brush/hooks/useBrushState.mjs +67 -0
- package/dist/es/cartesian/brush/type.mjs +54 -0
- package/dist/es/cartesian/brush/utils.mjs +30 -0
- package/dist/es/cartesian/cartesian-axis/CartesianAxis.mjs +27 -20
- package/dist/es/cartesian/cartesian-grid/CartesianGrid.mjs +157 -72
- package/dist/es/cartesian/cartesian-grid/HorizontalGridLines.mjs +5 -1
- package/dist/es/cartesian/cartesian-grid/VerticalGridLines.mjs +5 -1
- package/dist/es/cartesian/cartesian-grid/const.mjs +3 -320
- package/dist/es/cartesian/cartesian-grid/utils.mjs +1 -1
- package/dist/es/cartesian/error-bar/ErrorBar.mjs +65 -102
- package/dist/es/cartesian/error-bar/ErrorBarContext.mjs +21 -5
- package/dist/es/cartesian/funnel/Funnel.mjs +247 -127
- package/dist/es/cartesian/funnel/type.mjs +8 -14
- package/dist/es/cartesian/line/Line.mjs +72 -25
- package/dist/es/cartesian/line/StaticLine.mjs +129 -166
- package/dist/es/cartesian/line/hooks/useLine.mjs +38 -35
- package/dist/es/cartesian/line/type.mjs +5 -43
- package/dist/es/cartesian/reference-area/ReferenceArea.mjs +108 -88
- package/dist/es/cartesian/reference-dot/ReferenceDot.mjs +87 -67
- package/dist/es/cartesian/reference-line/ReferenceLine.mjs +99 -74
- package/dist/es/cartesian/scatter/Scatter.mjs +188 -190
- package/dist/es/cartesian/scatter/hooks/useScatter.mjs +25 -6
- package/dist/es/cartesian/scatter/type.mjs +79 -0
- package/dist/es/cartesian/useNeedsClip.mjs +6 -14
- package/dist/es/cartesian/utils/get-ticks.mjs +6 -6
- package/dist/es/cartesian/z-axis/ZAxis.mjs +7 -11
- package/dist/es/chart/AreaChart.mjs +12 -4
- package/dist/es/chart/BarChart.mjs +12 -4
- package/dist/es/chart/BarList.mjs +265 -0
- package/dist/es/chart/CalendarHeatmap.mjs +299 -0
- package/dist/es/chart/CellGridLayer.mjs +380 -0
- package/dist/es/chart/ChartShell.mjs +139 -0
- package/dist/es/chart/ChartWrapper.mjs +215 -0
- package/dist/es/chart/ChartsWrapper.mjs +21 -176
- package/dist/es/chart/CohortChart.mjs +169 -0
- package/dist/es/chart/ComposedChart.mjs +14 -4
- package/dist/es/chart/FunnelChart.mjs +11 -5
- package/dist/es/chart/Heatmap.mjs +319 -0
- package/dist/es/chart/JourneySankey.mjs +682 -0
- package/dist/es/chart/LineChart.mjs +13 -4
- package/dist/es/chart/PieChart.mjs +13 -9
- package/dist/es/chart/RadarChart.mjs +13 -9
- package/dist/es/chart/RadialBarChart.mjs +18 -10
- package/dist/es/chart/Sankey.mjs +355 -244
- package/dist/es/chart/ScatterChart.mjs +12 -4
- package/dist/es/chart/Sparkline.mjs +458 -0
- package/dist/es/chart/SunburstChart.mjs +215 -158
- package/dist/es/chart/Tracker.mjs +175 -0
- package/dist/es/chart/Treemap.mjs +357 -300
- package/dist/es/chart/cellGridProps.mjs +42 -0
- package/dist/es/chart/cellGridUtils.mjs +80 -0
- package/dist/es/chart/chartProps.mjs +88 -0
- package/dist/es/chart/chartRoot.mjs +153 -0
- package/dist/es/chart/journeyTypes.mjs +90 -0
- package/dist/es/chart/journeyUtils.mjs +223 -0
- package/dist/es/chart/sankeyUtils.mjs +52 -1
- package/dist/es/chart/shell.mjs +30 -0
- package/dist/es/chart/sunburstUtils.mjs +14 -9
- package/dist/es/chart/treemapUtils.mjs +10 -8
- package/dist/es/componentNames.mjs +84 -0
- package/dist/es/components/Cell.mjs +3 -2
- package/dist/es/components/Customized.mjs +14 -9
- package/dist/es/components/Text.vue_vue_type_script_setup_true_lang.mjs +16 -10
- package/dist/es/components/label/Label.mjs +12 -30
- package/dist/es/components/label/LabelList.mjs +13 -48
- package/dist/es/components/label/LabelListView.mjs +73 -0
- package/dist/es/components/label/LabelView.mjs +45 -0
- package/dist/es/components/label/types.mjs +10 -5
- package/dist/es/components/label/utils.mjs +39 -19
- package/dist/es/components/legend/Legend.mjs +101 -36
- package/dist/es/components/legend/LegendSymbol.mjs +2 -2
- package/dist/es/components/legend/hooks/useLegend.mjs +39 -60
- package/dist/es/components/legend/hooks/useLegendContent.mjs +1 -13
- package/dist/es/components/legend/type.mjs +11 -9
- package/dist/es/components/legend/utils.mjs +8 -4
- package/dist/es/components/tooltip/Cursor.mjs +118 -0
- package/dist/es/components/tooltip/DefaultTooltipContent.mjs +107 -0
- package/dist/es/components/tooltip/Tooltip.mjs +229 -0
- package/dist/es/components/tooltip/TooltipBoundingBox.mjs +187 -0
- package/dist/es/components/utils.mjs +26 -27
- package/dist/es/container/ClipPath.mjs +2 -2
- package/dist/es/container/Layer.mjs +2 -2
- package/dist/es/container/ResponsiveContainer.vue_vue_type_script_setup_true_lang.mjs +20 -106
- package/dist/es/container/Surface.mjs +46 -7
- package/dist/es/container/useSizeContext.mjs +12 -3
- package/dist/es/context/cartesianLabelListContext.mjs +11 -2
- package/dist/es/{cartesian/area/utils.mjs → core/area.mjs} +5 -4
- package/dist/es/core/axis/data.mjs +75 -0
- package/dist/es/core/axis/domain.mjs +63 -0
- package/dist/es/core/axis/key.mjs +13 -0
- package/dist/es/core/axis/polar.mjs +16 -0
- package/dist/es/core/axis/polarSettings.mjs +100 -0
- package/dist/es/core/axis/position.mjs +51 -0
- package/dist/es/core/axis/range.mjs +46 -0
- package/dist/es/core/axis/references.mjs +26 -0
- package/dist/es/core/axis/scale.mjs +148 -0
- package/dist/es/core/axis/settings.mjs +76 -0
- package/dist/es/core/axis/stacks.mjs +97 -0
- package/dist/es/core/axis/ticks.mjs +82 -0
- package/dist/es/{utils/isDomainSpecifiedByUser.mjs → core/axis/userDomain.mjs} +5 -4
- package/dist/es/{cartesian/bar/utils.mjs → core/bar.mjs} +19 -16
- package/dist/es/core/barSizing.mjs +108 -0
- package/dist/es/core/color.mjs +23 -0
- package/dist/es/core/coordinates.mjs +57 -0
- package/dist/es/core/data.mjs +20 -0
- package/dist/es/core/errorBar.mjs +56 -0
- package/dist/es/{cartesian/funnel/utils.mjs → core/funnel.mjs} +31 -11
- package/dist/es/core/interaction.mjs +152 -0
- package/dist/es/core/layout.mjs +91 -0
- package/dist/es/{cartesian/line/utils.mjs → core/line.mjs} +7 -6
- package/dist/es/{state/selectors/pieSelectors.mjs → core/pie.mjs} +37 -65
- package/dist/es/core/polygon.mjs +7 -0
- package/dist/es/core/radar.mjs +58 -0
- package/dist/es/core/radialBar.mjs +92 -0
- package/dist/es/core/rectangle.mjs +25 -0
- package/dist/es/core/scatter.mjs +86 -0
- package/dist/es/core/tooltip.mjs +96 -0
- package/dist/es/events/componentEvents.mjs +58 -0
- package/dist/es/events/delegateItemEvents.mjs +24 -0
- package/dist/es/events/itemEvents.mjs +34 -0
- package/dist/es/events/sync.mjs +141 -0
- package/dist/es/events/useChartCallbacks.mjs +24 -0
- package/dist/es/events/useChartInteractions.mjs +143 -0
- package/dist/es/events/useItemInteractions.mjs +58 -0
- package/dist/es/events/useItemKeyboard.mjs +45 -0
- package/dist/es/events/usePointEvents.mjs +55 -0
- package/dist/es/hooks/deferredView.mjs +19 -0
- package/dist/es/hooks/publicHooks.mjs +36 -35
- package/dist/es/hooks/useActiveTooltipDataPoints.mjs +10 -0
- package/dist/es/hooks/useChartId.mjs +8 -0
- package/dist/es/hooks/useLayerTeleport.mjs +10 -0
- package/dist/es/hooks/useResponsiveSize.mjs +72 -15
- package/dist/es/hooks/useRoundedSize.mjs +0 -3
- package/dist/es/hooks/useSeriesProps.mjs +32 -0
- package/dist/es/hooks/useSetupGraphicalItem.mjs +74 -44
- package/dist/es/hooks/useTrackedData.mjs +17 -0
- package/dist/es/index.mjs +37 -23
- package/dist/es/model/animation.mjs +11 -0
- package/dist/es/model/axis.mjs +85 -0
- package/dist/es/model/axisLayout.mjs +27 -0
- package/dist/es/model/axisScale.mjs +52 -0
- package/dist/es/model/brush.mjs +27 -0
- package/dist/es/model/chart.mjs +122 -0
- package/dist/es/model/dataRange.mjs +54 -0
- package/dist/es/model/defaults.mjs +28 -0
- package/dist/es/model/layout.mjs +33 -0
- package/dist/es/model/legend.mjs +30 -0
- package/dist/es/model/options.mjs +8 -0
- package/dist/es/model/polar.mjs +29 -0
- package/dist/es/model/polarAxis.mjs +48 -0
- package/dist/es/model/presentation.mjs +13 -0
- package/dist/es/model/registries.mjs +38 -0
- package/dist/es/model/registry.mjs +20 -0
- package/dist/es/model/runtime.mjs +156 -0
- package/dist/es/model/tooltip.mjs +385 -0
- package/dist/es/nuxt.mjs +28 -0
- package/dist/es/polar/pie/Pie.mjs +260 -112
- package/dist/es/polar/pie/type.mjs +19 -8
- package/dist/es/polar/radar/PolarAngleAxis.mjs +117 -99
- package/dist/es/polar/radar/PolarGrid.mjs +73 -50
- package/dist/es/polar/radar/PolarRadiusAxis.mjs +124 -100
- package/dist/es/polar/radar/Radar.mjs +272 -219
- package/dist/es/polar/radial-bar/RadialBar.mjs +248 -130
- package/dist/es/polar/radial-bar/type.mjs +6 -7
- package/dist/es/resolver.mjs +19 -0
- package/dist/es/shape/Cross.mjs +2 -1
- package/dist/es/shape/Curve.mjs +7 -5
- package/dist/es/shape/Dot.mjs +9 -5
- package/dist/es/shape/Polygon.mjs +4 -7
- package/dist/es/shape/Rectangle.mjs +17 -10
- package/dist/es/shape/Sector.mjs +7 -4
- package/dist/es/shape/Symbols.mjs +13 -8
- package/dist/es/shape/Trapezoid.mjs +3 -1
- package/dist/es/typed.mjs +9 -0
- package/dist/es/types/base.mjs +6 -0
- package/dist/es/utils/ReduceCSSCalc.mjs +2 -2
- package/dist/es/utils/VueUtils.mjs +89 -3
- package/dist/es/utils/attributes.mjs +18 -0
- package/dist/es/utils/attrs.mjs +38 -26
- package/dist/es/utils/cartesian.mjs +1 -21
- package/dist/es/utils/cell.mjs +13 -1
- package/dist/es/utils/chart.mjs +3 -361
- package/dist/es/utils/const.mjs +2 -25
- package/dist/es/utils/createCategoricalInverse.mjs +2 -2
- package/dist/es/utils/data-utils.mjs +2 -6
- package/dist/es/utils/data.mjs +1 -1
- package/dist/es/utils/env.mjs +10 -0
- package/dist/es/utils/events.mjs +29 -2
- package/dist/es/utils/labelColor.mjs +16 -0
- package/dist/es/utils/log.mjs +23 -5
- package/dist/es/utils/pointer.mjs +13 -0
- package/dist/es/utils/polar.mjs +7 -2
- package/dist/es/utils/scale/getNiceTickValues.mjs +8 -8
- package/dist/es/utils/scale/utils/arithmetic.mjs +0 -15
- package/dist/es/utils/scale/utils/utils.mjs +9 -44
- package/dist/es/utils/style.mjs +1 -1
- package/dist/es/utils/svg.mjs +320 -0
- package/dist/es/utils/theme.mjs +50 -0
- package/dist/es/utils/tick.mjs +4 -3
- package/dist/es/utils/validate.mjs +21 -3
- package/dist/events/componentEvents.d.ts +60 -0
- package/dist/events/delegateItemEvents.d.ts +12 -0
- package/dist/events/itemEvents.d.ts +100 -0
- package/dist/events/sync.d.ts +6 -0
- package/dist/events/useChartCallbacks.d.ts +2 -0
- package/dist/events/useChartInteractions.d.ts +8 -0
- package/dist/events/useItemInteractions.d.ts +7 -0
- package/dist/events/useItemKeyboard.d.ts +24 -0
- package/dist/events/usePointEvents.d.ts +23 -0
- package/dist/hooks/deferredView.d.ts +12 -0
- package/dist/hooks/publicHooks.d.ts +27 -29
- package/dist/hooks/useActiveTooltipDataPoints.d.ts +2 -0
- package/dist/hooks/useChartId.d.ts +2 -0
- package/dist/hooks/useLayerTeleport.d.ts +5 -0
- package/dist/hooks/useResponsiveSize.d.ts +33 -18
- package/dist/hooks/useRoundedSize.d.ts +0 -3
- package/dist/hooks/useSeriesProps.d.ts +7 -0
- package/dist/hooks/useSetupGraphicalItem.d.ts +35 -4
- package/dist/hooks/useTrackedData.d.ts +3 -0
- package/dist/index.d.ts +130 -9
- package/dist/model/animation.d.ts +7 -0
- package/dist/model/axis.d.ts +29 -0
- package/dist/model/axisLayout.d.ts +85 -0
- package/dist/model/axisScale.d.ts +41 -0
- package/dist/model/brush.d.ts +17 -0
- package/dist/model/chart.d.ts +44 -0
- package/dist/model/dataRange.d.ts +19 -0
- package/dist/model/defaults.d.ts +7 -0
- package/dist/model/layout.d.ts +38 -0
- package/dist/model/legend.d.ts +28 -0
- package/dist/model/options.d.ts +30 -0
- package/dist/model/polar.d.ts +24 -0
- package/dist/model/polarAxis.d.ts +39 -0
- package/dist/model/presentation.d.ts +19 -0
- package/dist/model/registries.d.ts +27 -0
- package/dist/model/registry.d.ts +7 -0
- package/dist/model/runtime.d.ts +76 -0
- package/dist/model/tooltip.d.ts +451 -0
- package/dist/nuxt.d.ts +7 -0
- package/dist/polar/pie/Pie.d.ts +252 -2
- package/dist/polar/pie/type.d.ts +37 -25
- package/dist/polar/radar/PolarAngleAxis.d.ts +36 -39
- package/dist/polar/radar/PolarGrid.d.ts +10 -8
- package/dist/polar/radar/PolarRadiusAxis.d.ts +30 -28
- package/dist/polar/radar/Radar.d.ts +82 -53
- package/dist/polar/radial-bar/RadialBar.d.ts +251 -2
- package/dist/polar/radial-bar/type.d.ts +26 -26
- package/dist/publicProps.d.ts +96 -0
- package/dist/resolver.d.ts +9 -0
- package/dist/shape/Cross.d.ts +2 -1
- package/dist/shape/Curve.d.ts +8 -19
- package/dist/shape/Dot.d.ts +10 -6
- package/dist/shape/Polygon.d.ts +2 -1
- package/dist/shape/Rectangle.d.ts +9 -8
- package/dist/shape/Sector.d.ts +7 -6
- package/dist/shape/Symbols.d.ts +3 -3
- package/dist/shape/Trapezoid.d.ts +5 -5
- package/dist/typed.d.ts +92 -0
- package/dist/types/area.d.ts +5 -6
- package/dist/types/axis.d.ts +9 -36
- package/dist/types/axisSettings.d.ts +20 -0
- package/dist/types/bar.d.ts +17 -7
- package/dist/types/base.d.ts +46 -0
- package/dist/types/categorical.d.ts +5 -7
- package/dist/types/chartData.d.ts +21 -0
- package/dist/types/chartLayout.d.ts +7 -0
- package/dist/{state/rootPropsSlice.d.ts → types/chartOptions.d.ts} +4 -5
- package/dist/types/common.d.ts +16 -55
- package/dist/types/event.d.ts +2 -15
- package/dist/types/funnel.d.ts +23 -0
- package/dist/types/graphical.d.ts +77 -0
- package/dist/types/index.d.ts +4 -4
- package/dist/types/legend.d.ts +17 -0
- package/dist/types/line.d.ts +6 -0
- package/dist/types/polarOptions.d.ts +8 -0
- package/dist/types/radar.d.ts +4 -4
- package/dist/types/radialBar.d.ts +15 -0
- package/dist/types/reference.d.ts +22 -0
- package/dist/types/scale.d.ts +13 -2
- package/dist/{shape/types.d.ts → types/shape.d.ts} +6 -4
- package/dist/types/tick.d.ts +18 -7
- package/dist/types/tooltip.d.ts +181 -14
- package/dist/types/typed.d.ts +16 -0
- package/dist/{cartesian/type.d.ts → types/viewBox.d.ts} +0 -2
- package/dist/utils/ReduceCSSCalc.d.ts +0 -1
- package/dist/utils/VueUtils.d.ts +6 -9
- package/dist/utils/attributes.d.ts +56 -0
- package/dist/utils/attrs.d.ts +4 -45
- package/dist/utils/cartesian.d.ts +2 -16
- package/dist/utils/cell.d.ts +7 -2
- package/dist/utils/chart.d.ts +2 -99
- package/dist/utils/const.d.ts +1 -24
- package/dist/utils/createCategoricalInverse.d.ts +2 -6
- package/dist/utils/data-utils.d.ts +0 -1
- package/dist/utils/data.d.ts +1 -2
- package/dist/utils/env.d.ts +5 -0
- package/dist/utils/events.d.ts +14 -7
- package/dist/utils/grid.d.ts +1 -28
- package/dist/utils/index.d.ts +4 -5
- package/dist/utils/isDomainSpecifiedByUser.d.ts +1 -47
- package/dist/utils/labelColor.d.ts +2 -0
- package/dist/utils/log.d.ts +2 -1
- package/dist/utils/pointer.d.ts +2 -0
- package/dist/utils/polar.d.ts +2 -4
- package/dist/utils/scale/getNiceTickValues.d.ts +2 -61
- package/dist/utils/scale/utils/arithmetic.d.ts +3 -31
- package/dist/utils/scale/utils/utils.d.ts +2 -9
- package/dist/utils/scale.d.ts +1 -1
- package/dist/utils/style.d.ts +2 -1
- package/dist/utils/svg.d.ts +4 -0
- package/dist/utils/theme.d.ts +4 -0
- package/dist/utils/tick.d.ts +3 -3
- package/dist/utils/tooltip/translate.d.ts +9 -25
- package/dist/utils/validate.d.ts +12 -4
- package/package.json +46 -29
- package/dist/animation/Animate.d.ts +0 -72
- package/dist/cartesian/area/ActivePoints.d.ts +0 -77
- package/dist/cartesian/area/ClipRect.d.ts +0 -1
- package/dist/cartesian/area/__stories__/config.d.ts +0 -31
- package/dist/cartesian/area/index.d.ts +0 -2
- package/dist/cartesian/area/utils.d.ts +0 -19
- package/dist/cartesian/axis/index.d.ts +0 -2
- package/dist/cartesian/axis/type.d.ts +0 -57
- package/dist/cartesian/bar/index.d.ts +0 -1
- package/dist/cartesian/bar/utils.d.ts +0 -31
- package/dist/cartesian/brush/hooks/useBrushSetting.d.ts +0 -6
- package/dist/cartesian/brush/index.d.ts +0 -2
- package/dist/cartesian/cartesian-axis/const.d.ts +0 -24
- package/dist/cartesian/cartesian-axis/index.d.ts +0 -1
- package/dist/cartesian/cartesian-axis/use-axis-line.d.ts +0 -7
- package/dist/cartesian/cartesian-grid/index.d.ts +0 -1
- package/dist/cartesian/error-bar/index.d.ts +0 -2
- package/dist/cartesian/funnel/index.d.ts +0 -2
- package/dist/cartesian/funnel/utils.d.ts +0 -12
- package/dist/cartesian/index.d.ts +0 -14
- package/dist/cartesian/line/ActivePoints.d.ts +0 -77
- package/dist/cartesian/line/index.d.ts +0 -3
- package/dist/cartesian/line/utils.d.ts +0 -13
- package/dist/cartesian/reference-area/index.d.ts +0 -1
- package/dist/cartesian/reference-dot/index.d.ts +0 -2
- package/dist/cartesian/reference-line/index.d.ts +0 -1
- package/dist/cartesian/scatter/index.d.ts +0 -1
- package/dist/cartesian/z-axis/index.d.ts +0 -1
- package/dist/chart/LegendPortalContext.d.ts +0 -3
- package/dist/chart/Surface.d.ts +0 -41
- package/dist/chart/TooltipPortalContext.d.ts +0 -2
- package/dist/chart/generateCategoricalChart.d.ts +0 -123
- package/dist/chart/index.d.ts +0 -12
- package/dist/chart/provideClipPathId.d.ts +0 -12
- package/dist/components/DefaultLegendContent.d.ts +0 -18
- package/dist/components/index.d.ts +0 -6
- package/dist/components/label/index.d.ts +0 -2
- package/dist/components/legend/index.d.ts +0 -2
- package/dist/container/RootSurface.d.ts +0 -17
- package/dist/container/index.d.ts +0 -1
- package/dist/context/ChartDataContextProvider.d.ts +0 -17
- package/dist/context/PanoramaContextProvider.d.ts +0 -22
- package/dist/context/accessibilityContext.d.ts +0 -1
- package/dist/context/chartLayoutContext.d.ts +0 -8
- package/dist/context/cursorLayerContext.d.ts +0 -2
- package/dist/context/graphicalLayerContext.d.ts +0 -2
- package/dist/context/labelLayerContext.d.ts +0 -2
- package/dist/context/useTooltipAxis.d.ts +0 -2
- package/dist/es/animation/Animate.mjs +0 -89
- package/dist/es/cartesian/area/ActivePoints.mjs +0 -78
- package/dist/es/cartesian/area/ClipRect.mjs +0 -125
- package/dist/es/cartesian/line/ActivePoints.mjs +0 -79
- package/dist/es/chart/LegendPortalContext.mjs +0 -5
- package/dist/es/chart/Surface.mjs +0 -5
- package/dist/es/chart/Surface.vue_vue_type_script_setup_true_lang.mjs +0 -78
- package/dist/es/chart/TooltipPortalContext.mjs +0 -5
- package/dist/es/chart/generateCategoricalChart.mjs +0 -184
- package/dist/es/chart/provideClipPathId.mjs +0 -15
- package/dist/es/components/Tooltip.mjs +0 -479
- package/dist/es/context/ChartDataContextProvider.mjs +0 -27
- package/dist/es/context/PanoramaContextProvider.mjs +0 -24
- package/dist/es/context/accessibilityContext.mjs +0 -5
- package/dist/es/context/chartLayoutContext.mjs +0 -49
- package/dist/es/context/cursorLayerContext.mjs +0 -5
- package/dist/es/context/graphicalLayerContext.mjs +0 -5
- package/dist/es/context/labelLayerContext.mjs +0 -5
- package/dist/es/context/useTooltipAxis.mjs +0 -17
- package/dist/es/events/useChartSynchronisation.mjs +0 -113
- package/dist/es/hooks/useIsAnimating.mjs +0 -28
- package/dist/es/state/ReportChartProps.mjs +0 -62
- package/dist/es/state/ReportMainChartProps.mjs +0 -46
- package/dist/es/state/ReportPolarOptions.mjs +0 -56
- package/dist/es/state/SetGraphicalItem.mjs +0 -49
- package/dist/es/state/SetLegendPayload.mjs +0 -20
- package/dist/es/state/SetTooltipEntrySettings.mjs +0 -19
- package/dist/es/state/brushSlice.mjs +0 -26
- package/dist/es/state/cartesianAxisSlice.mjs +0 -50
- package/dist/es/state/chartDataSlice.mjs +0 -33
- package/dist/es/state/externalEventsMiddleware.mjs +0 -30
- package/dist/es/state/graphicalItemsSlice.mjs +0 -47
- package/dist/es/state/hooks.mjs +0 -26
- package/dist/es/state/keyboardEventsMiddleware.mjs +0 -63
- package/dist/es/state/layoutSlice.mjs +0 -39
- package/dist/es/state/legendSlice.mjs +0 -42
- package/dist/es/state/mouseEventsMiddleware.mjs +0 -41
- package/dist/es/state/optionsSlice.mjs +0 -25
- package/dist/es/state/polarAxisSlice.mjs +0 -28
- package/dist/es/state/polarOptionsSlice.mjs +0 -13
- package/dist/es/state/reduxDevtoolsJsonStringifyReplacer.mjs +0 -8
- package/dist/es/state/referenceElementsSlice.mjs +0 -36
- package/dist/es/state/rootPropsSlice.mjs +0 -32
- package/dist/es/state/selectors/areaSelectors.mjs +0 -77
- package/dist/es/state/selectors/axisSelectors.mjs +0 -908
- package/dist/es/state/selectors/barSelectors.mjs +0 -241
- package/dist/es/state/selectors/brushSelectors.mjs +0 -18
- package/dist/es/state/selectors/combiners/combineActiveLabel.mjs +0 -9
- package/dist/es/state/selectors/combiners/combineActiveTooltipIndex.mjs +0 -43
- package/dist/es/state/selectors/combiners/combineAxisRangeWithReverse.mjs +0 -8
- package/dist/es/state/selectors/combiners/combineCoordinateForDefaultIndex.mjs +0 -21
- package/dist/es/state/selectors/combiners/combineTooltipInteractionState.mjs +0 -37
- package/dist/es/state/selectors/combiners/combineTooltipPayloadConfigurations.mjs +0 -13
- package/dist/es/state/selectors/common.mjs +0 -4
- package/dist/es/state/selectors/containerSelectors.mjs +0 -7
- package/dist/es/state/selectors/dataSelectors.mjs +0 -35
- package/dist/es/state/selectors/funnelSelectors.mjs +0 -38
- package/dist/es/state/selectors/legendSelectors.mjs +0 -10
- package/dist/es/state/selectors/lineSelectors.mjs +0 -64
- package/dist/es/state/selectors/pickAxisId.mjs +0 -4
- package/dist/es/state/selectors/pickAxisType.mjs +0 -4
- package/dist/es/state/selectors/polarAxisSelectors.mjs +0 -167
- package/dist/es/state/selectors/polarGridSelectors.mjs +0 -19
- package/dist/es/state/selectors/polarScaleSelectors.mjs +0 -55
- package/dist/es/state/selectors/polarSelectors.mjs +0 -81
- package/dist/es/state/selectors/radarSelectors.mjs +0 -133
- package/dist/es/state/selectors/radialBarSelectors.mjs +0 -259
- package/dist/es/state/selectors/rootPropsSelectors.mjs +0 -14
- package/dist/es/state/selectors/scatterSelectors.mjs +0 -134
- package/dist/es/state/selectors/selectActivePropsFromChartPointer.mjs +0 -20
- package/dist/es/state/selectors/selectAllAxes.mjs +0 -10
- package/dist/es/state/selectors/selectChartOffset.mjs +0 -72
- package/dist/es/state/selectors/selectChartOffsetInternal.mjs +0 -66
- package/dist/es/state/selectors/selectLegendArea.mjs +0 -19
- package/dist/es/state/selectors/selectTooltipEventType.mjs +0 -22
- package/dist/es/state/selectors/selectTooltipPayloadSearcher.mjs +0 -6
- package/dist/es/state/selectors/selectTooltipSettings.mjs +0 -4
- package/dist/es/state/selectors/selectTooltipState.mjs +0 -4
- package/dist/es/state/selectors/selectors.mjs +0 -104
- package/dist/es/state/selectors/tooltipSelectors.mjs +0 -269
- package/dist/es/state/selectors/touchSelectors.mjs +0 -19
- package/dist/es/state/store.mjs +0 -55
- package/dist/es/state/tooltipSlice.mjs +0 -102
- package/dist/es/state/touchEventsMiddleware.mjs +0 -44
- package/dist/es/state/utils/useReportScale.mjs +0 -19
- package/dist/es/synchronisation/syncSelectors.mjs +0 -6
- package/dist/es/synchronisation/useChartSynchronisation.mjs +0 -38
- package/dist/es/utils/Global.mjs +0 -18
- package/dist/es/utils/createContext.mjs +0 -31
- package/dist/es/utils/legend.mjs +0 -41
- package/dist/es/utils/props.mjs +0 -20
- package/dist/es/utils/resolveDefaultProps.mjs +0 -26
- package/dist/events/useChartSynchronisation.d.ts +0 -8
- package/dist/hooks/useIsAnimating.d.ts +0 -14
- package/dist/polar/index.d.ts +0 -3
- package/dist/polar/pie/index.d.ts +0 -2
- package/dist/polar/radar/index.d.ts +0 -4
- package/dist/polar/radial-bar/index.d.ts +0 -2
- package/dist/shape/index.d.ts +0 -10
- package/dist/state/ReportBar.d.ts +0 -1
- package/dist/state/ReportChartProps.d.ts +0 -88
- package/dist/state/ReportMainChartProps.d.ts +0 -37
- package/dist/state/ReportPolarOptions.d.ts +0 -59
- package/dist/state/SetGraphicalItem.d.ts +0 -9
- package/dist/state/SetLegendPayload.d.ts +0 -3
- package/dist/state/SetTooltipEntrySettings.d.ts +0 -8
- package/dist/state/brushSlice.d.ts +0 -18
- package/dist/state/cartesianAxisSlice.d.ts +0 -96
- package/dist/state/chartDataSlice.d.ts +0 -44
- package/dist/state/externalEventsMiddleware.d.ts +0 -17
- package/dist/state/graphicalItemsSlice.d.ts +0 -108
- package/dist/state/hooks.d.ts +0 -54
- package/dist/state/keyboardEventsMiddleware.d.ts +0 -3
- package/dist/state/layoutSlice.d.ts +0 -15
- package/dist/state/legendSlice.d.ts +0 -29
- package/dist/state/mouseEventsMiddleware.d.ts +0 -5
- package/dist/state/optionsSlice.d.ts +0 -27
- package/dist/state/polarAxisSlice.d.ts +0 -10
- package/dist/state/polarOptionsSlice.d.ts +0 -10
- package/dist/state/reduxDevtoolsJsonStringifyReplacer.d.ts +0 -1
- package/dist/state/referenceElementsSlice.d.ts +0 -40
- package/dist/state/selectors/areaSelectors.d.ts +0 -24
- package/dist/state/selectors/axisSelectors.d.ts +0 -1833
- package/dist/state/selectors/barSelectors.d.ts +0 -944
- package/dist/state/selectors/brushSelectors.d.ts +0 -10
- package/dist/state/selectors/combiners/combineActiveLabel.d.ts +0 -3
- package/dist/state/selectors/combiners/combineActiveTooltipIndex.d.ts +0 -5
- package/dist/state/selectors/combiners/combineAxisRangeWithReverse.d.ts +0 -3
- package/dist/state/selectors/combiners/combineCoordinateForDefaultIndex.d.ts +0 -3
- package/dist/state/selectors/combiners/combineTooltipInteractionState.d.ts +0 -3
- package/dist/state/selectors/combiners/combineTooltipPayloadConfigurations.d.ts +0 -3
- package/dist/state/selectors/common.d.ts +0 -2
- package/dist/state/selectors/containerSelectors.d.ts +0 -6
- package/dist/state/selectors/dataSelectors.d.ts +0 -23
- package/dist/state/selectors/funnelSelectors.d.ts +0 -69
- package/dist/state/selectors/legendSelectors.d.ts +0 -7
- package/dist/state/selectors/lineSelectors.d.ts +0 -123
- package/dist/state/selectors/pickAxisId.d.ts +0 -3
- package/dist/state/selectors/pickAxisType.d.ts +0 -2
- package/dist/state/selectors/polarAxisSelectors.d.ts +0 -49
- package/dist/state/selectors/polarGridSelectors.d.ts +0 -118
- package/dist/state/selectors/polarScaleSelectors.d.ts +0 -9
- package/dist/state/selectors/polarSelectors.d.ts +0 -70
- package/dist/state/selectors/radarSelectors.d.ts +0 -76
- package/dist/state/selectors/radialBarSelectors.d.ts +0 -61
- package/dist/state/selectors/rootPropsSelectors.d.ts +0 -11
- package/dist/state/selectors/scatterSelectors.d.ts +0 -21
- package/dist/state/selectors/selectActivePropsFromChartPointer.d.ts +0 -382
- package/dist/state/selectors/selectAllAxes.d.ts +0 -4
- package/dist/state/selectors/selectChartOffset.d.ts +0 -116
- package/dist/state/selectors/selectChartOffsetInternal.d.ts +0 -9
- package/dist/state/selectors/selectLegendArea.d.ts +0 -7
- package/dist/state/selectors/selectTooltipEventType.d.ts +0 -8
- package/dist/state/selectors/selectTooltipPayloadSearcher.d.ts +0 -3
- package/dist/state/selectors/selectTooltipSettings.d.ts +0 -3
- package/dist/state/selectors/selectTooltipState.d.ts +0 -3
- package/dist/state/selectors/selectors.d.ts +0 -184
- package/dist/state/selectors/tooltipSelectors.d.ts +0 -581
- package/dist/state/selectors/touchSelectors.d.ts +0 -4
- package/dist/state/store.d.ts +0 -74
- package/dist/state/tooltipSlice.d.ts +0 -204
- package/dist/state/touchEventsMiddleware.d.ts +0 -2
- package/dist/state/utils/useReportScale.d.ts +0 -1
- package/dist/synchronisation/syncSelectors.d.ts +0 -3
- package/dist/synchronisation/useChartSynchronisation.d.ts +0 -11
- package/dist/types/offset.d.ts +0 -8
- package/dist/utils/Global.d.ts +0 -9
- package/dist/utils/context.d.ts +0 -8
- package/dist/utils/createContext.d.ts +0 -8
- package/dist/utils/legend.d.ts +0 -3
- package/dist/utils/props.d.ts +0 -15
- package/dist/utils/resolveDefaultProps.d.ts +0 -52
package/LICENSE
CHANGED
|
@@ -19,3 +19,28 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
20
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
21
|
SOFTWARE.
|
|
22
|
+
|
|
23
|
+
This project is a Vue port of Recharts. Portions are derived from Recharts,
|
|
24
|
+
which is licensed under the MIT License:
|
|
25
|
+
|
|
26
|
+
The MIT License (MIT)
|
|
27
|
+
|
|
28
|
+
Copyright (c) 2015-present recharts
|
|
29
|
+
|
|
30
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
31
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
32
|
+
in the Software without restriction, including without limitation the rights
|
|
33
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
34
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
35
|
+
furnished to do so, subject to the following conditions:
|
|
36
|
+
|
|
37
|
+
The above copyright notice and this permission notice shall be included in all
|
|
38
|
+
copies or substantial portions of the Software.
|
|
39
|
+
|
|
40
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
41
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
42
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
43
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
44
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
45
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
46
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,155 +1,176 @@
|
|
|
1
|
-
|
|
2
|
-
<img src="docs/public/logo.svg" alt="vccs logo" width="120" />
|
|
3
|
-
</p>
|
|
1
|
+
# vccs
|
|
4
2
|
|
|
5
|
-
|
|
3
|
+
Composable charts for Vue 3. vccs is an unofficial Vue port of [Recharts](https://recharts.org):
|
|
4
|
+
you build a chart from components, and each component owns one part of it.
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
```vue
|
|
7
|
+
<script setup lang="ts">
|
|
8
|
+
import { Bar, BarChart, Tooltip, XAxis, YAxis } from 'vccs'
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
const data = [
|
|
11
|
+
{ month: 'Jan', visits: 4000, signups: 240 },
|
|
12
|
+
{ month: 'Feb', visits: 3000, signups: 139 },
|
|
13
|
+
{ month: 'Mar', visits: 2000, signups: 980 },
|
|
14
|
+
]
|
|
15
|
+
</script>
|
|
14
16
|
|
|
15
|
-
<
|
|
16
|
-
<
|
|
17
|
-
|
|
17
|
+
<template>
|
|
18
|
+
<BarChart
|
|
19
|
+
:data="data"
|
|
20
|
+
:height="300"
|
|
21
|
+
>
|
|
22
|
+
<XAxis data-key="month" />
|
|
23
|
+
<YAxis />
|
|
24
|
+
<Tooltip :cursor="false" />
|
|
25
|
+
<Bar data-key="visits" />
|
|
26
|
+
<Bar data-key="signups" />
|
|
27
|
+
</BarChart>
|
|
28
|
+
</template>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The chart fills its container's width. Series without a color take the next color from the
|
|
32
|
+
palette, which you can change with CSS variables.
|
|
18
33
|
|
|
19
|
-
|
|
34
|
+
## Requirements
|
|
20
35
|
|
|
21
|
-
|
|
36
|
+
- Vue `^3.5`
|
|
37
|
+
- [`motion-v`](https://motion.dev/docs/vue) `^2.4`, a required peer dependency that drives all animation
|
|
38
|
+
- An ESM build setup (Vite, Nuxt, or another bundler). vccs ships ES modules only.
|
|
39
|
+
- For the Nuxt module (`vccs/nuxt`): Nuxt `^4`
|
|
40
|
+
- For the resolver (`vccs/resolver`): [`unplugin-vue-components`](https://github.com/unplugin/unplugin-vue-components) in your own dev dependencies
|
|
22
41
|
|
|
23
42
|
## Install
|
|
24
43
|
|
|
25
44
|
```bash
|
|
26
|
-
|
|
27
|
-
|
|
45
|
+
pnpm add vccs motion-v
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
npm, yarn and bun work the same way: `npm install vccs motion-v`.
|
|
49
|
+
|
|
50
|
+
### Nuxt
|
|
51
|
+
|
|
52
|
+
Add the module. It registers every component and composable, so you can use them without
|
|
53
|
+
imports. Import types and `defineChartComponents` from `vccs`.
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
// nuxt.config.ts
|
|
57
|
+
export default defineNuxtConfig({
|
|
58
|
+
modules: ['vccs/nuxt'],
|
|
59
|
+
})
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Set `vccs: { prefix: 'V' }` to register `<VBarChart>` and so on.
|
|
63
|
+
|
|
64
|
+
### Vite with auto-imports
|
|
65
|
+
|
|
66
|
+
With [`unplugin-vue-components`](https://github.com/unplugin/unplugin-vue-components), the
|
|
67
|
+
resolver imports components on use:
|
|
28
68
|
|
|
29
|
-
|
|
30
|
-
|
|
69
|
+
```ts
|
|
70
|
+
// vite.config.ts
|
|
71
|
+
import Components from 'unplugin-vue-components/vite'
|
|
72
|
+
import { VccsResolver } from 'vccs/resolver'
|
|
31
73
|
|
|
32
|
-
|
|
33
|
-
|
|
74
|
+
export default defineConfig({
|
|
75
|
+
plugins: [vue(), Components({ resolvers: [VccsResolver()] })],
|
|
76
|
+
})
|
|
34
77
|
```
|
|
35
78
|
|
|
36
|
-
|
|
79
|
+
## Typed rows
|
|
37
80
|
|
|
38
|
-
|
|
81
|
+
`defineChartComponents` binds your row type to the components you pick. A wrong `data-key` is
|
|
82
|
+
then a type error, and tooltip payloads carry your row type. Only the components you pick end up
|
|
83
|
+
in your bundle.
|
|
39
84
|
|
|
40
85
|
```vue
|
|
41
|
-
<script setup>
|
|
42
|
-
import {
|
|
86
|
+
<script setup lang="ts">
|
|
87
|
+
import { Area, AreaChart, Tooltip, XAxis, defineChartComponents } from 'vccs'
|
|
43
88
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
{ name: 'Page D', uv: 2780, pv: 3908 },
|
|
49
|
-
{ name: 'Page E', uv: 1890, pv: 4800 },
|
|
50
|
-
{ name: 'Page F', uv: 2390, pv: 3800 },
|
|
51
|
-
]
|
|
89
|
+
interface Visit { date: string, desktop: number, mobile: number }
|
|
90
|
+
defineProps<{ visits: Visit[] }>()
|
|
91
|
+
|
|
92
|
+
const Chart = defineChartComponents<Visit>()({ AreaChart, Area, XAxis, Tooltip })
|
|
52
93
|
</script>
|
|
53
94
|
|
|
54
95
|
<template>
|
|
55
|
-
<
|
|
56
|
-
|
|
96
|
+
<Chart.AreaChart
|
|
97
|
+
:data="visits"
|
|
57
98
|
:height="300"
|
|
58
99
|
>
|
|
59
|
-
<
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
<Tooltip />
|
|
64
|
-
<Bar
|
|
65
|
-
data-key="pv"
|
|
66
|
-
fill="#8884d8"
|
|
67
|
-
/>
|
|
68
|
-
<Bar
|
|
69
|
-
data-key="uv"
|
|
70
|
-
fill="#82ca9d"
|
|
71
|
-
/>
|
|
72
|
-
</BarChart>
|
|
73
|
-
</ResponsiveContainer>
|
|
100
|
+
<Chart.XAxis data-key="date" />
|
|
101
|
+
<Chart.Area data-key="desktop" />
|
|
102
|
+
<Chart.Tooltip />
|
|
103
|
+
</Chart.AreaChart>
|
|
74
104
|
</template>
|
|
75
105
|
```
|
|
76
106
|
|
|
77
|
-
|
|
107
|
+
Standalone charts such as `Heatmap` and `BarList` infer the row type from `data`.
|
|
78
108
|
|
|
79
|
-
|
|
80
|
-
|-------|-----------|-------------|
|
|
81
|
-
| Area | `<AreaChart>` + `<Area>` | Filled area charts with stacking & gradients |
|
|
82
|
-
| Bar | `<BarChart>` + `<Bar>` | Vertical/horizontal bar charts |
|
|
83
|
-
| Line | `<LineChart>` + `<Line>` | Line charts with multiple curve types |
|
|
84
|
-
| Scatter | `<ScatterChart>` + `<Scatter>` | X-Y scatter plots |
|
|
85
|
-
| Composed | `<ComposedChart>` | Mix Area, Bar, Line in one chart |
|
|
86
|
-
| Pie | `<PieChart>` + `<Pie>` | Pie and donut charts |
|
|
87
|
-
| Radar | `<RadarChart>` + `<Radar>` | Radar/spider charts |
|
|
88
|
-
| Radial Bar | `<RadialBarChart>` + `<RadialBar>` | Circular bar charts |
|
|
89
|
-
| Funnel | `<FunnelChart>` + `<Funnel>` | Funnel/pipeline charts |
|
|
90
|
-
| Treemap | `<Treemap>` | Not yet supported |
|
|
91
|
-
| Sankey | `<Sankey>` | Not yet supported |
|
|
92
|
-
| Sunburst | `<SunburstChart>` | Not yet supported |
|
|
109
|
+
## Charts
|
|
93
110
|
|
|
94
|
-
|
|
111
|
+
| From Recharts | Component |
|
|
112
|
+
| --- | --- |
|
|
113
|
+
| Area, Bar, Line, Scatter | `AreaChart`, `BarChart`, `LineChart`, `ScatterChart` |
|
|
114
|
+
| Mixed series | `ComposedChart` |
|
|
115
|
+
| Pie, Radar, Radial bar | `PieChart`, `RadarChart`, `RadialBarChart` |
|
|
116
|
+
| Funnel | `FunnelChart` |
|
|
117
|
+
| Hierarchy and flow | `Treemap`, `SunburstChart`, `Sankey` |
|
|
95
118
|
|
|
96
|
-
|
|
119
|
+
| Added by vccs | Use it for |
|
|
120
|
+
| --- | --- |
|
|
121
|
+
| `BarList` | Ranked lists with inline bars |
|
|
122
|
+
| `Sparkline` | Small trend lines inside text or tables |
|
|
123
|
+
| `Tracker` | Status over time, one block per period |
|
|
124
|
+
| `Heatmap` | Values on a grid of two categories |
|
|
125
|
+
| `CalendarHeatmap` | Daily values over a year |
|
|
126
|
+
| `CohortChart` | Retention by cohort and period |
|
|
127
|
+
| `JourneySankey` | Paths that users take, step by step |
|
|
97
128
|
|
|
98
|
-
|
|
129
|
+
Building blocks:
|
|
99
130
|
|
|
100
|
-
|
|
131
|
+
- Series: `Area`, `Bar`, `Line`, `Scatter`, `Pie`, `Radar`, `RadialBar`, `Funnel`
|
|
132
|
+
- Axes and grids: `XAxis`, `YAxis`, `ZAxis`, `CartesianAxis`, `CartesianGrid`, `PolarGrid`,
|
|
133
|
+
`PolarAngleAxis`, `PolarRadiusAxis`
|
|
134
|
+
- Annotations: `ReferenceLine`, `ReferenceArea`, `ReferenceDot`, `ErrorBar`, `Brush`
|
|
135
|
+
- Tooltip, legend and text: `Tooltip`, `Legend`, `Label`, `LabelList`, `Text`, `Cell`
|
|
136
|
+
- Shapes: `Rectangle`, `Dot`, `Sector`, `Curve`, `Symbols`, `Cross`, `Polygon`, `Trapezoid`
|
|
101
137
|
|
|
102
|
-
|
|
138
|
+
`ResponsiveContainer` and `Customized` still work but are deprecated and are removed in 2.0.
|
|
139
|
+
Charts are responsive without a wrapper, and custom SVG goes in the chart's default slot (see
|
|
140
|
+
the migration guide).
|
|
103
141
|
|
|
104
|
-
##
|
|
142
|
+
## What works the Vue way
|
|
105
143
|
|
|
106
|
-
- **
|
|
107
|
-
|
|
108
|
-
-
|
|
109
|
-
- **
|
|
110
|
-
- **
|
|
111
|
-
- **
|
|
144
|
+
- **Models:** `v-model:active-index` on `Tooltip`, `Bar`, `Pie` and the standalone charts
|
|
145
|
+
(`Sparkline`, `Tracker`, `Heatmap`, `CohortChart`, `CalendarHeatmap`); `v-model:range` on
|
|
146
|
+
`Brush`; `v-model:hidden` on `Legend`.
|
|
147
|
+
- **Slots:** custom shapes, dots, ticks, labels and tooltip content are named slots.
|
|
148
|
+
- **Events:** item events receive `(item, index, event)`.
|
|
149
|
+
- **Server rendering:** charts render on the server and hydrate without layout jumps.
|
|
150
|
+
- **Motion:** enter, update and exit animations follow `prefers-reduced-motion`.
|
|
151
|
+
- **Accessibility:** every chart has an accessible name, and item charts support the keyboard.
|
|
112
152
|
|
|
113
|
-
##
|
|
153
|
+
## Upgrading from 0.x
|
|
114
154
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
155
|
+
1.0 changes some props, events and exports. The
|
|
156
|
+
[migration guide](https://github.com/unovue/vue-charts/blob/main/docs/content/1.getting-started/3.migration.md)
|
|
157
|
+
lists every change with a before and after example.
|
|
118
158
|
|
|
119
|
-
##
|
|
159
|
+
## Links
|
|
120
160
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
docs/ # Documentation site (Nuxt 3 + Docus)
|
|
125
|
-
```
|
|
161
|
+
- [Documentation](https://vue-charts.com) ([source](https://github.com/unovue/vue-charts/tree/main/docs/content))
|
|
162
|
+
- [Changelog](https://github.com/unovue/vue-charts/blob/main/CHANGELOG.md)
|
|
163
|
+
- [Issues](https://github.com/unovue/vue-charts/issues)
|
|
126
164
|
|
|
127
|
-
##
|
|
165
|
+
## Contribute
|
|
128
166
|
|
|
129
|
-
|
|
130
|
-
pnpm install
|
|
131
|
-
|
|
132
|
-
pnpm test # Run tests
|
|
133
|
-
pnpm test:coverage # Tests with coverage
|
|
134
|
-
pnpm storybook # Storybook
|
|
135
|
-
pnpm play # Nuxt playground
|
|
136
|
-
pnpm docs # Documentation site
|
|
137
|
-
```
|
|
167
|
+
The repository holds the library (`packages/vue`), the docs site (`docs`) and a Nuxt playground
|
|
168
|
+
(`playground/nuxt`). `pnpm install`, then `pnpm test` for the tests and `pnpm verify` for the
|
|
169
|
+
default checks (`--release` adds the slow browser gates, `--quick` skips the browser checks). `VERIFY.md` lists what each check proves.
|
|
138
170
|
|
|
139
171
|
## License
|
|
140
172
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
- **[Recharts](https://recharts.org)** — Original React charting library this project ports from
|
|
146
|
-
- **[Victory Vendor](https://github.com/FormidableLabs/victory)** — D3 math utilities
|
|
147
|
-
- **[Motion for Vue](https://motion.dev/docs/vue)** — Animation engine
|
|
148
|
-
- **[Redux Toolkit](https://redux-toolkit.js.org/)** — State management
|
|
149
|
-
- **[VueUse](https://vueuse.org/)** — Vue composition utilities
|
|
150
|
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
<p align="center">
|
|
154
|
-
<em>This is an unofficial port and is not affiliated with the original Recharts team.</em>
|
|
155
|
-
</p>
|
|
173
|
+
MIT. vccs is an unofficial port and is not affiliated with the Recharts team. It builds on
|
|
174
|
+
[Recharts](https://recharts.org), the [D3](https://d3js.org) modules `d3-scale`, `d3-shape`,
|
|
175
|
+
`d3-hierarchy` and `d3-sankey`, [Motion for Vue](https://motion.dev/docs/vue) and
|
|
176
|
+
[VueUse](https://vueuse.org).
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Radius and opacity appear together; pointer retargeting keeps the mounted dot. */
|
|
2
|
+
export declare const ActiveDot: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
3
|
+
isAnimationActive: {
|
|
4
|
+
type: BooleanConstructor;
|
|
5
|
+
default: boolean;
|
|
6
|
+
};
|
|
7
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
8
|
+
isAnimationActive: {
|
|
9
|
+
type: BooleanConstructor;
|
|
10
|
+
default: boolean;
|
|
11
|
+
};
|
|
12
|
+
}>> & Readonly<{}>, {
|
|
13
|
+
isAnimationActive: boolean;
|
|
14
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { ChartTransition } from './motion.js';
|
|
3
|
+
export interface MovingLabel {
|
|
4
|
+
key: PropertyKey;
|
|
5
|
+
text: string;
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
}
|
|
9
|
+
/** A child shares the chart's resize and hydration context with its cells. */
|
|
10
|
+
export declare const MovingLabels: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
11
|
+
labels: {
|
|
12
|
+
type: PropType<readonly MovingLabel[]>;
|
|
13
|
+
required: true;
|
|
14
|
+
};
|
|
15
|
+
isAnimationActive: {
|
|
16
|
+
type: BooleanConstructor;
|
|
17
|
+
default: boolean;
|
|
18
|
+
};
|
|
19
|
+
transition: {
|
|
20
|
+
type: PropType<ChartTransition>;
|
|
21
|
+
default: undefined;
|
|
22
|
+
};
|
|
23
|
+
textAnchor: {
|
|
24
|
+
type: PropType<"start" | "middle" | "end">;
|
|
25
|
+
default: undefined;
|
|
26
|
+
};
|
|
27
|
+
centered: {
|
|
28
|
+
type: BooleanConstructor;
|
|
29
|
+
default: boolean;
|
|
30
|
+
};
|
|
31
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
32
|
+
labels: {
|
|
33
|
+
type: PropType<readonly MovingLabel[]>;
|
|
34
|
+
required: true;
|
|
35
|
+
};
|
|
36
|
+
isAnimationActive: {
|
|
37
|
+
type: BooleanConstructor;
|
|
38
|
+
default: boolean;
|
|
39
|
+
};
|
|
40
|
+
transition: {
|
|
41
|
+
type: PropType<ChartTransition>;
|
|
42
|
+
default: undefined;
|
|
43
|
+
};
|
|
44
|
+
textAnchor: {
|
|
45
|
+
type: PropType<"start" | "middle" | "end">;
|
|
46
|
+
default: undefined;
|
|
47
|
+
};
|
|
48
|
+
centered: {
|
|
49
|
+
type: BooleanConstructor;
|
|
50
|
+
default: boolean;
|
|
51
|
+
};
|
|
52
|
+
}>> & Readonly<{}>, {
|
|
53
|
+
textAnchor: "end" | "start" | "middle";
|
|
54
|
+
isAnimationActive: boolean;
|
|
55
|
+
transition: ChartTransition;
|
|
56
|
+
centered: boolean;
|
|
57
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/** Plot bounds also sweep flat lines, whose object bounding box has zero height. */
|
|
2
|
+
export declare const SweepClip: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
3
|
+
id: {
|
|
4
|
+
type: StringConstructor;
|
|
5
|
+
required: true;
|
|
6
|
+
};
|
|
7
|
+
progress: {
|
|
8
|
+
type: NumberConstructor;
|
|
9
|
+
required: true;
|
|
10
|
+
};
|
|
11
|
+
vertical: BooleanConstructor;
|
|
12
|
+
x: {
|
|
13
|
+
type: NumberConstructor;
|
|
14
|
+
required: true;
|
|
15
|
+
};
|
|
16
|
+
y: {
|
|
17
|
+
type: NumberConstructor;
|
|
18
|
+
required: true;
|
|
19
|
+
};
|
|
20
|
+
width: {
|
|
21
|
+
type: NumberConstructor;
|
|
22
|
+
required: true;
|
|
23
|
+
};
|
|
24
|
+
height: {
|
|
25
|
+
type: NumberConstructor;
|
|
26
|
+
required: true;
|
|
27
|
+
};
|
|
28
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
29
|
+
id: {
|
|
30
|
+
type: StringConstructor;
|
|
31
|
+
required: true;
|
|
32
|
+
};
|
|
33
|
+
progress: {
|
|
34
|
+
type: NumberConstructor;
|
|
35
|
+
required: true;
|
|
36
|
+
};
|
|
37
|
+
vertical: BooleanConstructor;
|
|
38
|
+
x: {
|
|
39
|
+
type: NumberConstructor;
|
|
40
|
+
required: true;
|
|
41
|
+
};
|
|
42
|
+
y: {
|
|
43
|
+
type: NumberConstructor;
|
|
44
|
+
required: true;
|
|
45
|
+
};
|
|
46
|
+
width: {
|
|
47
|
+
type: NumberConstructor;
|
|
48
|
+
required: true;
|
|
49
|
+
};
|
|
50
|
+
height: {
|
|
51
|
+
type: NumberConstructor;
|
|
52
|
+
required: true;
|
|
53
|
+
};
|
|
54
|
+
}>> & Readonly<{}>, {
|
|
55
|
+
vertical: boolean;
|
|
56
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/** A cell of a keyed grid as the transition plan sees it. */
|
|
2
|
+
export interface GridItem {
|
|
3
|
+
/** Stable identity across data changes. */
|
|
4
|
+
key: string;
|
|
5
|
+
row: number;
|
|
6
|
+
column: number;
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
}
|
|
12
|
+
interface GridSeams<C extends GridItem> {
|
|
13
|
+
/** Where an arriving cell starts: a zero-thick line on the seam it opens. */
|
|
14
|
+
enter: Map<string, C>;
|
|
15
|
+
/** Where a leaving cell ends: a zero-thick line on the seam it closes. */
|
|
16
|
+
exit: Map<string, C>;
|
|
17
|
+
}
|
|
18
|
+
export interface GridTransitionPlan<C extends GridItem> {
|
|
19
|
+
/** On-screen identity per cell key. */
|
|
20
|
+
keys: Map<string, string>;
|
|
21
|
+
/** Cells that move far against the common move: they shrink and regrow instead of streaking. */
|
|
22
|
+
jumping: Set<string>;
|
|
23
|
+
seams: GridSeams<C>;
|
|
24
|
+
}
|
|
25
|
+
export declare function emptyGridTransitionPlan<C extends GridItem>(): GridTransitionPlan<C>;
|
|
26
|
+
/**
|
|
27
|
+
* Plans how a keyed grid moves from `previous` to `next`. Identity on screen is usually the
|
|
28
|
+
* cell's own key, with two exceptions decided per change:
|
|
29
|
+
* - A few cells move far against the common grid move (Sundays wrapping to the last row when
|
|
30
|
+
* the week start changes): they shrink and regrow in place instead of streaking across.
|
|
31
|
+
* - Nothing stays, or most cells would have to jump (a different year, a reversed axis):
|
|
32
|
+
* new cells take over the node at the same grid position, so the grid recolors in place
|
|
33
|
+
* instead of every cell shrinking and growing at once.
|
|
34
|
+
*
|
|
35
|
+
* `generation` must differ per call; it keeps a reused on-screen key unique.
|
|
36
|
+
*/
|
|
37
|
+
export declare function planGridTransition<C extends GridItem>(previous: readonly C[], next: readonly C[], previousKeys: ReadonlyMap<string, string>, generation: number): GridTransitionPlan<C>;
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { ValueAnimationTransition } from 'motion-v';
|
|
2
|
+
/** Options for a chart element's `transition` prop: duration, ease, delay, or a spring. */
|
|
3
|
+
export type ChartTransition = ValueAnimationTransition<number>;
|
|
4
|
+
export interface Reveal<T> {
|
|
5
|
+
from?: (to: T) => T;
|
|
6
|
+
order?: (to: T) => number;
|
|
7
|
+
}
|
|
8
|
+
export interface PhaseTiming {
|
|
9
|
+
/** Seconds. */
|
|
10
|
+
duration: number;
|
|
11
|
+
ease: (t: number) => number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Default timings shared by chart elements. Lines and areas keep drawing at their steady
|
|
15
|
+
* pace after bars land. Elements leave faster than they arrive, so exits clear the way.
|
|
16
|
+
*/
|
|
17
|
+
export declare const motionTokens: {
|
|
18
|
+
/**
|
|
19
|
+
* First appearance: long enough to watch the chart build up, and decelerating gently, so most
|
|
20
|
+
* of it is not over in the first frames (a quint curve finished two thirds in 120 ms).
|
|
21
|
+
*/
|
|
22
|
+
readonly enter: {
|
|
23
|
+
readonly duration: 1;
|
|
24
|
+
readonly ease: (t: number) => number;
|
|
25
|
+
};
|
|
26
|
+
/** Data changes: same curve, shorter, so interruptions feel responsive. */
|
|
27
|
+
readonly update: {
|
|
28
|
+
readonly duration: 0.5;
|
|
29
|
+
readonly ease: (t: number) => number;
|
|
30
|
+
};
|
|
31
|
+
/** Removed elements: the same curve, shorter still, so they clear the way for the rest. */
|
|
32
|
+
readonly exit: {
|
|
33
|
+
readonly duration: 0.3;
|
|
34
|
+
readonly ease: (t: number) => number;
|
|
35
|
+
};
|
|
36
|
+
/** Pointer feedback and tooltip appearance share the CSS ease-out curve. */
|
|
37
|
+
readonly feedback: {
|
|
38
|
+
readonly duration: 0.15;
|
|
39
|
+
readonly ease: "easeOut";
|
|
40
|
+
readonly cssEase: "ease-out";
|
|
41
|
+
};
|
|
42
|
+
readonly color: {
|
|
43
|
+
readonly duration: 0.3;
|
|
44
|
+
readonly ease: "easeOut";
|
|
45
|
+
readonly cssEase: "ease-out";
|
|
46
|
+
};
|
|
47
|
+
readonly follow: {
|
|
48
|
+
readonly type: "spring";
|
|
49
|
+
readonly stiffness: 500;
|
|
50
|
+
readonly damping: 40;
|
|
51
|
+
readonly mass: 1;
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* A cascade entrance: items start one after another over the first `spread` of `duration` and
|
|
56
|
+
* each takes the rest on the entrance curve, so the wave reads as one gesture, not many.
|
|
57
|
+
*/
|
|
58
|
+
export declare const cascadeTiming: {
|
|
59
|
+
duration: number;
|
|
60
|
+
spread: number;
|
|
61
|
+
ease: (t: number) => number;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* A line drawing itself on first appearance. Its tip travels the whole curve, so the duration
|
|
65
|
+
* follows the length it travels: 1.2 s up to 500 px, 0.2 s more per further 1000 px, at most
|
|
66
|
+
* 2 s. A dense line then never races faster than the eye can follow, and a short one does not
|
|
67
|
+
* crawl. The curve starts gently and settles for longer than it accelerates.
|
|
68
|
+
*/
|
|
69
|
+
export declare function drawTiming(length: number): PhaseTiming;
|
|
70
|
+
interface CascadeBox {
|
|
71
|
+
x: number;
|
|
72
|
+
y: number;
|
|
73
|
+
width: number;
|
|
74
|
+
height: number;
|
|
75
|
+
}
|
|
76
|
+
/** The diagonal reveal shared by treemaps and cell charts; timelines slide instead. */
|
|
77
|
+
export declare function cascadeReveal<T extends CascadeBox>(cells: readonly CascadeBox[], style?: 'cascade' | 'slide'): Reveal<T> | undefined;
|
|
78
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { DisplayItem } from './useKeyedTransition.js';
|
|
2
|
+
/**
|
|
3
|
+
* Labels ride along with their shape on every frame and show the new value at once. A label
|
|
4
|
+
* fades with a shape that enters or leaves; settled and moving shapes keep full opacity.
|
|
5
|
+
*/
|
|
6
|
+
export declare function labelOpacity(item: DisplayItem<unknown>): number | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* The labels of points the reveal has passed. `reached(point, index)` is the share of the
|
|
9
|
+
* reveal at which it reaches the point. Each label fades in behind the edge and is fully shown
|
|
10
|
+
* when the reveal ends; all of them are unchanged once it has finished.
|
|
11
|
+
*/
|
|
12
|
+
export declare function sweptLabels<P extends {
|
|
13
|
+
opacity?: number;
|
|
14
|
+
}>(points: readonly P[], reveal: number, reached: (point: P, index: number) => number | undefined): readonly P[];
|
|
15
|
+
/** Where a straight sweep across `start`..`start + size` reaches a coordinate, as a share. */
|
|
16
|
+
export declare function sweepShare(position: number | null | undefined, start: number, size: number): number | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Where a line drawn along its length reaches each point, as a share of its length; straight
|
|
19
|
+
* segments between the points approximate the curve. Gaps (null coordinates) are skipped.
|
|
20
|
+
*/
|
|
21
|
+
export declare function lengthShares(points: readonly {
|
|
22
|
+
x?: number | null;
|
|
23
|
+
y?: number | null;
|
|
24
|
+
}[]): (number | undefined)[];
|
|
25
|
+
/** The length of the straight segments through the points, skipping gaps. */
|
|
26
|
+
export declare function polylineLength(points: readonly {
|
|
27
|
+
x?: number | null;
|
|
28
|
+
y?: number | null;
|
|
29
|
+
}[]): number;
|