@octanejs/visx 0.1.0
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 +21 -0
- package/README.md +67 -0
- package/UPSTREAM.md +52 -0
- package/package.json +161 -0
- package/src/a11y/components/ChartA11yAnnouncer.tsrx +40 -0
- package/src/a11y/components/ChartA11yAnnouncer.tsrx.d.ts +14 -0
- package/src/a11y/components/ChartA11yDataTable.tsrx +40 -0
- package/src/a11y/components/ChartA11yDataTable.tsrx.d.ts +9 -0
- package/src/a11y/generators/ariaProps.ts +79 -0
- package/src/a11y/generators/dataTableHTML.ts +24 -0
- package/src/a11y/generators/description.ts +125 -0
- package/src/a11y/index.ts +35 -0
- package/src/a11y/keyboard/stateMachine.ts +231 -0
- package/src/a11y/react/index.ts +59 -0
- package/src/a11y/server.ts +29 -0
- package/src/a11y/types.ts +104 -0
- package/src/a11y/useChartA11y.tsrx +144 -0
- package/src/a11y/useChartA11y.tsrx.d.ts +27 -0
- package/src/a11y/useChartKeyboardNav.tsrx +234 -0
- package/src/a11y/useChartKeyboardNav.tsrx.d.ts +26 -0
- package/src/a11y/utils/data.ts +80 -0
- package/src/a11y/utils/format.ts +73 -0
- package/src/a11y/utils/table.ts +81 -0
- package/src/annotation/components/Annotation.tsrx +14 -0
- package/src/annotation/components/Annotation.tsrx.d.ts +8 -0
- package/src/annotation/components/CircleSubject.tsrx +37 -0
- package/src/annotation/components/CircleSubject.tsrx.d.ts +12 -0
- package/src/annotation/components/Connector.tsrx +75 -0
- package/src/annotation/components/Connector.tsrx.d.ts +14 -0
- package/src/annotation/components/EditableAnnotation.tsrx +179 -0
- package/src/annotation/components/EditableAnnotation.tsrx.d.ts +33 -0
- package/src/annotation/components/HtmlLabel.tsrx +93 -0
- package/src/annotation/components/HtmlLabel.tsrx.d.ts +10 -0
- package/src/annotation/components/Label.tsrx +249 -0
- package/src/annotation/components/Label.tsrx.d.ts +60 -0
- package/src/annotation/components/LabelAnchorLine.tsrx +32 -0
- package/src/annotation/components/LabelAnchorLine.tsrx.d.ts +12 -0
- package/src/annotation/components/LineSubject.tsrx +50 -0
- package/src/annotation/components/LineSubject.tsrx.d.ts +21 -0
- package/src/annotation/context/AnnotationContext.tsrx +6 -0
- package/src/annotation/context/AnnotationContext.tsrx.d.ts +4 -0
- package/src/annotation/index.ts +18 -0
- package/src/annotation/types/index.ts +10 -0
- package/src/axis/axis/Axis.tsrx +54 -0
- package/src/axis/axis/Axis.tsrx.d.ts +7 -0
- package/src/axis/axis/AxisBottom.tsrx +37 -0
- package/src/axis/axis/AxisBottom.tsrx.d.ts +10 -0
- package/src/axis/axis/AxisLeft.tsrx +37 -0
- package/src/axis/axis/AxisLeft.tsrx.d.ts +11 -0
- package/src/axis/axis/AxisRenderer.tsrx +102 -0
- package/src/axis/axis/AxisRenderer.tsrx.d.ts +3 -0
- package/src/axis/axis/AxisRight.tsrx +39 -0
- package/src/axis/axis/AxisRight.tsrx.d.ts +12 -0
- package/src/axis/axis/AxisTop.tsrx +38 -0
- package/src/axis/axis/AxisTop.tsrx.d.ts +11 -0
- package/src/axis/axis/Ticks.tsrx +56 -0
- package/src/axis/axis/Ticks.tsrx.d.ts +3 -0
- package/src/axis/constants/orientation.ts +12 -0
- package/src/axis/index.ts +10 -0
- package/src/axis/react/index.ts +5 -0
- package/src/axis/react/useAxis.tsrx +89 -0
- package/src/axis/react/useAxis.tsrx.d.ts +13 -0
- package/src/axis/types.ts +145 -0
- package/src/axis/utils/createPoint.ts +5 -0
- package/src/axis/utils/getAxisRangePaddingConfig.ts +11 -0
- package/src/axis/utils/getLabelTransform.ts +44 -0
- package/src/axis/utils/getTickFormatter.ts +19 -0
- package/src/axis/utils/getTickPosition.ts +28 -0
- package/src/bounds/enhancers/withBoundingRects.tsrx +59 -0
- package/src/bounds/enhancers/withBoundingRects.tsrx.d.ts +21 -0
- package/src/bounds/index.ts +6 -0
- package/src/brush/BaseBrush.tsrx +567 -0
- package/src/brush/BaseBrush.tsrx.d.ts +39 -0
- package/src/brush/Brush.tsrx +217 -0
- package/src/brush/Brush.tsrx.d.ts +56 -0
- package/src/brush/BrushCorner.tsrx +173 -0
- package/src/brush/BrushCorner.tsrx.d.ts +21 -0
- package/src/brush/BrushHandle.tsrx +222 -0
- package/src/brush/BrushHandle.tsrx.d.ts +33 -0
- package/src/brush/BrushOverlay.tsrx +18 -0
- package/src/brush/BrushOverlay.tsrx.d.ts +15 -0
- package/src/brush/BrushSelection.tsrx +181 -0
- package/src/brush/BrushSelection.tsrx.d.ts +27 -0
- package/src/brush/index.ts +9 -0
- package/src/brush/types.ts +62 -0
- package/src/brush/utils.ts +89 -0
- package/src/chart/config.ts +50 -0
- package/src/chart/domains.ts +47 -0
- package/src/chart/index.ts +33 -0
- package/src/chart/responsive.ts +3 -0
- package/src/chart/ticks.ts +90 -0
- package/src/chart/useChartDimensions.tsrx +74 -0
- package/src/chart/useChartDimensions.tsrx.d.ts +28 -0
- package/src/chord/Chord.tsrx +42 -0
- package/src/chord/Chord.tsrx.d.ts +22 -0
- package/src/chord/Ribbon.tsrx +63 -0
- package/src/chord/Ribbon.tsrx.d.ts +26 -0
- package/src/chord/index.ts +6 -0
- package/src/clip-path/clip-paths/CircleClipPath.tsrx +26 -0
- package/src/clip-path/clip-paths/CircleClipPath.tsrx.d.ts +14 -0
- package/src/clip-path/clip-paths/ClipPath.tsrx +21 -0
- package/src/clip-path/clip-paths/ClipPath.tsrx.d.ts +10 -0
- package/src/clip-path/clip-paths/RectClipPath.tsrx +28 -0
- package/src/clip-path/clip-paths/RectClipPath.tsrx.d.ts +15 -0
- package/src/clip-path/index.ts +4 -0
- package/src/curve/index.ts +21 -0
- package/src/delaunay/components/Polygon.tsrx +32 -0
- package/src/delaunay/components/Polygon.tsrx.d.ts +14 -0
- package/src/delaunay/delaunay.ts +17 -0
- package/src/delaunay/index.ts +4 -0
- package/src/delaunay/voronoi.ts +30 -0
- package/src/drag/Drag.tsrx +66 -0
- package/src/drag/Drag.tsrx.d.ts +17 -0
- package/src/drag/index.ts +13 -0
- package/src/drag/useDrag.tsrx +214 -0
- package/src/drag/useDrag.tsrx.d.ts +60 -0
- package/src/drag/util/clampNumber.ts +4 -0
- package/src/drag/util/getClosestPoint.ts +13 -0
- package/src/drag/util/raise.ts +8 -0
- package/src/drag/util/restrictPoint.ts +18 -0
- package/src/drag/util/useSamplesAlongPath.tsrx +26 -0
- package/src/drag/util/useSamplesAlongPath.tsrx.d.ts +3 -0
- package/src/drag/util/useStateWithCallback.tsrx +26 -0
- package/src/drag/util/useStateWithCallback.tsrx.d.ts +5 -0
- package/src/event/getXAndYFromEvent.ts +36 -0
- package/src/event/index.ts +3 -0
- package/src/event/localPoint.ts +18 -0
- package/src/event/localPointGeneric.ts +34 -0
- package/src/event/touchPoint.ts +2 -0
- package/src/event/typeGuards.ts +37 -0
- package/src/event/types.ts +13 -0
- package/src/external.d.ts +3 -0
- package/src/geo/graticule/Graticule.tsrx +97 -0
- package/src/geo/graticule/Graticule.tsrx.d.ts +52 -0
- package/src/geo/index.ts +13 -0
- package/src/geo/projections/Albers.tsrx +10 -0
- package/src/geo/projections/Albers.tsrx.d.ts +7 -0
- package/src/geo/projections/AlbersUsa.tsrx +10 -0
- package/src/geo/projections/AlbersUsa.tsrx.d.ts +7 -0
- package/src/geo/projections/CustomProjection.tsrx +10 -0
- package/src/geo/projections/CustomProjection.tsrx.d.ts +7 -0
- package/src/geo/projections/EqualEarth.tsrx +10 -0
- package/src/geo/projections/EqualEarth.tsrx.d.ts +7 -0
- package/src/geo/projections/Mercator.tsrx +10 -0
- package/src/geo/projections/Mercator.tsrx.d.ts +7 -0
- package/src/geo/projections/NaturalEarth.tsrx +10 -0
- package/src/geo/projections/NaturalEarth.tsrx.d.ts +7 -0
- package/src/geo/projections/Orthographic.tsrx +10 -0
- package/src/geo/projections/Orthographic.tsrx.d.ts +7 -0
- package/src/geo/projections/Projection.tsrx +201 -0
- package/src/geo/projections/Projection.tsrx.d.ts +86 -0
- package/src/geo/types.ts +14 -0
- package/src/glyph/glyphs/Glyph.tsrx +18 -0
- package/src/glyph/glyphs/Glyph.tsrx.d.ts +13 -0
- package/src/glyph/glyphs/GlyphCircle.tsrx +46 -0
- package/src/glyph/glyphs/GlyphCircle.tsrx.d.ts +18 -0
- package/src/glyph/glyphs/GlyphCross.tsrx +46 -0
- package/src/glyph/glyphs/GlyphCross.tsrx.d.ts +18 -0
- package/src/glyph/glyphs/GlyphDiamond.tsrx +46 -0
- package/src/glyph/glyphs/GlyphDiamond.tsrx.d.ts +18 -0
- package/src/glyph/glyphs/GlyphDot.tsrx +29 -0
- package/src/glyph/glyphs/GlyphDot.tsrx.d.ts +17 -0
- package/src/glyph/glyphs/GlyphSquare.tsrx +46 -0
- package/src/glyph/glyphs/GlyphSquare.tsrx.d.ts +18 -0
- package/src/glyph/glyphs/GlyphStar.tsrx +45 -0
- package/src/glyph/glyphs/GlyphStar.tsrx.d.ts +18 -0
- package/src/glyph/glyphs/GlyphTriangle.tsrx +46 -0
- package/src/glyph/glyphs/GlyphTriangle.tsrx.d.ts +18 -0
- package/src/glyph/glyphs/GlyphWye.tsrx +45 -0
- package/src/glyph/glyphs/GlyphWye.tsrx.d.ts +18 -0
- package/src/glyph/index.ts +20 -0
- package/src/gradient/gradients/GradientDarkgreenGreen.tsrx +13 -0
- package/src/gradient/gradients/GradientDarkgreenGreen.tsrx.d.ts +6 -0
- package/src/gradient/gradients/GradientLightgreenGreen.tsrx +13 -0
- package/src/gradient/gradients/GradientLightgreenGreen.tsrx.d.ts +6 -0
- package/src/gradient/gradients/GradientOrangeRed.tsrx +13 -0
- package/src/gradient/gradients/GradientOrangeRed.tsrx.d.ts +6 -0
- package/src/gradient/gradients/GradientPinkBlue.tsrx +13 -0
- package/src/gradient/gradients/GradientPinkBlue.tsrx.d.ts +6 -0
- package/src/gradient/gradients/GradientPinkRed.tsrx +13 -0
- package/src/gradient/gradients/GradientPinkRed.tsrx.d.ts +6 -0
- package/src/gradient/gradients/GradientPurpleOrange.tsrx +13 -0
- package/src/gradient/gradients/GradientPurpleOrange.tsrx.d.ts +6 -0
- package/src/gradient/gradients/GradientPurpleRed.tsrx +13 -0
- package/src/gradient/gradients/GradientPurpleRed.tsrx.d.ts +6 -0
- package/src/gradient/gradients/GradientPurpleTeal.tsrx +13 -0
- package/src/gradient/gradients/GradientPurpleTeal.tsrx.d.ts +6 -0
- package/src/gradient/gradients/GradientSteelPurple.tsrx +13 -0
- package/src/gradient/gradients/GradientSteelPurple.tsrx.d.ts +6 -0
- package/src/gradient/gradients/GradientTealBlue.tsrx +13 -0
- package/src/gradient/gradients/GradientTealBlue.tsrx.d.ts +6 -0
- package/src/gradient/gradients/LinearGradient.tsrx +85 -0
- package/src/gradient/gradients/LinearGradient.tsrx.d.ts +37 -0
- package/src/gradient/gradients/RadialGradient.tsrx +43 -0
- package/src/gradient/gradients/RadialGradient.tsrx.d.ts +5 -0
- package/src/gradient/index.ts +16 -0
- package/src/grid/grids/Grid.tsrx +86 -0
- package/src/grid/grids/Grid.tsrx.d.ts +30 -0
- package/src/grid/grids/GridAngle.tsrx +74 -0
- package/src/grid/grids/GridAngle.tsrx.d.ts +29 -0
- package/src/grid/grids/GridColumns.tsrx +76 -0
- package/src/grid/grids/GridColumns.tsrx.d.ts +18 -0
- package/src/grid/grids/GridPolar.tsrx +189 -0
- package/src/grid/grids/GridPolar.tsrx.d.ts +123 -0
- package/src/grid/grids/GridRadial.tsrx +92 -0
- package/src/grid/grids/GridRadial.tsrx.d.ts +44 -0
- package/src/grid/grids/GridRows.tsrx +76 -0
- package/src/grid/grids/GridRows.tsrx.d.ts +18 -0
- package/src/grid/index.ts +11 -0
- package/src/grid/types.ts +40 -0
- package/src/grid/utils/getScaleBandwidth.ts +5 -0
- package/src/grid/utils/polarToCartesian.ts +16 -0
- package/src/group/Group.tsrx +33 -0
- package/src/group/Group.tsrx.d.ts +16 -0
- package/src/group/index.ts +2 -0
- package/src/heatmap/heatmaps/HeatmapCircle.tsrx +109 -0
- package/src/heatmap/heatmaps/HeatmapCircle.tsrx.d.ts +44 -0
- package/src/heatmap/heatmaps/HeatmapRect.tsrx +121 -0
- package/src/heatmap/heatmaps/HeatmapRect.tsrx.d.ts +49 -0
- package/src/heatmap/index.ts +11 -0
- package/src/heatmap/types.ts +22 -0
- package/src/hierarchy/HierarchyDefaultLink.tsrx +19 -0
- package/src/hierarchy/HierarchyDefaultLink.tsrx.d.ts +13 -0
- package/src/hierarchy/HierarchyDefaultNode.tsrx +7 -0
- package/src/hierarchy/HierarchyDefaultNode.tsrx.d.ts +9 -0
- package/src/hierarchy/HierarchyDefaultRectNode.tsrx +7 -0
- package/src/hierarchy/HierarchyDefaultRectNode.tsrx.d.ts +10 -0
- package/src/hierarchy/hierarchies/Cluster.tsrx +81 -0
- package/src/hierarchy/hierarchies/Cluster.tsrx.d.ts +40 -0
- package/src/hierarchy/hierarchies/Pack.tsrx +69 -0
- package/src/hierarchy/hierarchies/Pack.tsrx.d.ts +35 -0
- package/src/hierarchy/hierarchies/Partition.tsrx +62 -0
- package/src/hierarchy/hierarchies/Partition.tsrx.d.ts +27 -0
- package/src/hierarchy/hierarchies/Tree.tsrx +82 -0
- package/src/hierarchy/hierarchies/Tree.tsrx.d.ts +43 -0
- package/src/hierarchy/hierarchies/Treemap.tsrx +97 -0
- package/src/hierarchy/hierarchies/Treemap.tsrx.d.ts +47 -0
- package/src/hierarchy/index.ts +26 -0
- package/src/hierarchy/types.ts +21 -0
- package/src/hierarchy/utils/setNumOrNumAccessor.ts +11 -0
- package/src/index.ts +74 -0
- package/src/internal/spring.tsrx +190 -0
- package/src/internal/spring.tsrx.d.ts +28 -0
- package/src/internal/useMeasure.tsrx +120 -0
- package/src/internal/useMeasure.tsrx.d.ts +22 -0
- package/src/kernel/accessors/normalizeAccessor.ts +59 -0
- package/src/kernel/domain/useDomain.tsrx +111 -0
- package/src/kernel/domain/useDomain.tsrx.d.ts +13 -0
- package/src/kernel/format/formatNumber.ts +8 -0
- package/src/kernel/ids/useStableId.tsrx +7 -0
- package/src/kernel/ids/useStableId.tsrx.d.ts +2 -0
- package/src/kernel/index.ts +25 -0
- package/src/kernel/memo/shallowEqual.ts +65 -0
- package/src/kernel/memo/useStructuralMemo.tsrx +18 -0
- package/src/kernel/memo/useStructuralMemo.tsrx.d.ts +3 -0
- package/src/kernel/path/createPath.ts +132 -0
- package/src/kernel/path/toPath2D.ts +41 -0
- package/src/kernel/refs/useLatestRef.tsrx +7 -0
- package/src/kernel/refs/useLatestRef.tsrx.d.ts +4 -0
- package/src/kernel/refs/useStableCallback.tsrx +13 -0
- package/src/kernel/refs/useStableCallback.tsrx.d.ts +2 -0
- package/src/kernel/warnings.ts +76 -0
- package/src/legend/index.ts +27 -0
- package/src/legend/legends/Legend/LegendItem.tsrx +35 -0
- package/src/legend/legends/Legend/LegendItem.tsrx.d.ts +16 -0
- package/src/legend/legends/Legend/LegendLabel.tsrx +39 -0
- package/src/legend/legends/Legend/LegendLabel.tsrx.d.ts +16 -0
- package/src/legend/legends/Legend/LegendShape.tsrx +64 -0
- package/src/legend/legends/Legend/LegendShape.tsrx.d.ts +25 -0
- package/src/legend/legends/Legend/index.tsrx +140 -0
- package/src/legend/legends/Legend/index.tsrx.d.ts +50 -0
- package/src/legend/legends/Linear.tsrx +23 -0
- package/src/legend/legends/Linear.tsrx.d.ts +11 -0
- package/src/legend/legends/Ordinal.tsrx +13 -0
- package/src/legend/legends/Ordinal.tsrx.d.ts +8 -0
- package/src/legend/legends/Quantile.tsrx +53 -0
- package/src/legend/legends/Quantile.tsrx.d.ts +12 -0
- package/src/legend/legends/Size.tsrx +37 -0
- package/src/legend/legends/Size.tsrx.d.ts +14 -0
- package/src/legend/legends/Threshold.tsrx +108 -0
- package/src/legend/legends/Threshold.tsrx.d.ts +23 -0
- package/src/legend/shapes/Circle.tsrx +27 -0
- package/src/legend/shapes/Circle.tsrx.d.ts +13 -0
- package/src/legend/shapes/Line.tsrx +33 -0
- package/src/legend/shapes/Line.tsrx.d.ts +13 -0
- package/src/legend/shapes/Rect.tsrx +23 -0
- package/src/legend/shapes/Rect.tsrx.d.ts +13 -0
- package/src/legend/types/index.ts +64 -0
- package/src/legend/util/defaultDomain.ts +21 -0
- package/src/legend/util/identity.ts +3 -0
- package/src/legend/util/labelTransformFactory.ts +18 -0
- package/src/legend/util/renderShape.ts +67 -0
- package/src/legend/util/valueOrIdentity.ts +12 -0
- package/src/marker/index.ts +9 -0
- package/src/marker/markers/Arrow.tsrx +30 -0
- package/src/marker/markers/Arrow.tsrx.d.ts +3 -0
- package/src/marker/markers/Circle.tsrx +26 -0
- package/src/marker/markers/Circle.tsrx.d.ts +3 -0
- package/src/marker/markers/Cross.tsrx +27 -0
- package/src/marker/markers/Cross.tsrx.d.ts +3 -0
- package/src/marker/markers/Line.tsrx +29 -0
- package/src/marker/markers/Line.tsrx.d.ts +3 -0
- package/src/marker/markers/Marker.tsrx +46 -0
- package/src/marker/markers/Marker.tsrx.d.ts +25 -0
- package/src/marker/markers/X.tsrx +6 -0
- package/src/marker/markers/X.tsrx.d.ts +3 -0
- package/src/mock-data/generators/genBin.ts +28 -0
- package/src/mock-data/generators/genBins.ts +27 -0
- package/src/mock-data/generators/genDateValue.ts +22 -0
- package/src/mock-data/generators/genPhyllotaxis.ts +27 -0
- package/src/mock-data/generators/genRandomNormalPoints.ts +32 -0
- package/src/mock-data/generators/genStats.ts +96 -0
- package/src/mock-data/generators/getSeededRandom.ts +9 -0
- package/src/mock-data/index.ts +40 -0
- package/src/mock-data/mocks/appleStock.ts +1289 -0
- package/src/mock-data/mocks/bitcoinPrice.ts +382 -0
- package/src/mock-data/mocks/browserUsage.ts +4053 -0
- package/src/mock-data/mocks/cityTemperature.ts +2207 -0
- package/src/mock-data/mocks/exoplanets.ts +5295 -0
- package/src/mock-data/mocks/groupDateValue.ts +22 -0
- package/src/mock-data/mocks/lesMiserables.ts +355 -0
- package/src/mock-data/mocks/letterFrequency.ts +35 -0
- package/src/mock-data/mocks/planets.ts +55 -0
- package/src/mock-data/mocks/shakespeare.ts +1870 -0
- package/src/network/DefaultLink.tsrx +16 -0
- package/src/network/DefaultLink.tsrx.d.ts +3 -0
- package/src/network/DefaultNode.tsrx +16 -0
- package/src/network/DefaultNode.tsrx.d.ts +9 -0
- package/src/network/Graph.tsrx +43 -0
- package/src/network/Graph.tsrx.d.ts +16 -0
- package/src/network/Links.tsrx +27 -0
- package/src/network/Links.tsrx.d.ts +12 -0
- package/src/network/Nodes.tsrx +41 -0
- package/src/network/Nodes.tsrx.d.ts +17 -0
- package/src/network/index.ts +11 -0
- package/src/network/types.ts +22 -0
- package/src/pattern/constants/index.ts +8 -0
- package/src/pattern/index.ts +16 -0
- package/src/pattern/patterns/Circles.tsrx +78 -0
- package/src/pattern/patterns/Circles.tsrx.d.ts +26 -0
- package/src/pattern/patterns/Hexagons.tsrx +63 -0
- package/src/pattern/patterns/Hexagons.tsrx.d.ts +26 -0
- package/src/pattern/patterns/Lines.tsrx +95 -0
- package/src/pattern/patterns/Lines.tsrx.d.ts +31 -0
- package/src/pattern/patterns/Path.tsrx +58 -0
- package/src/pattern/patterns/Path.tsrx.d.ts +28 -0
- package/src/pattern/patterns/Pattern.tsrx +25 -0
- package/src/pattern/patterns/Pattern.tsrx.d.ts +13 -0
- package/src/pattern/patterns/Waves.tsrx +69 -0
- package/src/pattern/patterns/Waves.tsrx.d.ts +26 -0
- package/src/point/Point.ts +20 -0
- package/src/point/index.ts +4 -0
- package/src/point/subtractPoints.ts +8 -0
- package/src/point/sumPoints.ts +8 -0
- package/src/react-spring/axis/AnimatedAxis.tsrx +28 -0
- package/src/react-spring/axis/AnimatedAxis.tsrx.d.ts +7 -0
- package/src/react-spring/axis/AnimatedTicks.tsrx +85 -0
- package/src/react-spring/axis/AnimatedTicks.tsrx.d.ts +6 -0
- package/src/react-spring/grid/AnimatedGridColumns.tsrx +38 -0
- package/src/react-spring/grid/AnimatedGridColumns.tsrx.d.ts +6 -0
- package/src/react-spring/grid/AnimatedGridLines.tsrx +47 -0
- package/src/react-spring/grid/AnimatedGridLines.tsrx.d.ts +10 -0
- package/src/react-spring/grid/AnimatedGridRows.tsrx +38 -0
- package/src/react-spring/grid/AnimatedGridRows.tsrx.d.ts +6 -0
- package/src/react-spring/index.ts +7 -0
- package/src/react-spring/spring-configs/useLineTransitionConfig.tsrx +102 -0
- package/src/react-spring/spring-configs/useLineTransitionConfig.tsrx.d.ts +50 -0
- package/src/react-spring/types/index.ts +1 -0
- package/src/responsive/components/ParentSize.tsrx +66 -0
- package/src/responsive/components/ParentSize.tsrx.d.ts +21 -0
- package/src/responsive/components/ScaleSVG.tsrx +44 -0
- package/src/responsive/components/ScaleSVG.tsrx.d.ts +19 -0
- package/src/responsive/enhancers/withParentSize.tsrx +101 -0
- package/src/responsive/enhancers/withParentSize.tsrx.d.ts +17 -0
- package/src/responsive/enhancers/withScreenSize.tsrx +64 -0
- package/src/responsive/enhancers/withScreenSize.tsrx.d.ts +17 -0
- package/src/responsive/hooks/useParentSize.tsrx +103 -0
- package/src/responsive/hooks/useParentSize.tsrx.d.ts +25 -0
- package/src/responsive/hooks/useScreenSize.tsrx +53 -0
- package/src/responsive/hooks/useScreenSize.tsrx.d.ts +12 -0
- package/src/responsive/index.ts +21 -0
- package/src/responsive/types/index.ts +36 -0
- package/src/responsive/utils/debounce.ts +59 -0
- package/src/sankey/Sankey.tsrx +157 -0
- package/src/sankey/Sankey.tsrx.d.ts +54 -0
- package/src/sankey/index.ts +20 -0
- package/src/sankey/types.ts +10 -0
- package/src/scale/createScale.ts +176 -0
- package/src/scale/index.ts +31 -0
- package/src/scale/operators/align.ts +16 -0
- package/src/scale/operators/base.ts +16 -0
- package/src/scale/operators/clamp.ts +16 -0
- package/src/scale/operators/constant.ts +16 -0
- package/src/scale/operators/domain.ts +25 -0
- package/src/scale/operators/exponent.ts +16 -0
- package/src/scale/operators/interpolate.ts +23 -0
- package/src/scale/operators/nice.ts +81 -0
- package/src/scale/operators/padding.ts +30 -0
- package/src/scale/operators/range.ts +22 -0
- package/src/scale/operators/reverse.ts +23 -0
- package/src/scale/operators/round.ts +32 -0
- package/src/scale/operators/scaleOperator.ts +86 -0
- package/src/scale/operators/unknown.ts +16 -0
- package/src/scale/operators/zero.ts +21 -0
- package/src/scale/react/index.ts +3 -0
- package/src/scale/react/useScale.tsrx +48 -0
- package/src/scale/react/useScale.tsrx.d.ts +20 -0
- package/src/scale/scales/band.ts +19 -0
- package/src/scale/scales/linear.ts +21 -0
- package/src/scale/scales/log.ts +21 -0
- package/src/scale/scales/ordinal.ts +13 -0
- package/src/scale/scales/point.ts +19 -0
- package/src/scale/scales/power.ts +22 -0
- package/src/scale/scales/quantile.ts +12 -0
- package/src/scale/scales/quantize.ts +18 -0
- package/src/scale/scales/radial.ts +19 -0
- package/src/scale/scales/squareRoot.ts +21 -0
- package/src/scale/scales/symlog.ts +21 -0
- package/src/scale/scales/threshold.ts +14 -0
- package/src/scale/scales/time.ts +20 -0
- package/src/scale/scales/utc.ts +20 -0
- package/src/scale/types/Base.ts +14 -0
- package/src/scale/types/BaseScaleConfig.ts +123 -0
- package/src/scale/types/Nice.ts +1 -0
- package/src/scale/types/Scale.ts +96 -0
- package/src/scale/types/ScaleConfig.ts +210 -0
- package/src/scale/types/ScaleInterpolate.ts +14 -0
- package/src/scale/updateScale.ts +163 -0
- package/src/scale/utils/coerceNumber.ts +10 -0
- package/src/scale/utils/createColorInterpolator.ts +43 -0
- package/src/scale/utils/getTicks.ts +25 -0
- package/src/scale/utils/inferScaleType.ts +60 -0
- package/src/scale/utils/isUtcScale.ts +16 -0
- package/src/scale/utils/scaleCanBeZeroed.ts +25 -0
- package/src/scale/utils/toString.ts +5 -0
- package/src/shape/index.ts +96 -0
- package/src/shape/react/index.ts +5 -0
- package/src/shape/react/usePie.tsrx +60 -0
- package/src/shape/react/usePie.tsrx.d.ts +20 -0
- package/src/shape/shapes/Arc.tsrx +60 -0
- package/src/shape/shapes/Arc.tsrx.d.ts +17 -0
- package/src/shape/shapes/Area.tsrx +32 -0
- package/src/shape/shapes/Area.tsrx.d.ts +4 -0
- package/src/shape/shapes/AreaClosed.tsrx +47 -0
- package/src/shape/shapes/AreaClosed.tsrx.d.ts +6 -0
- package/src/shape/shapes/AreaStack.tsrx +78 -0
- package/src/shape/shapes/AreaStack.tsrx.d.ts +7 -0
- package/src/shape/shapes/Bar.tsrx +18 -0
- package/src/shape/shapes/Bar.tsrx.d.ts +10 -0
- package/src/shape/shapes/BarGroup.tsrx +131 -0
- package/src/shape/shapes/BarGroup.tsrx.d.ts +57 -0
- package/src/shape/shapes/BarGroupHorizontal.tsrx +100 -0
- package/src/shape/shapes/BarGroupHorizontal.tsrx.d.ts +21 -0
- package/src/shape/shapes/BarRounded.tsrx +153 -0
- package/src/shape/shapes/BarRounded.tsrx.d.ts +44 -0
- package/src/shape/shapes/BarStack.tsrx +103 -0
- package/src/shape/shapes/BarStack.tsrx.d.ts +13 -0
- package/src/shape/shapes/BarStackHorizontal.tsrx +99 -0
- package/src/shape/shapes/BarStackHorizontal.tsrx.d.ts +13 -0
- package/src/shape/shapes/Circle.tsrx +18 -0
- package/src/shape/shapes/Circle.tsrx.d.ts +10 -0
- package/src/shape/shapes/Line.tsrx +43 -0
- package/src/shape/shapes/Line.tsrx.d.ts +21 -0
- package/src/shape/shapes/LinePath.tsrx +44 -0
- package/src/shape/shapes/LinePath.tsrx.d.ts +19 -0
- package/src/shape/shapes/LineRadial.tsrx +42 -0
- package/src/shape/shapes/LineRadial.tsrx.d.ts +12 -0
- package/src/shape/shapes/Pie.tsrx +87 -0
- package/src/shape/shapes/Pie.tsrx.d.ts +30 -0
- package/src/shape/shapes/Polygon.tsrx +85 -0
- package/src/shape/shapes/Polygon.tsrx.d.ts +37 -0
- package/src/shape/shapes/SplitLinePath.tsrx +86 -0
- package/src/shape/shapes/SplitLinePath.tsrx.d.ts +23 -0
- package/src/shape/shapes/Stack.tsrx +83 -0
- package/src/shape/shapes/Stack.tsrx.d.ts +25 -0
- package/src/shape/shapes/link/curve/LinkHorizontalCurve.tsrx +63 -0
- package/src/shape/shapes/link/curve/LinkHorizontalCurve.tsrx.d.ts +11 -0
- package/src/shape/shapes/link/curve/LinkRadialCurve.tsrx +72 -0
- package/src/shape/shapes/link/curve/LinkRadialCurve.tsrx.d.ts +9 -0
- package/src/shape/shapes/link/curve/LinkVerticalCurve.tsrx +62 -0
- package/src/shape/shapes/link/curve/LinkVerticalCurve.tsrx.d.ts +9 -0
- package/src/shape/shapes/link/diagonal/LinkHorizontal.tsrx +47 -0
- package/src/shape/shapes/link/diagonal/LinkHorizontal.tsrx.d.ts +7 -0
- package/src/shape/shapes/link/diagonal/LinkRadial.tsrx +49 -0
- package/src/shape/shapes/link/diagonal/LinkRadial.tsrx.d.ts +9 -0
- package/src/shape/shapes/link/diagonal/LinkVertical.tsrx +46 -0
- package/src/shape/shapes/link/diagonal/LinkVertical.tsrx.d.ts +6 -0
- package/src/shape/shapes/link/line/LinkHorizontalLine.tsrx +53 -0
- package/src/shape/shapes/link/line/LinkHorizontalLine.tsrx.d.ts +7 -0
- package/src/shape/shapes/link/line/LinkRadialLine.tsrx +58 -0
- package/src/shape/shapes/link/line/LinkRadialLine.tsrx.d.ts +5 -0
- package/src/shape/shapes/link/line/LinkVerticalLine.tsrx +53 -0
- package/src/shape/shapes/link/line/LinkVerticalLine.tsrx.d.ts +5 -0
- package/src/shape/shapes/link/step/LinkHorizontalStep.tsrx +59 -0
- package/src/shape/shapes/link/step/LinkHorizontalStep.tsrx.d.ts +12 -0
- package/src/shape/shapes/link/step/LinkRadialStep.tsrx +68 -0
- package/src/shape/shapes/link/step/LinkRadialStep.tsrx.d.ts +8 -0
- package/src/shape/shapes/link/step/LinkVerticalStep.tsrx +59 -0
- package/src/shape/shapes/link/step/LinkVerticalStep.tsrx.d.ts +10 -0
- package/src/shape/types/D3ShapeConfig.ts +91 -0
- package/src/shape/types/accessor.ts +9 -0
- package/src/shape/types/area.ts +14 -0
- package/src/shape/types/barGroup.ts +57 -0
- package/src/shape/types/barStack.ts +55 -0
- package/src/shape/types/base.ts +23 -0
- package/src/shape/types/index.ts +8 -0
- package/src/shape/types/link.ts +37 -0
- package/src/shape/types/stack.ts +15 -0
- package/src/shape/util/D3ShapeFactories.ts +125 -0
- package/src/shape/util/accessors.ts +25 -0
- package/src/shape/util/getBandwidth.ts +11 -0
- package/src/shape/util/getOrCreateMeasurementElement.ts +28 -0
- package/src/shape/util/getSplitLineSegments.ts +100 -0
- package/src/shape/util/setNumberOrNumberAccessor.ts +11 -0
- package/src/shape/util/stackOffset.ts +23 -0
- package/src/shape/util/stackOrder.ts +23 -0
- package/src/shape/util/trigonometry.ts +1 -0
- package/src/stats/BoxPlot.tsrx +257 -0
- package/src/stats/BoxPlot.tsrx.d.ts +51 -0
- package/src/stats/ViolinPlot.tsrx +78 -0
- package/src/stats/ViolinPlot.tsrx.d.ts +21 -0
- package/src/stats/index.ts +8 -0
- package/src/stats/types.ts +56 -0
- package/src/stats/util/computeStats.ts +71 -0
- package/src/text/Text.tsrx +43 -0
- package/src/text/Text.tsrx.d.ts +4 -0
- package/src/text/hooks/useText.tsrx +125 -0
- package/src/text/hooks/useText.tsrx.d.ts +7 -0
- package/src/text/index.ts +5 -0
- package/src/text/types.ts +54 -0
- package/src/text/util/getStringWidth.ts +38 -0
- package/src/text/util/memoize.ts +13 -0
- package/src/theme/compat/fromXYChartTheme.ts +132 -0
- package/src/theme/index.ts +14 -0
- package/src/theme/provider/ThemeScope.tsrx +58 -0
- package/src/theme/provider/ThemeScope.tsrx.d.ts +23 -0
- package/src/theme/provider/defineTheme.ts +67 -0
- package/src/theme/react/ThemeContext.tsrx +7 -0
- package/src/theme/react/ThemeContext.tsrx.d.ts +4 -0
- package/src/theme/react/ThemeProvider.tsrx +14 -0
- package/src/theme/react/ThemeProvider.tsrx.d.ts +4 -0
- package/src/theme/react/categoricalColor.ts +32 -0
- package/src/theme/react/index.ts +29 -0
- package/src/theme/react/useAxisStyle.tsrx +100 -0
- package/src/theme/react/useAxisStyle.tsrx.d.ts +23 -0
- package/src/theme/react/useCategoricalScale.tsrx +23 -0
- package/src/theme/react/useCategoricalScale.tsrx.d.ts +3 -0
- package/src/theme/react/useChartConfig.tsrx +108 -0
- package/src/theme/react/useChartConfig.tsrx.d.ts +15 -0
- package/src/theme/react/useColor.tsrx +18 -0
- package/src/theme/react/useColor.tsrx.d.ts +4 -0
- package/src/theme/react/useColorScale.tsrx +39 -0
- package/src/theme/react/useColorScale.tsrx.d.ts +7 -0
- package/src/theme/react/useGridStyle.tsrx +15 -0
- package/src/theme/react/useGridStyle.tsrx.d.ts +6 -0
- package/src/theme/react/useTheme.tsrx +7 -0
- package/src/theme/react/useTheme.tsrx.d.ts +3 -0
- package/src/theme/react/warn.ts +3 -0
- package/src/theme/runtime/createRuntimeTheme.ts +70 -0
- package/src/theme/runtime/resolveThemeInput.ts +19 -0
- package/src/theme/tokens/categorical.ts +18 -0
- package/src/theme/tokens/cssVar.ts +5 -0
- package/src/theme/tokens/dark.ts +51 -0
- package/src/theme/tokens/light.ts +62 -0
- package/src/theme/tokens/names.ts +49 -0
- package/src/theme/tokens/style.ts +45 -0
- package/src/theme/tokens/types.ts +118 -0
- package/src/theme/utils/warn.ts +5 -0
- package/src/threshold/Threshold.tsrx +112 -0
- package/src/threshold/Threshold.tsrx.d.ts +45 -0
- package/src/threshold/index.ts +2 -0
- package/src/tooltip/Portal.tsrx +27 -0
- package/src/tooltip/Portal.tsrx.d.ts +10 -0
- package/src/tooltip/context/TooltipPositionContext.tsrx +16 -0
- package/src/tooltip/context/TooltipPositionContext.tsrx.d.ts +11 -0
- package/src/tooltip/enhancers/withTooltip.tsrx +29 -0
- package/src/tooltip/enhancers/withTooltip.tsrx.d.ts +8 -0
- package/src/tooltip/floating/ChartTooltip.tsrx +95 -0
- package/src/tooltip/floating/ChartTooltip.tsrx.d.ts +29 -0
- package/src/tooltip/floating/ChartTooltipContent.tsrx +219 -0
- package/src/tooltip/floating/ChartTooltipContent.tsrx.d.ts +57 -0
- package/src/tooltip/floating/FloatingTooltip.tsrx +269 -0
- package/src/tooltip/floating/FloatingTooltip.tsrx.d.ts +20 -0
- package/src/tooltip/floating/anchors.ts +146 -0
- package/src/tooltip/floating/context.tsrx +29 -0
- package/src/tooltip/floating/context.tsrx.d.ts +9 -0
- package/src/tooltip/floating/index.ts +61 -0
- package/src/tooltip/floating/internalTypes.ts +125 -0
- package/src/tooltip/floating/middleware.ts +104 -0
- package/src/tooltip/floating/types.ts +198 -0
- package/src/tooltip/floating/useChartTooltip.tsrx +180 -0
- package/src/tooltip/floating/useChartTooltip.tsrx.d.ts +40 -0
- package/src/tooltip/floating/useFloatingTooltip.tsrx +301 -0
- package/src/tooltip/floating/useFloatingTooltip.tsrx.d.ts +3 -0
- package/src/tooltip/hooks/useTooltip.tsrx +67 -0
- package/src/tooltip/hooks/useTooltip.tsrx.d.ts +25 -0
- package/src/tooltip/hooks/useTooltipInPortal.tsrx +92 -0
- package/src/tooltip/hooks/useTooltipInPortal.tsrx.d.ts +34 -0
- package/src/tooltip/index.ts +20 -0
- package/src/tooltip/tooltips/Tooltip.tsrx +71 -0
- package/src/tooltip/tooltips/Tooltip.tsrx.d.ts +39 -0
- package/src/tooltip/tooltips/TooltipWithBounds.tsrx +82 -0
- package/src/tooltip/tooltips/TooltipWithBounds.tsrx.d.ts +9 -0
- package/src/voronoi/components/VoronoiPolygon.tsrx +32 -0
- package/src/voronoi/components/VoronoiPolygon.tsrx.d.ts +14 -0
- package/src/voronoi/index.ts +6 -0
- package/src/voronoi/react/index.ts +5 -0
- package/src/voronoi/react/useVoronoi.tsrx +30 -0
- package/src/voronoi/react/useVoronoi.tsrx.d.ts +10 -0
- package/src/voronoi/voronoi.ts +32 -0
- package/src/wordcloud/Wordcloud.tsrx +20 -0
- package/src/wordcloud/Wordcloud.tsrx.d.ts +7 -0
- package/src/wordcloud/d3-cloud.d.ts +1 -0
- package/src/wordcloud/index.ts +3 -0
- package/src/wordcloud/types.ts +154 -0
- package/src/wordcloud/useWordcloud.tsrx +277 -0
- package/src/wordcloud/useWordcloud.tsrx.d.ts +16 -0
- package/src/xychart/classes/DataRegistry.ts +53 -0
- package/src/xychart/components/Tooltip.tsrx +356 -0
- package/src/xychart/components/Tooltip.tsrx.d.ts +57 -0
- package/src/xychart/components/XYChart.tsrx +196 -0
- package/src/xychart/components/XYChart.tsrx.d.ts +47 -0
- package/src/xychart/components/annotation/AnimatedAnnotation.tsrx +72 -0
- package/src/xychart/components/annotation/AnimatedAnnotation.tsrx.d.ts +7 -0
- package/src/xychart/components/annotation/Annotation.tsrx +20 -0
- package/src/xychart/components/annotation/Annotation.tsrx.d.ts +7 -0
- package/src/xychart/components/annotation/AnnotationCircleSubject.tsrx +12 -0
- package/src/xychart/components/annotation/AnnotationCircleSubject.tsrx.d.ts +5 -0
- package/src/xychart/components/annotation/AnnotationConnector.tsrx +12 -0
- package/src/xychart/components/annotation/AnnotationConnector.tsrx.d.ts +5 -0
- package/src/xychart/components/annotation/AnnotationLabel.tsrx +29 -0
- package/src/xychart/components/annotation/AnnotationLabel.tsrx.d.ts +5 -0
- package/src/xychart/components/annotation/AnnotationLineSubject.tsrx +28 -0
- package/src/xychart/components/annotation/AnnotationLineSubject.tsrx.d.ts +9 -0
- package/src/xychart/components/annotation/private/BaseAnnotation.tsrx +86 -0
- package/src/xychart/components/annotation/private/BaseAnnotation.tsrx.d.ts +18 -0
- package/src/xychart/components/axis/AnimatedAxis.tsrx +15 -0
- package/src/xychart/components/axis/AnimatedAxis.tsrx.d.ts +9 -0
- package/src/xychart/components/axis/Axis.tsrx +11 -0
- package/src/xychart/components/axis/Axis.tsrx.d.ts +5 -0
- package/src/xychart/components/axis/BaseAxis.tsrx +94 -0
- package/src/xychart/components/axis/BaseAxis.tsrx.d.ts +15 -0
- package/src/xychart/components/grid/AnimatedGrid.tsrx +34 -0
- package/src/xychart/components/grid/AnimatedGrid.tsrx.d.ts +8 -0
- package/src/xychart/components/grid/BaseGrid.tsrx +49 -0
- package/src/xychart/components/grid/BaseGrid.tsrx.d.ts +16 -0
- package/src/xychart/components/grid/Grid.tsrx +9 -0
- package/src/xychart/components/grid/Grid.tsrx.d.ts +4 -0
- package/src/xychart/components/series/AnimatedAreaSeries.tsrx +8 -0
- package/src/xychart/components/series/AnimatedAreaSeries.tsrx.d.ts +4 -0
- package/src/xychart/components/series/AnimatedAreaStack.tsrx +8 -0
- package/src/xychart/components/series/AnimatedAreaStack.tsrx.d.ts +4 -0
- package/src/xychart/components/series/AnimatedBarGroup.tsrx +8 -0
- package/src/xychart/components/series/AnimatedBarGroup.tsrx.d.ts +4 -0
- package/src/xychart/components/series/AnimatedBarSeries.tsrx +15 -0
- package/src/xychart/components/series/AnimatedBarSeries.tsrx.d.ts +4 -0
- package/src/xychart/components/series/AnimatedBarStack.tsrx +8 -0
- package/src/xychart/components/series/AnimatedBarStack.tsrx.d.ts +4 -0
- package/src/xychart/components/series/AnimatedGlyphSeries.tsrx +28 -0
- package/src/xychart/components/series/AnimatedGlyphSeries.tsrx.d.ts +8 -0
- package/src/xychart/components/series/AnimatedLineSeries.tsrx +8 -0
- package/src/xychart/components/series/AnimatedLineSeries.tsrx.d.ts +4 -0
- package/src/xychart/components/series/AreaSeries.tsrx +7 -0
- package/src/xychart/components/series/AreaSeries.tsrx.d.ts +4 -0
- package/src/xychart/components/series/AreaStack.tsrx +7 -0
- package/src/xychart/components/series/AreaStack.tsrx.d.ts +4 -0
- package/src/xychart/components/series/BarGroup.tsrx +8 -0
- package/src/xychart/components/series/BarGroup.tsrx.d.ts +4 -0
- package/src/xychart/components/series/BarSeries.tsrx +13 -0
- package/src/xychart/components/series/BarSeries.tsrx.d.ts +5 -0
- package/src/xychart/components/series/BarStack.tsrx +8 -0
- package/src/xychart/components/series/BarStack.tsrx.d.ts +4 -0
- package/src/xychart/components/series/GlyphSeries.tsrx +38 -0
- package/src/xychart/components/series/GlyphSeries.tsrx.d.ts +8 -0
- package/src/xychart/components/series/LineSeries.tsrx +7 -0
- package/src/xychart/components/series/LineSeries.tsrx.d.ts +4 -0
- package/src/xychart/components/series/private/AnimatedBars.tsrx +151 -0
- package/src/xychart/components/series/private/AnimatedBars.tsrx.d.ts +5 -0
- package/src/xychart/components/series/private/AnimatedGlyphs.tsrx +108 -0
- package/src/xychart/components/series/private/AnimatedGlyphs.tsrx.d.ts +40 -0
- package/src/xychart/components/series/private/AnimatedPath.tsrx +47 -0
- package/src/xychart/components/series/private/AnimatedPath.tsrx.d.ts +4 -0
- package/src/xychart/components/series/private/Bars.tsrx +45 -0
- package/src/xychart/components/series/private/Bars.tsrx.d.ts +4 -0
- package/src/xychart/components/series/private/BaseAreaSeries.tsrx +187 -0
- package/src/xychart/components/series/private/BaseAreaSeries.tsrx.d.ts +20 -0
- package/src/xychart/components/series/private/BaseAreaStack.tsrx +259 -0
- package/src/xychart/components/series/private/BaseAreaStack.tsrx.d.ts +19 -0
- package/src/xychart/components/series/private/BaseBarGroup.tsrx +198 -0
- package/src/xychart/components/series/private/BaseBarGroup.tsrx.d.ts +15 -0
- package/src/xychart/components/series/private/BaseBarSeries.tsrx +154 -0
- package/src/xychart/components/series/private/BaseBarSeries.tsrx.d.ts +16 -0
- package/src/xychart/components/series/private/BaseBarStack.tsrx +192 -0
- package/src/xychart/components/series/private/BaseBarStack.tsrx.d.ts +14 -0
- package/src/xychart/components/series/private/BaseGlyphSeries.tsrx +107 -0
- package/src/xychart/components/series/private/BaseGlyphSeries.tsrx.d.ts +14 -0
- package/src/xychart/components/series/private/BaseLineSeries.tsrx +135 -0
- package/src/xychart/components/series/private/BaseLineSeries.tsrx.d.ts +14 -0
- package/src/xychart/components/series/private/defaultRenderGlyph.tsrx +29 -0
- package/src/xychart/components/series/private/defaultRenderGlyph.tsrx.d.ts +3 -0
- package/src/xychart/constants.ts +9 -0
- package/src/xychart/context/DataContext.tsrx +23 -0
- package/src/xychart/context/DataContext.tsrx.d.ts +11 -0
- package/src/xychart/context/EventEmitterContext.tsrx +6 -0
- package/src/xychart/context/EventEmitterContext.tsrx.d.ts +3 -0
- package/src/xychart/context/ThemeContext.tsrx +7 -0
- package/src/xychart/context/ThemeContext.tsrx.d.ts +4 -0
- package/src/xychart/context/TooltipContext.tsrx +7 -0
- package/src/xychart/context/TooltipContext.tsrx.d.ts +3 -0
- package/src/xychart/hooks/useDataRegistry.tsrx +41 -0
- package/src/xychart/hooks/useDataRegistry.tsrx.d.ts +5 -0
- package/src/xychart/hooks/useDimensions.tsrx +40 -0
- package/src/xychart/hooks/useDimensions.tsrx.d.ts +15 -0
- package/src/xychart/hooks/useEventEmitter.tsrx +62 -0
- package/src/xychart/hooks/useEventEmitter.tsrx.d.ts +24 -0
- package/src/xychart/hooks/useEventEmitters.tsrx +64 -0
- package/src/xychart/hooks/useEventEmitters.tsrx.d.ts +25 -0
- package/src/xychart/hooks/useEventHandlers.tsrx +162 -0
- package/src/xychart/hooks/useEventHandlers.tsrx.d.ts +31 -0
- package/src/xychart/hooks/useScales.tsrx +113 -0
- package/src/xychart/hooks/useScales.tsrx.d.ts +15 -0
- package/src/xychart/hooks/useSeriesEvents.tsrx +82 -0
- package/src/xychart/hooks/useSeriesEvents.tsrx.d.ts +18 -0
- package/src/xychart/hooks/useStackedData.tsrx +96 -0
- package/src/xychart/hooks/useStackedData.tsrx.d.ts +14 -0
- package/src/xychart/index.ts +56 -0
- package/src/xychart/providers/DataProvider.tsrx +141 -0
- package/src/xychart/providers/DataProvider.tsrx.d.ts +22 -0
- package/src/xychart/providers/EventEmitterProvider.tsrx +10 -0
- package/src/xychart/providers/EventEmitterProvider.tsrx.d.ts +6 -0
- package/src/xychart/providers/ThemeProvider.tsrx +13 -0
- package/src/xychart/providers/ThemeProvider.tsrx.d.ts +8 -0
- package/src/xychart/providers/TooltipProvider.tsrx +101 -0
- package/src/xychart/providers/TooltipProvider.tsrx.d.ts +10 -0
- package/src/xychart/theme/buildChartTheme.ts +178 -0
- package/src/xychart/theme/colors.ts +174 -0
- package/src/xychart/theme/themes/dark.ts +24 -0
- package/src/xychart/theme/themes/light.ts +16 -0
- package/src/xychart/typeguards/events.ts +12 -0
- package/src/xychart/typeguards/isValidNumber.ts +3 -0
- package/src/xychart/types/axis.ts +3 -0
- package/src/xychart/types/data.ts +57 -0
- package/src/xychart/types/event.ts +30 -0
- package/src/xychart/types/index.ts +6 -0
- package/src/xychart/types/series.ts +219 -0
- package/src/xychart/types/theme.ts +50 -0
- package/src/xychart/types/tooltip.ts +24 -0
- package/src/xychart/utils/cleanColorString.ts +4 -0
- package/src/xychart/utils/collectDataRegistryEntries.ts +50 -0
- package/src/xychart/utils/combineBarStackData.ts +51 -0
- package/src/xychart/utils/findNearestDatumSingleDimension.ts +64 -0
- package/src/xychart/utils/findNearestDatumX.ts +34 -0
- package/src/xychart/utils/findNearestDatumXY.ts +42 -0
- package/src/xychart/utils/findNearestDatumY.ts +34 -0
- package/src/xychart/utils/findNearestGroupDatum.ts +50 -0
- package/src/xychart/utils/findNearestStackDatum.ts +44 -0
- package/src/xychart/utils/getBarStackRegistryData.ts +49 -0
- package/src/xychart/utils/getChildrenAndGrandchildrenWithProps.ts +24 -0
- package/src/xychart/utils/getScaleBandwidth.ts +7 -0
- package/src/xychart/utils/getScaleBaseline.ts +24 -0
- package/src/xychart/utils/getScaledValueFactory.ts +21 -0
- package/src/xychart/utils/isDiscreteScale.ts +9 -0
- package/src/zoom/Zoom.tsrx +375 -0
- package/src/zoom/Zoom.tsrx.d.ts +62 -0
- package/src/zoom/index.ts +16 -0
- package/src/zoom/types.ts +120 -0
- package/src/zoom/util/matrix.ts +104 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import cx from 'classnames';
|
|
2
|
+
import { path as d3Path } from 'd3-path';
|
|
3
|
+
import type { SharedLinkProps, AccessorProps, AddSVGProps } from '../../../types';
|
|
4
|
+
import { getX, getY, getSource, getTarget } from '../../../util/accessors';
|
|
5
|
+
|
|
6
|
+
export function pathVerticalLine<Link, Node>({
|
|
7
|
+
source,
|
|
8
|
+
target,
|
|
9
|
+
x,
|
|
10
|
+
y,
|
|
11
|
+
}: Required<AccessorProps<Link, Node>>) {
|
|
12
|
+
return (data: Link) => {
|
|
13
|
+
const sourceData = source(data);
|
|
14
|
+
const targetData = target(data);
|
|
15
|
+
|
|
16
|
+
const sx = x(sourceData);
|
|
17
|
+
const sy = y(sourceData);
|
|
18
|
+
const tx = x(targetData);
|
|
19
|
+
const ty = y(targetData);
|
|
20
|
+
|
|
21
|
+
const path = d3Path();
|
|
22
|
+
path.moveTo(sx, sy);
|
|
23
|
+
path.lineTo(tx, ty);
|
|
24
|
+
|
|
25
|
+
return path.toString();
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export type LinkVerticalLineProps<Link, Node> = AccessorProps<Link, Node> & SharedLinkProps<Link>;
|
|
30
|
+
|
|
31
|
+
export default function LinkVerticalLine<Link, Node>({
|
|
32
|
+
className,
|
|
33
|
+
innerRef,
|
|
34
|
+
data,
|
|
35
|
+
path,
|
|
36
|
+
x = getX,
|
|
37
|
+
y = getY,
|
|
38
|
+
source = getSource,
|
|
39
|
+
target = getTarget,
|
|
40
|
+
children,
|
|
41
|
+
...restProps
|
|
42
|
+
}: AddSVGProps<LinkVerticalLineProps<Link, Node>, SVGPathElement>) {
|
|
43
|
+
const pathGen = path || pathVerticalLine({ source, target, x, y });
|
|
44
|
+
if (children) return <>
|
|
45
|
+
{children({ path: pathGen })}
|
|
46
|
+
</>;
|
|
47
|
+
return <path
|
|
48
|
+
ref={innerRef}
|
|
49
|
+
className={cx('visx-link visx-link-vertical-line', className)}
|
|
50
|
+
d={pathGen(data) || ''}
|
|
51
|
+
{...restProps}
|
|
52
|
+
/>;
|
|
53
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs.
|
|
2
|
+
import type { SharedLinkProps, AccessorProps, AddSVGProps } from '../../../types';
|
|
3
|
+
export declare function pathVerticalLine<Link, Node>({ source, target, x, y, }: Required<AccessorProps<Link, Node>>): (data: Link) => string;
|
|
4
|
+
export type LinkVerticalLineProps<Link, Node> = AccessorProps<Link, Node> & SharedLinkProps<Link>;
|
|
5
|
+
export default function LinkVerticalLine<Link, Node>({ className, innerRef, data, path, x, y, source, target, children, ...restProps }: AddSVGProps<LinkVerticalLineProps<Link, Node>, SVGPathElement>): import("react").JSX.Element;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import cx from 'classnames';
|
|
2
|
+
import { path as d3Path } from 'd3-path';
|
|
3
|
+
import type { SharedLinkProps, AccessorProps, AddSVGProps } from '../../../types';
|
|
4
|
+
import { getX, getY, getSource, getTarget } from '../../../util/accessors';
|
|
5
|
+
|
|
6
|
+
export function pathHorizontalStep<Link, Node>({
|
|
7
|
+
source,
|
|
8
|
+
target,
|
|
9
|
+
x,
|
|
10
|
+
y,
|
|
11
|
+
percent,
|
|
12
|
+
}: Required<AccessorProps<Link, Node>> & { percent: number }) {
|
|
13
|
+
return (link: Link) => {
|
|
14
|
+
const sourceData = source(link);
|
|
15
|
+
const targetData = target(link);
|
|
16
|
+
|
|
17
|
+
const sx = x(sourceData);
|
|
18
|
+
const sy = y(sourceData);
|
|
19
|
+
const tx = x(targetData);
|
|
20
|
+
const ty = y(targetData);
|
|
21
|
+
|
|
22
|
+
const path = d3Path();
|
|
23
|
+
path.moveTo(sx, sy);
|
|
24
|
+
path.lineTo(sx + (tx - sx) * percent, sy);
|
|
25
|
+
path.lineTo(sx + (tx - sx) * percent, ty);
|
|
26
|
+
path.lineTo(tx, ty);
|
|
27
|
+
|
|
28
|
+
return path.toString();
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
type LinkHorizontalStepProps<Link, Node> = {
|
|
33
|
+
percent?: number;
|
|
34
|
+
} & AccessorProps<Link, Node> & SharedLinkProps<Link>;
|
|
35
|
+
|
|
36
|
+
export default function LinkHorizontalStep<Link, Node>({
|
|
37
|
+
className,
|
|
38
|
+
innerRef,
|
|
39
|
+
data,
|
|
40
|
+
path,
|
|
41
|
+
percent = 0.5,
|
|
42
|
+
x = getY, // note this returns a y value
|
|
43
|
+
y = getX, // note this returns a x value
|
|
44
|
+
source = getSource,
|
|
45
|
+
target = getTarget,
|
|
46
|
+
children,
|
|
47
|
+
...restProps
|
|
48
|
+
}: AddSVGProps<LinkHorizontalStepProps<Link, Node>, SVGPathElement>) {
|
|
49
|
+
const pathGen = path || pathHorizontalStep({ source, target, x, y, percent });
|
|
50
|
+
if (children) return <>
|
|
51
|
+
{children({ path: pathGen })}
|
|
52
|
+
</>;
|
|
53
|
+
return <path
|
|
54
|
+
ref={innerRef}
|
|
55
|
+
className={cx('visx-link visx-link-horizontal-step', className)}
|
|
56
|
+
d={pathGen(data) || ''}
|
|
57
|
+
{...restProps}
|
|
58
|
+
/>;
|
|
59
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs.
|
|
2
|
+
import type { SharedLinkProps, AccessorProps, AddSVGProps } from '../../../types';
|
|
3
|
+
export declare function pathHorizontalStep<Link, Node>({ source, target, x, y, percent, }: Required<AccessorProps<Link, Node>> & {
|
|
4
|
+
percent: number;
|
|
5
|
+
}): (link: Link) => string;
|
|
6
|
+
type LinkHorizontalStepProps<Link, Node> = {
|
|
7
|
+
percent?: number;
|
|
8
|
+
} & AccessorProps<Link, Node> & SharedLinkProps<Link>;
|
|
9
|
+
export default function LinkHorizontalStep<Link, Node>({ className, innerRef, data, path, percent, x, // note this returns a y value
|
|
10
|
+
y, // note this returns a x value
|
|
11
|
+
source, target, children, ...restProps }: AddSVGProps<LinkHorizontalStepProps<Link, Node>, SVGPathElement>): import("react").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import cx from 'classnames';
|
|
2
|
+
import type { SharedLinkProps, AccessorProps, AddSVGProps } from '../../../types';
|
|
3
|
+
import { getX, getY, getSource, getTarget } from '../../../util/accessors';
|
|
4
|
+
|
|
5
|
+
export function pathRadialStep<Link, Node>({
|
|
6
|
+
source,
|
|
7
|
+
target,
|
|
8
|
+
x,
|
|
9
|
+
y,
|
|
10
|
+
}: Required<AccessorProps<Link, Node>>) {
|
|
11
|
+
return (link: Link) => {
|
|
12
|
+
const sourceData = source(link);
|
|
13
|
+
const targetData = target(link);
|
|
14
|
+
|
|
15
|
+
const sx = x(sourceData);
|
|
16
|
+
const sy = y(sourceData);
|
|
17
|
+
const tx = x(targetData);
|
|
18
|
+
const ty = y(targetData);
|
|
19
|
+
|
|
20
|
+
const sa = sx - Math.PI / 2;
|
|
21
|
+
const sr = sy;
|
|
22
|
+
const ta = tx - Math.PI / 2;
|
|
23
|
+
const tr = ty;
|
|
24
|
+
|
|
25
|
+
const sc = Math.cos(sa);
|
|
26
|
+
const ss = Math.sin(sa);
|
|
27
|
+
const tc = Math.cos(ta);
|
|
28
|
+
const ts = Math.sin(ta);
|
|
29
|
+
const sf =
|
|
30
|
+
Math.abs(ta - sa) > Math.PI ? ta <= sa : ta > sa;
|
|
31
|
+
|
|
32
|
+
return `
|
|
33
|
+
M${sr * sc},${sr * ss}
|
|
34
|
+
A${sr},${sr},0,0,${sf ? 1 : 0},${sr * tc},${
|
|
35
|
+
sr * ts
|
|
36
|
+
}
|
|
37
|
+
L${tr * tc},${tr * ts}
|
|
38
|
+
`;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
type LinkRadialStepProps<Link, Node> = {
|
|
43
|
+
percent?: number;
|
|
44
|
+
} & AccessorProps<Link, Node> & SharedLinkProps<Link>;
|
|
45
|
+
|
|
46
|
+
export default function LinkRadialStep<Link, Node>({
|
|
47
|
+
className,
|
|
48
|
+
innerRef,
|
|
49
|
+
data,
|
|
50
|
+
path,
|
|
51
|
+
x = getX,
|
|
52
|
+
y = getY,
|
|
53
|
+
source = getSource,
|
|
54
|
+
target = getTarget,
|
|
55
|
+
children,
|
|
56
|
+
...restProps
|
|
57
|
+
}: AddSVGProps<LinkRadialStepProps<Link, Node>, SVGPathElement>) {
|
|
58
|
+
const pathGen = path || pathRadialStep({ source, target, x, y });
|
|
59
|
+
if (children) return <>
|
|
60
|
+
{children({ path: pathGen })}
|
|
61
|
+
</>;
|
|
62
|
+
return <path
|
|
63
|
+
ref={innerRef}
|
|
64
|
+
className={cx('visx-link visx-link-radial-step', className)}
|
|
65
|
+
d={pathGen(data) || ''}
|
|
66
|
+
{...restProps}
|
|
67
|
+
/>;
|
|
68
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs.
|
|
2
|
+
import type { SharedLinkProps, AccessorProps, AddSVGProps } from '../../../types';
|
|
3
|
+
export declare function pathRadialStep<Link, Node>({ source, target, x, y, }: Required<AccessorProps<Link, Node>>): (link: Link) => string;
|
|
4
|
+
type LinkRadialStepProps<Link, Node> = {
|
|
5
|
+
percent?: number;
|
|
6
|
+
} & AccessorProps<Link, Node> & SharedLinkProps<Link>;
|
|
7
|
+
export default function LinkRadialStep<Link, Node>({ className, innerRef, data, path, x, y, source, target, children, ...restProps }: AddSVGProps<LinkRadialStepProps<Link, Node>, SVGPathElement>): import("react").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import cx from 'classnames';
|
|
2
|
+
import { path as d3Path } from 'd3-path';
|
|
3
|
+
import type { SharedLinkProps, AccessorProps, AddSVGProps } from '../../../types';
|
|
4
|
+
import { getX, getY, getSource, getTarget } from '../../../util/accessors';
|
|
5
|
+
|
|
6
|
+
export function pathVerticalStep<Link, Node>({
|
|
7
|
+
source,
|
|
8
|
+
target,
|
|
9
|
+
x,
|
|
10
|
+
y,
|
|
11
|
+
percent,
|
|
12
|
+
}: Required<AccessorProps<Link, Node>> & { percent: number }) {
|
|
13
|
+
return (link: Link) => {
|
|
14
|
+
const sourceData = source(link);
|
|
15
|
+
const targetData = target(link);
|
|
16
|
+
|
|
17
|
+
const sx = x(sourceData);
|
|
18
|
+
const sy = y(sourceData);
|
|
19
|
+
const tx = x(targetData);
|
|
20
|
+
const ty = y(targetData);
|
|
21
|
+
|
|
22
|
+
const path = d3Path();
|
|
23
|
+
path.moveTo(sx, sy);
|
|
24
|
+
path.lineTo(sx, sy + (ty - sy) * percent);
|
|
25
|
+
path.lineTo(tx, sy + (ty - sy) * percent);
|
|
26
|
+
path.lineTo(tx, ty);
|
|
27
|
+
|
|
28
|
+
return path.toString();
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
type LinkVerticalStepProps<Link, Node> = {
|
|
33
|
+
percent?: number;
|
|
34
|
+
} & AccessorProps<Link, Node> & SharedLinkProps<Link>;
|
|
35
|
+
|
|
36
|
+
export default function LinkVerticalStep<Link, Node>({
|
|
37
|
+
className,
|
|
38
|
+
innerRef,
|
|
39
|
+
data,
|
|
40
|
+
path,
|
|
41
|
+
percent = 0.5,
|
|
42
|
+
x = getX,
|
|
43
|
+
y = getY,
|
|
44
|
+
source = getSource,
|
|
45
|
+
target = getTarget,
|
|
46
|
+
children,
|
|
47
|
+
...restProps
|
|
48
|
+
}: AddSVGProps<LinkVerticalStepProps<Link, Node>, SVGPathElement>) {
|
|
49
|
+
const pathGen = path || pathVerticalStep({ source, target, x, y, percent });
|
|
50
|
+
if (children) return <>
|
|
51
|
+
{children({ path: pathGen })}
|
|
52
|
+
</>;
|
|
53
|
+
return <path
|
|
54
|
+
ref={innerRef}
|
|
55
|
+
className={cx('visx-link visx-link-vertical-step', className)}
|
|
56
|
+
d={pathGen(data) || ''}
|
|
57
|
+
{...restProps}
|
|
58
|
+
/>;
|
|
59
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs.
|
|
2
|
+
import type { SharedLinkProps, AccessorProps, AddSVGProps } from '../../../types';
|
|
3
|
+
export declare function pathVerticalStep<Link, Node>({ source, target, x, y, percent, }: Required<AccessorProps<Link, Node>> & {
|
|
4
|
+
percent: number;
|
|
5
|
+
}): (link: Link) => string;
|
|
6
|
+
type LinkVerticalStepProps<Link, Node> = {
|
|
7
|
+
percent?: number;
|
|
8
|
+
} & AccessorProps<Link, Node> & SharedLinkProps<Link>;
|
|
9
|
+
export default function LinkVerticalStep<Link, Node>({ className, innerRef, data, path, percent, x, y, source, target, children, ...restProps }: AddSVGProps<LinkVerticalStepProps<Link, Node>, SVGPathElement>): import("react").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { CurveFactory, CurveFactoryLineOnly } from 'd3-shape';
|
|
2
|
+
import type { Accessor, AccessorForArrayItem } from './accessor';
|
|
3
|
+
import type { STACK_OFFSETS } from '../util/stackOffset';
|
|
4
|
+
import type { STACK_ORDERS } from '../util/stackOrder';
|
|
5
|
+
|
|
6
|
+
export type ArcPathConfig<Datum> = {
|
|
7
|
+
/** Number or accessor function which returns a number, which defines the arc innerRadius. */
|
|
8
|
+
innerRadius?: number | Accessor<Datum, number>;
|
|
9
|
+
/** Number or accessor function which returns a number, which defines the arc outerRadius. */
|
|
10
|
+
outerRadius?: number | Accessor<Datum, number>;
|
|
11
|
+
/** Number or accessor function which returns a number, which defines the arc cornerRadius. */
|
|
12
|
+
cornerRadius?: number | Accessor<Datum, number>;
|
|
13
|
+
/** Number or accessor function which returns a number, which defines the arc startAngle. */
|
|
14
|
+
startAngle?: number | Accessor<Datum, number>;
|
|
15
|
+
/** Number or accessor function which returns a number, which defines the arc endAngle. */
|
|
16
|
+
endAngle?: number | Accessor<Datum, number>;
|
|
17
|
+
/** Number or accessor function which returns a number, which defines the arc padAngle. */
|
|
18
|
+
padAngle?: number | Accessor<Datum, number>;
|
|
19
|
+
/** Number or accessor function which returns a number, which defines the arc padRadius. */
|
|
20
|
+
padRadius?: number | Accessor<Datum, number>;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export type AreaPathConfig<Datum> = {
|
|
24
|
+
/** The defined accessor for the shape. The final area shape includes all points for which this function returns true. By default all points are defined. */
|
|
25
|
+
defined?: AccessorForArrayItem<Datum, boolean>;
|
|
26
|
+
/** Sets the curve factory (from @octanejs/visx/curve or d3-curve) for the area generator. Defaults to curveLinear. */
|
|
27
|
+
curve?: CurveFactory;
|
|
28
|
+
/** Sets the x0 accessor function, and sets x1 to null. */
|
|
29
|
+
x?: number | AccessorForArrayItem<Datum, number>;
|
|
30
|
+
/** Specifies the x0 accessor function which defaults to d => d[0]. */
|
|
31
|
+
x0?: number | AccessorForArrayItem<Datum, number>;
|
|
32
|
+
/** Specifies the x1 accessor function which defaults to null. */
|
|
33
|
+
x1?: number | AccessorForArrayItem<Datum, number>;
|
|
34
|
+
/** Sets the y0 accessor function, and sets y1 to null. */
|
|
35
|
+
y?: number | AccessorForArrayItem<Datum, number>;
|
|
36
|
+
/** Specifies the y0 accessor function which defaults to d => 0. */
|
|
37
|
+
y0?: number | AccessorForArrayItem<Datum, number>;
|
|
38
|
+
/** Specifies the y1 accessor function which defaults to d => d[1]. */
|
|
39
|
+
y1?: number | AccessorForArrayItem<Datum, number>;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export type LinePathConfig<Datum> = {
|
|
43
|
+
/** The defined accessor for the shape. The final line shape includes all points for which this function returns true. By default all points are defined. */
|
|
44
|
+
defined?: AccessorForArrayItem<Datum, boolean>;
|
|
45
|
+
/** Sets the curve factory (from @octanejs/visx/curve or d3-curve) for the line generator. Defaults to curveLinear. */
|
|
46
|
+
curve?: CurveFactory | CurveFactoryLineOnly;
|
|
47
|
+
/** Sets the x0 accessor function, and sets x1 to null. */
|
|
48
|
+
x?: number | AccessorForArrayItem<Datum, number>;
|
|
49
|
+
/** Sets the y0 accessor function, and sets y1 to null. */
|
|
50
|
+
y?: number | AccessorForArrayItem<Datum, number>;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
54
|
+
type AngleAccessor<Datum> = (this: any, data: Datum[], ...args: any[]) => number;
|
|
55
|
+
|
|
56
|
+
export type PiePathConfig<Datum> = {
|
|
57
|
+
/** Returns the start angle of the overall Pie shape (the first value starts at startAngle), with 0 at -y (12 o’clock) and positive angles proceeding clockwise. */
|
|
58
|
+
startAngle?: number | AngleAccessor<Datum>;
|
|
59
|
+
/** Returns the end angle of the overall Pie shape (the last value ends at endAngle), with 0 at -y (12 o’clock) and positive angles proceeding clockwise. */
|
|
60
|
+
endAngle?: number | AngleAccessor<Datum>;
|
|
61
|
+
/** Padding angle of the Pie shape, which sets a fixed linear distance separating adjacent arcs. */
|
|
62
|
+
padAngle?: number | AngleAccessor<Datum>;
|
|
63
|
+
/** Invoked for each datum, returns the value for a given Pie segment/arc datum. */
|
|
64
|
+
value?: Accessor<Datum, number>;
|
|
65
|
+
/** Comparator function to sort *arcs*, overridden by sortValues if defined. If sort and sortValues are null, arcs match input data order. */
|
|
66
|
+
sort?: null | ((a: Datum, b: Datum) => number);
|
|
67
|
+
/** Comparator function to sort arc *values*, overrides sort if defined. If sort and sortValues are null, arcs match input data order. */
|
|
68
|
+
sortValues?: null | ((a: number, b: number) => number);
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export type RadialLinePathConfig<Datum> = {
|
|
72
|
+
/** The defined accessor for the shape. The final radialLine shape includes all points for which this function returns true. By default all points are defined. */
|
|
73
|
+
defined?: AccessorForArrayItem<Datum, boolean>;
|
|
74
|
+
/** Sets the curve factory (from @octanejs/visx/curve or d3-curve) for the radialLine generator. Defaults to curveLinear. */
|
|
75
|
+
curve?: CurveFactory | CurveFactoryLineOnly;
|
|
76
|
+
/** Returns the angle value in radians for a given Datum, with 0 at -y (12 o’clock). */
|
|
77
|
+
angle?: number | AccessorForArrayItem<Datum, number>;
|
|
78
|
+
/** Returns the radius value in radians for a given Datum, with 0 at the center. */
|
|
79
|
+
radius?: number | AccessorForArrayItem<Datum, number>;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
export type StackPathConfig<Datum, Key> = {
|
|
83
|
+
/** Array of keys corresponding to stack layers. */
|
|
84
|
+
keys?: Key[];
|
|
85
|
+
/** Sets the stack offset to the pre-defined d3 offset, see https://github.com/d3/d3-shape#stack_offset. */
|
|
86
|
+
offset?: keyof typeof STACK_OFFSETS;
|
|
87
|
+
/** Sets the stack order to the pre-defined d3 function, see https://github.com/d3/d3-shape#stack_order. */
|
|
88
|
+
order?: keyof typeof STACK_ORDERS;
|
|
89
|
+
/** Sets the value accessor for a Datum, which defaults to d[key]. */
|
|
90
|
+
value?: number | ((d: Datum, key: Key) => number);
|
|
91
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type Accessor<Datum, Output> = (d: Datum) => Output;
|
|
2
|
+
|
|
3
|
+
export type AccessorWithIndex<Datum, Output> = (d: Datum, index: number) => Output;
|
|
4
|
+
|
|
5
|
+
export type AccessorForArrayItem<Datum, Output> = (
|
|
6
|
+
d: Datum,
|
|
7
|
+
index: number,
|
|
8
|
+
data: Datum[],
|
|
9
|
+
) => Output;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Area } from 'd3-shape';
|
|
2
|
+
import type { ReactNode, Ref } from 'react';
|
|
3
|
+
import type { AreaPathConfig } from './D3ShapeConfig';
|
|
4
|
+
|
|
5
|
+
export type BaseAreaProps<Datum> = {
|
|
6
|
+
/** Override render function which is passed the configured area generator as input. */
|
|
7
|
+
children?: (args: { path: Area<Datum> }) => ReactNode;
|
|
8
|
+
/** Classname applied to path element. */
|
|
9
|
+
className?: string;
|
|
10
|
+
/** Array of data for which to generate an area shape. */
|
|
11
|
+
data?: Datum[];
|
|
12
|
+
/** React RefObject passed to the path element. */
|
|
13
|
+
innerRef?: Ref<SVGPathElement>;
|
|
14
|
+
} & AreaPathConfig<Datum>;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { DatumObject } from './base';
|
|
2
|
+
|
|
3
|
+
/** Unique key for item in a group. */
|
|
4
|
+
export type GroupKey = string | number;
|
|
5
|
+
|
|
6
|
+
export interface BarGroupBar<Key> {
|
|
7
|
+
/** group key */
|
|
8
|
+
key: Key;
|
|
9
|
+
/** index of BarGroup (matches input Datum index). */
|
|
10
|
+
index: number;
|
|
11
|
+
/** group value (Datum[key]) */
|
|
12
|
+
value: number;
|
|
13
|
+
/** height of bar. */
|
|
14
|
+
height: number;
|
|
15
|
+
/** width of bar. */
|
|
16
|
+
width: number;
|
|
17
|
+
/** x position of bar. */
|
|
18
|
+
x: number;
|
|
19
|
+
/** y position of bar. */
|
|
20
|
+
y: number;
|
|
21
|
+
/** color of bar. */
|
|
22
|
+
color: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
interface BaseBarGroup<Key> {
|
|
26
|
+
/** index of BarGroup (matches input Datum index). */
|
|
27
|
+
index: number;
|
|
28
|
+
/** bars within group, one for each key. */
|
|
29
|
+
bars: BarGroupBar<Key>[];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** One BarGroup is returned for each datum, which has multiple sub-bars (based on keys). */
|
|
33
|
+
export interface BarGroup<Key> extends BaseBarGroup<Key> {
|
|
34
|
+
/** x0 position of bar group */
|
|
35
|
+
x0: number;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** One BarGroup is returned for each datum, which has multiple sub-bars (based on keys). */
|
|
39
|
+
export interface BarGroupHorizontal<Key> extends BaseBarGroup<Key> {
|
|
40
|
+
/** y0 position of bar group */
|
|
41
|
+
y0: number;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface BaseBarGroupProps<Datum extends DatumObject, Key extends GroupKey = GroupKey> {
|
|
45
|
+
/** Array of data for which to generate grouped bars. */
|
|
46
|
+
data: Datum[];
|
|
47
|
+
/** Returns the desired color for a bar with a given key and index. */
|
|
48
|
+
color: (key: Key, index: number) => string;
|
|
49
|
+
/** Array of keys corresponding to stack layers. */
|
|
50
|
+
keys: Key[];
|
|
51
|
+
/** className applied to Bars. */
|
|
52
|
+
className?: string;
|
|
53
|
+
/** Top offset of rendered Bars. */
|
|
54
|
+
top?: number;
|
|
55
|
+
/** Left offset of rendered Bars. */
|
|
56
|
+
left?: number;
|
|
57
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { BarGroupBar } from './barGroup';
|
|
3
|
+
import type { BaseStackProps, StackKey } from './stack';
|
|
4
|
+
import type { PositionScale } from './base';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Each series point j in a stack chart corresponds to the jth element in the input data.
|
|
8
|
+
* Each point is represented as an array [y0, y1] where y0 is the lower value (baseline) and y1 is the upper value (topline);
|
|
9
|
+
* the difference between y0 and y1 corresponds to the computed value for this point.
|
|
10
|
+
*
|
|
11
|
+
* SeriesPoint is a [number, number] two-element Array with added data and index properties
|
|
12
|
+
* related to the data element which formed the basis for theSeriesPoint.
|
|
13
|
+
*/
|
|
14
|
+
export interface SeriesPoint<Datum> extends Array<number> {
|
|
15
|
+
/**
|
|
16
|
+
* Corresponds to y0, the lower value (baseline).
|
|
17
|
+
*/
|
|
18
|
+
0: number;
|
|
19
|
+
/**
|
|
20
|
+
* Corresponds to y1, the upper value (topline).
|
|
21
|
+
*/
|
|
22
|
+
1: number;
|
|
23
|
+
/**
|
|
24
|
+
* The data element underlying the series point.
|
|
25
|
+
*/
|
|
26
|
+
data: Datum;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/** One BarStack is returned for each datum, which has multiple sub-bars (based on keys). */
|
|
30
|
+
export interface BarStack<Datum, Key> {
|
|
31
|
+
index: number;
|
|
32
|
+
key: Key;
|
|
33
|
+
bars: (Omit<BarGroupBar<Key>, 'key' | 'value'> & {
|
|
34
|
+
/** Processed bar Datum with bar bounds and original datum. */
|
|
35
|
+
bar: SeriesPoint<Datum>;
|
|
36
|
+
/** stack key */
|
|
37
|
+
key: Key;
|
|
38
|
+
})[];
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export type BaseBarStackProps<
|
|
42
|
+
Datum,
|
|
43
|
+
Key extends StackKey = StackKey,
|
|
44
|
+
XScale extends PositionScale = PositionScale,
|
|
45
|
+
YScale extends PositionScale = PositionScale,
|
|
46
|
+
> = BaseStackProps<Datum, Key> & {
|
|
47
|
+
/** @octanejs/visx/scale or d3-scale that takes an x value and maps it to an x axis position. */
|
|
48
|
+
xScale: XScale;
|
|
49
|
+
/** @octanejs/visx/scale or d3-scale that takes a y value and maps it to an y axis position. */
|
|
50
|
+
yScale: YScale;
|
|
51
|
+
/** Returns the desired color for a bar with a given key and index. */
|
|
52
|
+
color: (key: Key, index: number) => string;
|
|
53
|
+
/** Override render function which is passed the configured stack generator as input. */
|
|
54
|
+
children?: (stacks: BarStack<Datum, Key>[]) => ReactNode;
|
|
55
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { D3Scale, PickD3Scale } from '@octanejs/visx/scale';
|
|
2
|
+
import type { ReactNode, SVGProps } from 'react';
|
|
3
|
+
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5
|
+
export type $TSFIXME = any;
|
|
6
|
+
|
|
7
|
+
export type DatumObject = Record<string | number, $TSFIXME>;
|
|
8
|
+
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
+
export type AnyScaleBand = PickD3Scale<'band', any, any>;
|
|
11
|
+
|
|
12
|
+
/** A catch-all type for scales that returns number */
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
14
|
+
export type PositionScale = D3Scale<number, any, any>;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Add fields from `SVGProps` for the specified SVG `Element`
|
|
18
|
+
* to `Props` except fields that already exist in `Props`
|
|
19
|
+
*/
|
|
20
|
+
export type AddSVGProps<Props, Element extends SVGElement> = Props &
|
|
21
|
+
Omit<SVGProps<Element>, keyof Props>;
|
|
22
|
+
|
|
23
|
+
export type RenderProp<Input> = (args: Input) => ReactNode;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type * from './base';
|
|
2
|
+
export type * from './accessor';
|
|
3
|
+
export type * from './area';
|
|
4
|
+
export type * from './barGroup';
|
|
5
|
+
export type * from './barStack';
|
|
6
|
+
export type * from './D3ShapeConfig';
|
|
7
|
+
export type * from './link';
|
|
8
|
+
export type * from './stack';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ReactNode, Ref } from 'react';
|
|
2
|
+
|
|
3
|
+
export type AccessorProps<Link, Node> = {
|
|
4
|
+
/** Given a node, returns its x coordinate. */
|
|
5
|
+
x?: (node: Node) => number;
|
|
6
|
+
/** Given a node, returns its y coordinate. */
|
|
7
|
+
y?: (node: Node) => number;
|
|
8
|
+
/** Given a link, returns the source node. */
|
|
9
|
+
source?: (link: Link) => Node;
|
|
10
|
+
/** Given a link, returns the target node. */
|
|
11
|
+
target?: (link: Link) => Node;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export type RadialAccessorProps<Link, Node> = Pick<
|
|
15
|
+
AccessorProps<Link, Node>,
|
|
16
|
+
'source' | 'target'
|
|
17
|
+
> & {
|
|
18
|
+
/** Given a node, returns its x coordinate. */
|
|
19
|
+
angle?: (node: Node) => number;
|
|
20
|
+
/** Given a node, returns its y coordinate. */
|
|
21
|
+
radius?: (node: Node) => number;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
type PathType<Link> = (link: Link) => string | null;
|
|
25
|
+
|
|
26
|
+
export type SharedLinkProps<Link> = {
|
|
27
|
+
/** className applied to path element. */
|
|
28
|
+
className?: string;
|
|
29
|
+
/** React ref to the path element. */
|
|
30
|
+
innerRef?: Ref<SVGPathElement>;
|
|
31
|
+
/** Path generator, given a link returns a path d attribute string */
|
|
32
|
+
path?: PathType<Link>;
|
|
33
|
+
/** Render function override which is passed the configured path generator as input. */
|
|
34
|
+
children?: (args: { path: PathType<Link> }) => ReactNode;
|
|
35
|
+
/** Datum for which to render a link. */
|
|
36
|
+
data: Link;
|
|
37
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { StackPathConfig } from './D3ShapeConfig';
|
|
2
|
+
|
|
3
|
+
/** Unique key for item in a stack. */
|
|
4
|
+
export type StackKey = string | number;
|
|
5
|
+
|
|
6
|
+
export type BaseStackProps<Datum, Key> = {
|
|
7
|
+
/** Array of data for which generates a stack. */
|
|
8
|
+
data: Datum[];
|
|
9
|
+
/** className applied to path element. */
|
|
10
|
+
className?: string;
|
|
11
|
+
/** Top offset of rendered Stack. */
|
|
12
|
+
top?: number;
|
|
13
|
+
/** Left offset of rendered Stack. */
|
|
14
|
+
left?: number;
|
|
15
|
+
} & StackPathConfig<Datum, Key>;
|