@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,74 @@
|
|
|
1
|
+
import { useStructuralMemo } from '@octanejs/visx/kernel';
|
|
2
|
+
|
|
3
|
+
export type MarginShape = {
|
|
4
|
+
top?: number;
|
|
5
|
+
right?: number;
|
|
6
|
+
bottom?: number;
|
|
7
|
+
left?: number;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export type RequiredMarginShape = Required<MarginShape>;
|
|
11
|
+
|
|
12
|
+
export type UseChartDimensionsOptions = {
|
|
13
|
+
/** Outer SVG width. */
|
|
14
|
+
width?: number;
|
|
15
|
+
/** Outer SVG height. */
|
|
16
|
+
height?: number;
|
|
17
|
+
/** Margins reserved around the drawable chart area. */
|
|
18
|
+
margin?: MarginShape;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export type ChartDimensions = {
|
|
22
|
+
width: number;
|
|
23
|
+
height: number;
|
|
24
|
+
margin: RequiredMarginShape;
|
|
25
|
+
innerWidth: number;
|
|
26
|
+
innerHeight: number;
|
|
27
|
+
/** Alias for innerWidth, matching common visx example naming. */
|
|
28
|
+
xMax: number;
|
|
29
|
+
/** Alias for innerHeight, matching common visx example naming. */
|
|
30
|
+
yMax: number;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const defaultMargin: RequiredMarginShape = {
|
|
34
|
+
top: 0,
|
|
35
|
+
right: 0,
|
|
36
|
+
bottom: 0,
|
|
37
|
+
left: 0,
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
function finiteOrZero(value: number | undefined) {
|
|
41
|
+
return typeof value === 'number' && Number.isFinite(value) ? value : 0;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function normalizeMargin(margin: MarginShape | undefined): RequiredMarginShape {
|
|
45
|
+
return {
|
|
46
|
+
top: finiteOrZero(margin?.top),
|
|
47
|
+
right: finiteOrZero(margin?.right),
|
|
48
|
+
bottom: finiteOrZero(margin?.bottom),
|
|
49
|
+
left: finiteOrZero(margin?.left),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export default function useChartDimensions(
|
|
54
|
+
{ width, height, margin = defaultMargin }: UseChartDimensionsOptions = {},
|
|
55
|
+
): ChartDimensions {
|
|
56
|
+
const normalizedMargin = useStructuralMemo(normalizeMargin(margin), 1);
|
|
57
|
+
const outerWidth = finiteOrZero(width);
|
|
58
|
+
const outerHeight = finiteOrZero(height);
|
|
59
|
+
const innerWidth = Math.max(0, outerWidth - normalizedMargin.left - normalizedMargin.right);
|
|
60
|
+
const innerHeight = Math.max(0, outerHeight - normalizedMargin.top - normalizedMargin.bottom);
|
|
61
|
+
|
|
62
|
+
return useStructuralMemo(
|
|
63
|
+
{
|
|
64
|
+
width: outerWidth,
|
|
65
|
+
height: outerHeight,
|
|
66
|
+
margin: normalizedMargin,
|
|
67
|
+
innerWidth,
|
|
68
|
+
innerHeight,
|
|
69
|
+
xMax: innerWidth,
|
|
70
|
+
yMax: innerHeight,
|
|
71
|
+
},
|
|
72
|
+
1,
|
|
73
|
+
);
|
|
74
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs.
|
|
2
|
+
export type MarginShape = {
|
|
3
|
+
top?: number;
|
|
4
|
+
right?: number;
|
|
5
|
+
bottom?: number;
|
|
6
|
+
left?: number;
|
|
7
|
+
};
|
|
8
|
+
export type RequiredMarginShape = Required<MarginShape>;
|
|
9
|
+
export type UseChartDimensionsOptions = {
|
|
10
|
+
/** Outer SVG width. */
|
|
11
|
+
width?: number;
|
|
12
|
+
/** Outer SVG height. */
|
|
13
|
+
height?: number;
|
|
14
|
+
/** Margins reserved around the drawable chart area. */
|
|
15
|
+
margin?: MarginShape;
|
|
16
|
+
};
|
|
17
|
+
export type ChartDimensions = {
|
|
18
|
+
width: number;
|
|
19
|
+
height: number;
|
|
20
|
+
margin: RequiredMarginShape;
|
|
21
|
+
innerWidth: number;
|
|
22
|
+
innerHeight: number;
|
|
23
|
+
/** Alias for innerWidth, matching common visx example naming. */
|
|
24
|
+
xMax: number;
|
|
25
|
+
/** Alias for innerHeight, matching common visx example naming. */
|
|
26
|
+
yMax: number;
|
|
27
|
+
};
|
|
28
|
+
export default function useChartDimensions({ width, height, margin }?: UseChartDimensionsOptions): ChartDimensions;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { Chords } from 'd3-chord';
|
|
3
|
+
import { chord as d3chord } from 'd3-chord';
|
|
4
|
+
|
|
5
|
+
type DefaultSortComporator = (a: number, b: number) => number;
|
|
6
|
+
|
|
7
|
+
export type ChordProps = {
|
|
8
|
+
/** Square data matrix of size n×n, where the matrix represents the directed flow amongst a network (a complete digraph) of `n` nodes. The given matrix must be an array of length `n`, where each element `matrix[i]` is an array of `n` numbers, where each `matrix[i][j]` represents the flow from the `ith` node in the network to the `jth` node. Each number `matrix[i][j]` must be nonnegative, though it can be zero if there is no flow from node `i` to node `j`. */
|
|
9
|
+
matrix: number[][];
|
|
10
|
+
/** Sets the pad angle between adjacent groups to the specified number in radians. */
|
|
11
|
+
padAngle?: number;
|
|
12
|
+
/** Comparator used to sort the groups by their total outflow. */
|
|
13
|
+
sortGroups?: DefaultSortComporator | null;
|
|
14
|
+
/** Comparator used to sort the subgroups corresponding to `matrix[i][0 … n - 1]` for a given group i by their total outflow. */
|
|
15
|
+
sortSubgroups?: DefaultSortComporator | null;
|
|
16
|
+
/** Comparator used to sort the chords by their combined flow; this only affects the `z-order` of the chords. */
|
|
17
|
+
sortChords?: DefaultSortComporator | null;
|
|
18
|
+
/** Child render function, passed the configured chords. */
|
|
19
|
+
children: (chords: { chords: Chords }) => ReactNode;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export default function Chord({
|
|
23
|
+
matrix,
|
|
24
|
+
padAngle,
|
|
25
|
+
sortGroups,
|
|
26
|
+
sortSubgroups,
|
|
27
|
+
sortChords,
|
|
28
|
+
children,
|
|
29
|
+
}: ChordProps) {
|
|
30
|
+
const chord = d3chord();
|
|
31
|
+
if (padAngle) chord.padAngle(padAngle);
|
|
32
|
+
if (sortGroups) chord.sortGroups(sortGroups);
|
|
33
|
+
if (sortSubgroups) chord.sortSubgroups(sortSubgroups);
|
|
34
|
+
if (sortChords) chord.sortChords(sortChords);
|
|
35
|
+
const chords = chord(matrix);
|
|
36
|
+
if (children) return <>
|
|
37
|
+
{children({ chords })}
|
|
38
|
+
</>;
|
|
39
|
+
|
|
40
|
+
// so react-docgen picks it up
|
|
41
|
+
return <g />;
|
|
42
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs.
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import type { Chords } from 'd3-chord';
|
|
4
|
+
type DefaultSortComporator = (a: number, b: number) => number;
|
|
5
|
+
export type ChordProps = {
|
|
6
|
+
/** Square data matrix of size n×n, where the matrix represents the directed flow amongst a network (a complete digraph) of `n` nodes. The given matrix must be an array of length `n`, where each element `matrix[i]` is an array of `n` numbers, where each `matrix[i][j]` represents the flow from the `ith` node in the network to the `jth` node. Each number `matrix[i][j]` must be nonnegative, though it can be zero if there is no flow from node `i` to node `j`. */
|
|
7
|
+
matrix: number[][];
|
|
8
|
+
/** Sets the pad angle between adjacent groups to the specified number in radians. */
|
|
9
|
+
padAngle?: number;
|
|
10
|
+
/** Comparator used to sort the groups by their total outflow. */
|
|
11
|
+
sortGroups?: DefaultSortComporator | null;
|
|
12
|
+
/** Comparator used to sort the subgroups corresponding to `matrix[i][0 … n - 1]` for a given group i by their total outflow. */
|
|
13
|
+
sortSubgroups?: DefaultSortComporator | null;
|
|
14
|
+
/** Comparator used to sort the chords by their combined flow; this only affects the `z-order` of the chords. */
|
|
15
|
+
sortChords?: DefaultSortComporator | null;
|
|
16
|
+
/** Child render function, passed the configured chords. */
|
|
17
|
+
children: (chords: {
|
|
18
|
+
chords: Chords;
|
|
19
|
+
}) => ReactNode;
|
|
20
|
+
};
|
|
21
|
+
export default function Chord({ matrix, padAngle, sortGroups, sortSubgroups, sortChords, children, }: ChordProps): import("react").JSX.Element;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { SVGProps } from 'react';
|
|
2
|
+
import cx from 'classnames';
|
|
3
|
+
import type { Chord, ChordSubgroup } from 'd3-chord';
|
|
4
|
+
import { ribbon as d3ribbon } from 'd3-chord';
|
|
5
|
+
|
|
6
|
+
type NumAccessor = (d: ChordSubgroup) => number;
|
|
7
|
+
|
|
8
|
+
export type RibbonProps = {
|
|
9
|
+
/** Chord for which to render a ribbon. */
|
|
10
|
+
chord: Chord;
|
|
11
|
+
/** Sets the source accessor (defaults to chord.source). */
|
|
12
|
+
source?: (d: Chord) => ChordSubgroup;
|
|
13
|
+
/** Sets the target accessor (defaults to chord.source). */
|
|
14
|
+
target?: (d: Chord) => ChordSubgroup;
|
|
15
|
+
/** Sets the radius or radius accessor for the ribbon generator. */
|
|
16
|
+
radius?: number | NumAccessor;
|
|
17
|
+
/** Sets the start angle or start angle accessor for the ribbon generator. */
|
|
18
|
+
startAngle?: number | NumAccessor;
|
|
19
|
+
/** Sets the end angle or end angle accessor for the ribbon generator. */
|
|
20
|
+
endAngle?: number | NumAccessor;
|
|
21
|
+
/** Override the default rendering of a chord `<path />`. */
|
|
22
|
+
children?: ({
|
|
23
|
+
path,
|
|
24
|
+
}: {
|
|
25
|
+
path: string | null;
|
|
26
|
+
}) => string | undefined;
|
|
27
|
+
/** Classname to apply to the rendered `<path />`. */
|
|
28
|
+
className?: string;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
/** This is a workaround for TypeScript not inferring the correct method overload */
|
|
32
|
+
function setNumberOrNumberAccessor(
|
|
33
|
+
func: (d: number | NumAccessor) => void,
|
|
34
|
+
value: number | NumAccessor,
|
|
35
|
+
) {
|
|
36
|
+
if (typeof value === 'number') func(value);
|
|
37
|
+
else func(value);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export default function Ribbon({
|
|
41
|
+
chord,
|
|
42
|
+
source,
|
|
43
|
+
target,
|
|
44
|
+
radius,
|
|
45
|
+
startAngle,
|
|
46
|
+
endAngle,
|
|
47
|
+
children,
|
|
48
|
+
className,
|
|
49
|
+
...restProps
|
|
50
|
+
}: Omit<SVGProps<SVGPathElement>, keyof RibbonProps> & RibbonProps) {
|
|
51
|
+
const ribbon = d3ribbon<unknown, Chord, ChordSubgroup>();
|
|
52
|
+
if (source) ribbon.source(source);
|
|
53
|
+
if (target) ribbon.target(target);
|
|
54
|
+
if (radius) setNumberOrNumberAccessor(ribbon.radius, radius);
|
|
55
|
+
if (startAngle) setNumberOrNumberAccessor(ribbon.startAngle, startAngle);
|
|
56
|
+
if (endAngle) setNumberOrNumberAccessor(ribbon.endAngle, endAngle);
|
|
57
|
+
const path = ribbon(chord) as unknown as string | null;
|
|
58
|
+
if (children) return <>
|
|
59
|
+
{children({ path })}
|
|
60
|
+
</>;
|
|
61
|
+
|
|
62
|
+
return <path className={cx('visx-ribbon', className)} d={path || ''} {...restProps} />;
|
|
63
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs.
|
|
2
|
+
import type { SVGProps } from 'react';
|
|
3
|
+
import type { Chord, ChordSubgroup } from 'd3-chord';
|
|
4
|
+
type NumAccessor = (d: ChordSubgroup) => number;
|
|
5
|
+
export type RibbonProps = {
|
|
6
|
+
/** Chord for which to render a ribbon. */
|
|
7
|
+
chord: Chord;
|
|
8
|
+
/** Sets the source accessor (defaults to chord.source). */
|
|
9
|
+
source?: (d: Chord) => ChordSubgroup;
|
|
10
|
+
/** Sets the target accessor (defaults to chord.source). */
|
|
11
|
+
target?: (d: Chord) => ChordSubgroup;
|
|
12
|
+
/** Sets the radius or radius accessor for the ribbon generator. */
|
|
13
|
+
radius?: number | NumAccessor;
|
|
14
|
+
/** Sets the start angle or start angle accessor for the ribbon generator. */
|
|
15
|
+
startAngle?: number | NumAccessor;
|
|
16
|
+
/** Sets the end angle or end angle accessor for the ribbon generator. */
|
|
17
|
+
endAngle?: number | NumAccessor;
|
|
18
|
+
/** Override the default rendering of a chord `<path />`. */
|
|
19
|
+
children?: ({ path, }: {
|
|
20
|
+
path: string | null;
|
|
21
|
+
}) => string | undefined;
|
|
22
|
+
/** Classname to apply to the rendered `<path />`. */
|
|
23
|
+
className?: string;
|
|
24
|
+
};
|
|
25
|
+
export default function Ribbon({ chord, source, target, radius, startAngle, endAngle, children, className, ...restProps }: Omit<SVGProps<SVGPathElement>, keyof RibbonProps> & RibbonProps): import("react").JSX.Element;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SVGProps } from 'react';
|
|
2
|
+
import ClipPath from './ClipPath.tsrx';
|
|
3
|
+
|
|
4
|
+
export type CircleClipPathProps = {
|
|
5
|
+
/** Unique id for the clipPath. */
|
|
6
|
+
id?: string;
|
|
7
|
+
/** x position of the center of the ClipPath circle. */
|
|
8
|
+
cx?: string | number;
|
|
9
|
+
/** y position of the center of the ClipPath circle. */
|
|
10
|
+
cy?: string | number;
|
|
11
|
+
/** radius of the ClipPath circle. */
|
|
12
|
+
r?: string | number;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
/** ClipPath for clipping to the shape of a `<circle />`, pass any `<circle />` props you want. */
|
|
16
|
+
export default function CircleClipPath({
|
|
17
|
+
id,
|
|
18
|
+
cx,
|
|
19
|
+
cy,
|
|
20
|
+
r,
|
|
21
|
+
...restProps
|
|
22
|
+
}: CircleClipPathProps & Omit<SVGProps<SVGCircleElement>, keyof CircleClipPathProps>) {
|
|
23
|
+
return <ClipPath id={id}>
|
|
24
|
+
<circle cx={cx} cy={cy} r={r} {...restProps} />
|
|
25
|
+
</ClipPath>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs.
|
|
2
|
+
import type { SVGProps } from 'react';
|
|
3
|
+
export type CircleClipPathProps = {
|
|
4
|
+
/** Unique id for the clipPath. */
|
|
5
|
+
id?: string;
|
|
6
|
+
/** x position of the center of the ClipPath circle. */
|
|
7
|
+
cx?: string | number;
|
|
8
|
+
/** y position of the center of the ClipPath circle. */
|
|
9
|
+
cy?: string | number;
|
|
10
|
+
/** radius of the ClipPath circle. */
|
|
11
|
+
r?: string | number;
|
|
12
|
+
};
|
|
13
|
+
/** ClipPath for clipping to the shape of a `<circle />`, pass any `<circle />` props you want. */
|
|
14
|
+
export default function CircleClipPath({ id, cx, cy, r, ...restProps }: CircleClipPathProps & Omit<SVGProps<SVGCircleElement>, keyof CircleClipPathProps>): import("react").JSX.Element;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SVGProps, ReactNode } from 'react';
|
|
2
|
+
import useStableId from '../../kernel/ids/useStableId.tsrx';
|
|
3
|
+
|
|
4
|
+
export type ClipPathProps = {
|
|
5
|
+
/** Unique id for the clipPath. */
|
|
6
|
+
id?: string;
|
|
7
|
+
/** clipPath children. */
|
|
8
|
+
children?: ReactNode;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
/** Handles rendering of <defs> and <clipPath> elements for you, with any children you want. */
|
|
12
|
+
export default function ClipPath({
|
|
13
|
+
id,
|
|
14
|
+
children,
|
|
15
|
+
...restProps
|
|
16
|
+
}: ClipPathProps & Omit<SVGProps<SVGClipPathElement>, keyof ClipPathProps>) {
|
|
17
|
+
const generatedId = useStableId('visx-clip');
|
|
18
|
+
return <defs>
|
|
19
|
+
<clipPath id={id ?? generatedId} {...restProps}>{children}</clipPath>
|
|
20
|
+
</defs>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs.
|
|
2
|
+
import type { SVGProps, ReactNode } from 'react';
|
|
3
|
+
export type ClipPathProps = {
|
|
4
|
+
/** Unique id for the clipPath. */
|
|
5
|
+
id?: string;
|
|
6
|
+
/** clipPath children. */
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
};
|
|
9
|
+
/** Handles rendering of <defs> and <clipPath> elements for you, with any children you want. */
|
|
10
|
+
export default function ClipPath({ id, children, ...restProps }: ClipPathProps & Omit<SVGProps<SVGClipPathElement>, keyof ClipPathProps>): import("react").JSX.Element;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { SVGProps } from 'react';
|
|
2
|
+
import ClipPath from './ClipPath.tsrx';
|
|
3
|
+
|
|
4
|
+
export type RectClipPathProps = {
|
|
5
|
+
/** Unique id for the clipPath. */
|
|
6
|
+
id?: string;
|
|
7
|
+
/** x position of the ClipPath rect. */
|
|
8
|
+
x?: string | number;
|
|
9
|
+
/** y position of the ClipPath rect. */
|
|
10
|
+
y?: string | number;
|
|
11
|
+
/** width of the ClipPath rect. */
|
|
12
|
+
width?: string | number;
|
|
13
|
+
/** height of the ClipPath rect. */
|
|
14
|
+
height?: string | number;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export default function RectClipPath({
|
|
18
|
+
id,
|
|
19
|
+
x = 0,
|
|
20
|
+
y = 0,
|
|
21
|
+
width = 1,
|
|
22
|
+
height = 1,
|
|
23
|
+
...restProps
|
|
24
|
+
}: RectClipPathProps & Omit<SVGProps<SVGRectElement>, keyof RectClipPathProps>) {
|
|
25
|
+
return <ClipPath id={id}>
|
|
26
|
+
<rect x={x} y={y} width={width} height={height} {...restProps} />
|
|
27
|
+
</ClipPath>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs.
|
|
2
|
+
import type { SVGProps } from 'react';
|
|
3
|
+
export type RectClipPathProps = {
|
|
4
|
+
/** Unique id for the clipPath. */
|
|
5
|
+
id?: string;
|
|
6
|
+
/** x position of the ClipPath rect. */
|
|
7
|
+
x?: string | number;
|
|
8
|
+
/** y position of the ClipPath rect. */
|
|
9
|
+
y?: string | number;
|
|
10
|
+
/** width of the ClipPath rect. */
|
|
11
|
+
width?: string | number;
|
|
12
|
+
/** height of the ClipPath rect. */
|
|
13
|
+
height?: string | number;
|
|
14
|
+
};
|
|
15
|
+
export default function RectClipPath({ id, x, y, width, height, ...restProps }: RectClipPathProps & Omit<SVGProps<SVGRectElement>, keyof RectClipPathProps>): import("react").JSX.Element;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// @octanejs/visx/curve
|
|
2
|
+
export {
|
|
3
|
+
curveBasis,
|
|
4
|
+
curveBasisClosed,
|
|
5
|
+
curveBasisOpen,
|
|
6
|
+
curveStep,
|
|
7
|
+
curveStepAfter,
|
|
8
|
+
curveStepBefore,
|
|
9
|
+
curveBundle,
|
|
10
|
+
curveLinear,
|
|
11
|
+
curveLinearClosed,
|
|
12
|
+
curveCardinal,
|
|
13
|
+
curveCardinalClosed,
|
|
14
|
+
curveCardinalOpen,
|
|
15
|
+
curveCatmullRom,
|
|
16
|
+
curveCatmullRomClosed,
|
|
17
|
+
curveCatmullRomOpen,
|
|
18
|
+
curveMonotoneX,
|
|
19
|
+
curveMonotoneY,
|
|
20
|
+
curveNatural,
|
|
21
|
+
} from 'd3-shape';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ReactNode, SVGProps } from 'react';
|
|
2
|
+
import cx from 'classnames';
|
|
3
|
+
|
|
4
|
+
export type PolygonProps = {
|
|
5
|
+
/** Override render function which is provided polygon and generated path. */
|
|
6
|
+
children?: ({
|
|
7
|
+
path,
|
|
8
|
+
polygon,
|
|
9
|
+
}: {
|
|
10
|
+
path: string;
|
|
11
|
+
polygon: [number, number][];
|
|
12
|
+
}) => ReactNode;
|
|
13
|
+
/** className to apply to path element. */
|
|
14
|
+
className?: string;
|
|
15
|
+
/** Array of coordinate arrays for the polygon (e.g., [[x,y], [x1,y1], ...]), used to generate polygon path. */
|
|
16
|
+
polygon?: [number, number][];
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default function Polygon({
|
|
20
|
+
polygon,
|
|
21
|
+
className,
|
|
22
|
+
children,
|
|
23
|
+
...restProps
|
|
24
|
+
}: PolygonProps & Omit<SVGProps<SVGPathElement>, keyof PolygonProps>) {
|
|
25
|
+
if (!polygon) return null;
|
|
26
|
+
const path = `M${polygon.join('L')}Z`;
|
|
27
|
+
if (children) return <>
|
|
28
|
+
{children({ path, polygon })}
|
|
29
|
+
</>;
|
|
30
|
+
|
|
31
|
+
return <path className={cx('visx-delaunay-polygon', className)} d={path} {...restProps} />;
|
|
32
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs.
|
|
2
|
+
import type { ReactNode, SVGProps } from 'react';
|
|
3
|
+
export type PolygonProps = {
|
|
4
|
+
/** Override render function which is provided polygon and generated path. */
|
|
5
|
+
children?: ({ path, polygon, }: {
|
|
6
|
+
path: string;
|
|
7
|
+
polygon: [number, number][];
|
|
8
|
+
}) => ReactNode;
|
|
9
|
+
/** className to apply to path element. */
|
|
10
|
+
className?: string;
|
|
11
|
+
/** Array of coordinate arrays for the polygon (e.g., [[x,y], [x1,y1], ...]), used to generate polygon path. */
|
|
12
|
+
polygon?: [number, number][];
|
|
13
|
+
};
|
|
14
|
+
export default function Polygon({ polygon, className, children, ...restProps }: PolygonProps & Omit<SVGProps<SVGPathElement>, keyof PolygonProps>): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Delaunay } from 'd3-delaunay';
|
|
2
|
+
|
|
3
|
+
interface Config<Datum> {
|
|
4
|
+
/** The data for the delaunay triangulation */
|
|
5
|
+
data?: Datum[];
|
|
6
|
+
/** Set the x-value accessor function for the delaunay triangulation. */
|
|
7
|
+
x: (d: Datum) => number;
|
|
8
|
+
/** Set the y-value accessor function for the delaunay triangulation. */
|
|
9
|
+
y: (d: Datum) => number;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Returns a configured d3 delaunay triangulation. See d3-delaunay for the complete API reference.
|
|
14
|
+
*/
|
|
15
|
+
export default function delaunay<Datum>({ data = [], x, y }: Config<Datum>) {
|
|
16
|
+
return Delaunay.from(data, x, y);
|
|
17
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Delaunay } from 'd3-delaunay';
|
|
2
|
+
|
|
3
|
+
const CLIP_PADDING = 1;
|
|
4
|
+
|
|
5
|
+
interface Config<Datum> {
|
|
6
|
+
/** The data for the voronoi diagram */
|
|
7
|
+
data?: Datum[];
|
|
8
|
+
/** The total width of the voronoi diagram. */
|
|
9
|
+
width?: number;
|
|
10
|
+
/** The total width of the voronoi diagram. */
|
|
11
|
+
height?: number;
|
|
12
|
+
/** Set the x-value accessor function for the voronoi diagram. */
|
|
13
|
+
x: (d: Datum) => number;
|
|
14
|
+
/** Set the y-value accessor function for the voronoi diagram. */
|
|
15
|
+
y: (d: Datum) => number;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Returns a configured d3 voronoi diagram for the given data. See d3-delaunay
|
|
20
|
+
* for the complete API reference.
|
|
21
|
+
*/
|
|
22
|
+
export default function voronoi<Datum>({ data = [], width = 0, height = 0, x, y }: Config<Datum>) {
|
|
23
|
+
const delaunay = Delaunay.from(data, x, y);
|
|
24
|
+
return delaunay.voronoi([
|
|
25
|
+
-CLIP_PADDING,
|
|
26
|
+
-CLIP_PADDING,
|
|
27
|
+
width + CLIP_PADDING,
|
|
28
|
+
height + CLIP_PADDING,
|
|
29
|
+
]);
|
|
30
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/* eslint-disable react/jsx-handler-names */
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import type { UseDrag, UseDragOptions, HandlerArgs as HandlerArgsType } from './useDrag.tsrx';
|
|
4
|
+
import useDrag from './useDrag.tsrx';
|
|
5
|
+
|
|
6
|
+
export type HandlerArgs = HandlerArgsType;
|
|
7
|
+
|
|
8
|
+
export type DragProps = UseDragOptions & {
|
|
9
|
+
/** Children render function which is passed the state of dragging and callbacks for drag start/end/move. */
|
|
10
|
+
children: (args: UseDrag) => ReactNode;
|
|
11
|
+
/** Width of the drag container. */
|
|
12
|
+
width: number;
|
|
13
|
+
/** Height of the drag container. */
|
|
14
|
+
height: number;
|
|
15
|
+
/** Whether to render an invisible rect below children to capture the drag area as defined by width and height. */
|
|
16
|
+
captureDragArea?: boolean;
|
|
17
|
+
/** If defined, parent controls dragging state. */
|
|
18
|
+
isDragging?: boolean;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export default function Drag({
|
|
22
|
+
captureDragArea = true,
|
|
23
|
+
snapToPointer = true,
|
|
24
|
+
children,
|
|
25
|
+
dx,
|
|
26
|
+
dy,
|
|
27
|
+
height,
|
|
28
|
+
onDragEnd,
|
|
29
|
+
onDragMove,
|
|
30
|
+
onDragStart,
|
|
31
|
+
resetOnStart,
|
|
32
|
+
width,
|
|
33
|
+
x,
|
|
34
|
+
y,
|
|
35
|
+
isDragging,
|
|
36
|
+
restrict,
|
|
37
|
+
restrictToPath,
|
|
38
|
+
}: DragProps) {
|
|
39
|
+
const drag = useDrag({
|
|
40
|
+
resetOnStart,
|
|
41
|
+
snapToPointer,
|
|
42
|
+
onDragEnd,
|
|
43
|
+
onDragMove,
|
|
44
|
+
onDragStart,
|
|
45
|
+
x,
|
|
46
|
+
y,
|
|
47
|
+
dx,
|
|
48
|
+
dy,
|
|
49
|
+
isDragging,
|
|
50
|
+
restrict,
|
|
51
|
+
restrictToPath,
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
return <>
|
|
55
|
+
{drag.isDragging && captureDragArea &&
|
|
56
|
+
<rect
|
|
57
|
+
width={width}
|
|
58
|
+
height={height}
|
|
59
|
+
onPointerDown={drag.dragStart}
|
|
60
|
+
onPointerMove={drag.dragMove}
|
|
61
|
+
onPointerUp={drag.dragEnd}
|
|
62
|
+
fill="transparent"
|
|
63
|
+
/>}
|
|
64
|
+
{children(drag)}
|
|
65
|
+
</>;
|
|
66
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Generated by scripts/generate-tsrx-types.mjs.
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import type { UseDrag, UseDragOptions, HandlerArgs as HandlerArgsType } from './useDrag.tsrx';
|
|
4
|
+
export type HandlerArgs = HandlerArgsType;
|
|
5
|
+
export type DragProps = UseDragOptions & {
|
|
6
|
+
/** Children render function which is passed the state of dragging and callbacks for drag start/end/move. */
|
|
7
|
+
children: (args: UseDrag) => ReactNode;
|
|
8
|
+
/** Width of the drag container. */
|
|
9
|
+
width: number;
|
|
10
|
+
/** Height of the drag container. */
|
|
11
|
+
height: number;
|
|
12
|
+
/** Whether to render an invisible rect below children to capture the drag area as defined by width and height. */
|
|
13
|
+
captureDragArea?: boolean;
|
|
14
|
+
/** If defined, parent controls dragging state. */
|
|
15
|
+
isDragging?: boolean;
|
|
16
|
+
};
|
|
17
|
+
export default function Drag({ captureDragArea, snapToPointer, children, dx, dy, height, onDragEnd, onDragMove, onDragStart, resetOnStart, width, x, y, isDragging, restrict, restrictToPath, }: DragProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// @octanejs/visx/drag
|
|
2
|
+
export { default as Drag } from './Drag.tsrx';
|
|
3
|
+
export { default as useDrag } from './useDrag.tsrx';
|
|
4
|
+
export { default as raise } from './util/raise';
|
|
5
|
+
|
|
6
|
+
export type { DragProps } from './Drag.tsrx';
|
|
7
|
+
export type {
|
|
8
|
+
DragState,
|
|
9
|
+
HandlerArgs,
|
|
10
|
+
MouseTouchOrPointerEvent,
|
|
11
|
+
UseDrag,
|
|
12
|
+
UseDragOptions,
|
|
13
|
+
} from './useDrag.tsrx';
|