Full Code of airbnb/visx for AI

master 00d41afc6c39 cached
1334 files
3.5 MB
1.0M tokens
1449 symbols
1 requests
Download .txt
Showing preview only (3,969K chars total). Download the full file or copy to clipboard to get everything.
Repository: airbnb/visx
Branch: master
Commit: 00d41afc6c39
Files: 1334
Total size: 3.5 MB

Directory structure:
gitextract_s3xwcrx5/

├── .eslintignore
├── .eslintrc.js
├── .github/
│   └── workflows/
│       ├── pull_request.yml
│       └── push.yml
├── .gitignore
├── .npmignore
├── .npmrc
├── .nvmrc
├── .prettierignore
├── .yarnrc.yml
├── ATTRIBUTION.md
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── PULL_REQUEST_TEMPLATE.md
├── README.md
├── babel.config.js
├── config-eslint/
│   ├── base.js
│   ├── next.js
│   ├── prettier.js
│   └── typescript.js
├── lerna.json
├── package.json
├── packages/
│   ├── sizes.json
│   ├── visx-annotation/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── components/
│   │   │   │   ├── Annotation.tsx
│   │   │   │   ├── CircleSubject.tsx
│   │   │   │   ├── Connector.tsx
│   │   │   │   ├── EditableAnnotation.tsx
│   │   │   │   ├── HtmlLabel.tsx
│   │   │   │   ├── Label.tsx
│   │   │   │   ├── LabelAnchorLine.tsx
│   │   │   │   └── LineSubject.tsx
│   │   │   ├── context/
│   │   │   │   └── AnnotationContext.tsx
│   │   │   ├── index.ts
│   │   │   └── types/
│   │   │       └── index.ts
│   │   ├── test/
│   │   │   ├── Annotation.test.tsx
│   │   │   ├── CircleSubject.test.tsx
│   │   │   ├── Connector.test.tsx
│   │   │   ├── EditableAnnotation.test.tsx
│   │   │   ├── HtmlLabel.test.tsx
│   │   │   ├── Label.test.tsx
│   │   │   ├── LineSubject.test.tsx
│   │   │   ├── svgMock.ts
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-axis/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── axis/
│   │   │   │   ├── Axis.tsx
│   │   │   │   ├── AxisBottom.tsx
│   │   │   │   ├── AxisLeft.tsx
│   │   │   │   ├── AxisRenderer.tsx
│   │   │   │   ├── AxisRight.tsx
│   │   │   │   ├── AxisTop.tsx
│   │   │   │   └── Ticks.tsx
│   │   │   ├── constants/
│   │   │   │   └── orientation.ts
│   │   │   ├── index.ts
│   │   │   ├── types.ts
│   │   │   └── utils/
│   │   │       ├── createPoint.ts
│   │   │       ├── getAxisRangePaddingConfig.ts
│   │   │       ├── getLabelTransform.ts
│   │   │       ├── getTickFormatter.ts
│   │   │       └── getTickPosition.ts
│   │   ├── test/
│   │   │   ├── Axis.test.tsx
│   │   │   ├── AxisBottom.test.tsx
│   │   │   ├── AxisLeft.test.tsx
│   │   │   ├── AxisRight.test.tsx
│   │   │   ├── AxisTop.test.tsx
│   │   │   ├── Orientation.test.ts
│   │   │   ├── scales.test.tsx
│   │   │   ├── svgMock.ts
│   │   │   ├── tsconfig.json
│   │   │   └── utils/
│   │   │       ├── getAxisRangePaddingConfig.test.ts
│   │   │       └── getTickPosition.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-bounds/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── enhancers/
│   │   │   │   └── withBoundingRects.tsx
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── tsconfig.json
│   │   │   └── withBoundingRects.test.tsx
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-brush/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── BaseBrush.tsx
│   │   │   ├── Brush.tsx
│   │   │   ├── BrushCorner.tsx
│   │   │   ├── BrushHandle.tsx
│   │   │   ├── BrushOverlay.tsx
│   │   │   ├── BrushSelection.tsx
│   │   │   ├── index.ts
│   │   │   ├── types.ts
│   │   │   └── utils.ts
│   │   ├── test/
│   │   │   ├── Brush.test.tsx
│   │   │   ├── tsconfig.json
│   │   │   └── utils.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-chord/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Chord.tsx
│   │   │   ├── Ribbon.tsx
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Chord.test.tsx
│   │   │   ├── Ribbon.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-clip-path/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── clip-paths/
│   │   │   │   ├── CircleClipPath.tsx
│   │   │   │   ├── ClipPath.tsx
│   │   │   │   └── RectClipPath.tsx
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── ClipPaths.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-curve/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── curve.test.ts
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-delaunay/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── components/
│   │   │   │   └── Polygon.tsx
│   │   │   ├── delaunay.ts
│   │   │   ├── index.ts
│   │   │   └── voronoi.ts
│   │   ├── test/
│   │   │   ├── Polygon.test.tsx
│   │   │   ├── delaunay.test.ts
│   │   │   ├── tsconfig.json
│   │   │   └── voronoi.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-demo/
│   │   ├── .gitignore
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── next-env.d.ts
│   │   ├── next.config.js
│   │   ├── package.json
│   │   ├── public/
│   │   │   └── static/
│   │   │       ├── doc_styles.css
│   │   │       ├── prism/
│   │   │       │   ├── prism-funky.css
│   │   │       │   └── prism-line-numbers.css
│   │   │       ├── style.css
│   │   │       └── visx-geo/
│   │   │           └── world-topo.json
│   │   ├── src/
│   │   │   ├── components/
│   │   │   │   ├── ApiTable.tsx
│   │   │   │   ├── CodeSandboxLink.tsx
│   │   │   │   ├── Codeblock.tsx
│   │   │   │   ├── DocPage.tsx
│   │   │   │   ├── Footer.tsx
│   │   │   │   ├── Gallery/
│   │   │   │   │   ├── .eslintrc
│   │   │   │   │   ├── AnnotationTile.tsx
│   │   │   │   │   ├── AreaTile.tsx
│   │   │   │   │   ├── AxisTile.tsx
│   │   │   │   │   ├── BarGroupHorizontalTile.tsx
│   │   │   │   │   ├── BarGroupTile.tsx
│   │   │   │   │   ├── BarStackHorizontalTile.tsx
│   │   │   │   │   ├── BarStackTile.tsx
│   │   │   │   │   ├── BarsTile.tsx
│   │   │   │   │   ├── BrushTile.tsx
│   │   │   │   │   ├── ChordTile.tsx
│   │   │   │   │   ├── CurvesTile.tsx
│   │   │   │   │   ├── DelaunayTriangulationTile.tsx
│   │   │   │   │   ├── DelaunayVoronoiTile.tsx
│   │   │   │   │   ├── DendrogramsTile.tsx
│   │   │   │   │   ├── DotsTile.tsx
│   │   │   │   │   ├── DragIITile.tsx
│   │   │   │   │   ├── DragITile.tsx
│   │   │   │   │   ├── GeoAlbersUsaTile.tsx
│   │   │   │   │   ├── GeoCustomTile.tsx
│   │   │   │   │   ├── GeoMercatorTile.tsx
│   │   │   │   │   ├── GlyphsTile.tsx
│   │   │   │   │   ├── GradientsTile.tsx
│   │   │   │   │   ├── HeatmapsTile.tsx
│   │   │   │   │   ├── LegendsTile.tsx
│   │   │   │   │   ├── LineRadialTile.tsx
│   │   │   │   │   ├── LinkTypesTile.tsx
│   │   │   │   │   ├── NetworkTile.tsx
│   │   │   │   │   ├── PackTile.tsx
│   │   │   │   │   ├── PatternsTile.tsx
│   │   │   │   │   ├── PiesTile.tsx
│   │   │   │   │   ├── PolygonsTile.tsx
│   │   │   │   │   ├── RadarTile.tsx
│   │   │   │   │   ├── RadialBarsTile.tsx
│   │   │   │   │   ├── ResponsiveTile.tsx
│   │   │   │   │   ├── SankeyTile.tsx
│   │   │   │   │   ├── SplitLinePathTile.tsx
│   │   │   │   │   ├── StackedAreasTile.tsx
│   │   │   │   │   ├── StatsPlotTile.tsx
│   │   │   │   │   ├── StreamGraphTile.tsx
│   │   │   │   │   ├── TextTile.tsx
│   │   │   │   │   ├── ThresholdTile.tsx
│   │   │   │   │   ├── TooltipTile.tsx
│   │   │   │   │   ├── TreemapTile.tsx
│   │   │   │   │   ├── TreesTile.tsx
│   │   │   │   │   ├── VoronoiTile.tsx
│   │   │   │   │   ├── WordcloudTile.tsx
│   │   │   │   │   ├── XYChartTile.tsx
│   │   │   │   │   ├── ZoomITile.tsx
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── GalleryTile.tsx
│   │   │   │   ├── Logo.tsx
│   │   │   │   ├── Meta.tsx
│   │   │   │   ├── Nav.tsx
│   │   │   │   ├── NavItem.tsx
│   │   │   │   ├── NoSsr.tsx
│   │   │   │   ├── PackageList.tsx
│   │   │   │   ├── Page.tsx
│   │   │   │   ├── Show.tsx
│   │   │   │   ├── VisxDocLink.tsx
│   │   │   │   ├── icons/
│   │   │   │   │   ├── Belo.tsx
│   │   │   │   │   ├── GitHub.tsx
│   │   │   │   │   ├── Instagram.tsx
│   │   │   │   │   ├── Medium.tsx
│   │   │   │   │   └── Twitter.tsx
│   │   │   │   └── util/
│   │   │   │       ├── drawData.ts
│   │   │   │       ├── extractVisxDepsFromPackageJson.ts
│   │   │   │       └── format.ts
│   │   │   ├── next-env.d.ts
│   │   │   ├── pages/
│   │   │   │   ├── .eslintrc
│   │   │   │   ├── _app.tsx
│   │   │   │   ├── _document.tsx
│   │   │   │   ├── annotation.tsx
│   │   │   │   ├── areas.tsx
│   │   │   │   ├── axis.tsx
│   │   │   │   ├── bargroup.tsx
│   │   │   │   ├── bargrouphorizontal.tsx
│   │   │   │   ├── bars.tsx
│   │   │   │   ├── barstack.tsx
│   │   │   │   ├── barstackhorizontal.tsx
│   │   │   │   ├── brush.tsx
│   │   │   │   ├── chord.tsx
│   │   │   │   ├── curves.tsx
│   │   │   │   ├── delaunay-triangulation.tsx
│   │   │   │   ├── delaunay-voronoi.tsx
│   │   │   │   ├── dendrograms.tsx
│   │   │   │   ├── docs/
│   │   │   │   │   ├── .eslintrc
│   │   │   │   │   ├── annotation.tsx
│   │   │   │   │   ├── axis.tsx
│   │   │   │   │   ├── bounds.tsx
│   │   │   │   │   ├── brush.tsx
│   │   │   │   │   ├── chord.tsx
│   │   │   │   │   ├── clip-path.tsx
│   │   │   │   │   ├── curve.tsx
│   │   │   │   │   ├── delaunay.tsx
│   │   │   │   │   ├── drag.tsx
│   │   │   │   │   ├── event.tsx
│   │   │   │   │   ├── geo.tsx
│   │   │   │   │   ├── glyph.tsx
│   │   │   │   │   ├── gradient.tsx
│   │   │   │   │   ├── grid.tsx
│   │   │   │   │   ├── group.tsx
│   │   │   │   │   ├── heatmap.tsx
│   │   │   │   │   ├── hierarchy.tsx
│   │   │   │   │   ├── legend.tsx
│   │   │   │   │   ├── marker.tsx
│   │   │   │   │   ├── mock-data.tsx
│   │   │   │   │   ├── network.tsx
│   │   │   │   │   ├── pattern.tsx
│   │   │   │   │   ├── point.tsx
│   │   │   │   │   ├── react-spring.tsx
│   │   │   │   │   ├── responsive.tsx
│   │   │   │   │   ├── sankey.tsx
│   │   │   │   │   ├── scale.tsx
│   │   │   │   │   ├── shape.tsx
│   │   │   │   │   ├── stats.tsx
│   │   │   │   │   ├── text.tsx
│   │   │   │   │   ├── threshold.tsx
│   │   │   │   │   ├── tooltip.tsx
│   │   │   │   │   ├── visx.tsx
│   │   │   │   │   ├── voronoi.tsx
│   │   │   │   │   ├── wordcloud.tsx
│   │   │   │   │   ├── xychart.tsx
│   │   │   │   │   └── zoom.tsx
│   │   │   │   ├── docs.tsx
│   │   │   │   ├── dots.tsx
│   │   │   │   ├── drag-i.tsx
│   │   │   │   ├── drag-ii.tsx
│   │   │   │   ├── gallery.tsx
│   │   │   │   ├── geo-albers-usa.tsx
│   │   │   │   ├── geo-custom.tsx
│   │   │   │   ├── geo-mercator.tsx
│   │   │   │   ├── glyphs.tsx
│   │   │   │   ├── gradients.tsx
│   │   │   │   ├── heatmaps.tsx
│   │   │   │   ├── home.tsx
│   │   │   │   ├── index.tsx
│   │   │   │   ├── legends.tsx
│   │   │   │   ├── lineradial.tsx
│   │   │   │   ├── linktypes.tsx
│   │   │   │   ├── network.tsx
│   │   │   │   ├── pack.tsx
│   │   │   │   ├── patterns.tsx
│   │   │   │   ├── pies.tsx
│   │   │   │   ├── polygons.tsx
│   │   │   │   ├── radar.tsx
│   │   │   │   ├── radial-bars.tsx
│   │   │   │   ├── responsive.tsx
│   │   │   │   ├── sankey.tsx
│   │   │   │   ├── splitlinepath.tsx
│   │   │   │   ├── stacked-areas.tsx
│   │   │   │   ├── statsplot.tsx
│   │   │   │   ├── streamgraph.tsx
│   │   │   │   ├── text.tsx
│   │   │   │   ├── threshold.tsx
│   │   │   │   ├── tooltip.tsx
│   │   │   │   ├── treemap.tsx
│   │   │   │   ├── trees.tsx
│   │   │   │   ├── voronoi.tsx
│   │   │   │   ├── wordcloud.tsx
│   │   │   │   ├── xychart.tsx
│   │   │   │   └── zoom-i.tsx
│   │   │   ├── sandboxes/
│   │   │   │   ├── .eslintrc
│   │   │   │   ├── README.md
│   │   │   │   ├── exampleToVisxDependencyLookup.ts
│   │   │   │   ├── template/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-annotation/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── ExampleControls.tsx
│   │   │   │   │   ├── findNearestDatum.ts
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-area/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-axis/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-bargroup/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-bargroup-horizontal/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-bars/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-barstack/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-barstack-horizontal/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-brush/
│   │   │   │   │   ├── AreaChart.tsx
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-chord/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-curve/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-delaunay-triangulation/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-delaunay-voronoi/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-dendrogram/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-dots/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-drag-i/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── generateCircles.ts
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-drag-ii/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-geo-albers-usa/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── sandbox-styles.css
│   │   │   │   │   ├── us-abbr.json
│   │   │   │   │   ├── usa-topo.d.ts
│   │   │   │   │   └── usa-topo.json
│   │   │   │   ├── visx-geo-custom/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── sandbox-styles.css
│   │   │   │   │   ├── world-topo.d.ts
│   │   │   │   │   └── world-topo.json
│   │   │   │   ├── visx-geo-mercator/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── sandbox-styles.css
│   │   │   │   │   ├── world-topo.d.ts
│   │   │   │   │   └── world-topo.json
│   │   │   │   ├── visx-glyph/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-gradient/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-heatmap/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-legend/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-linktypes/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── LinkControls.tsx
│   │   │   │   │   ├── getLinkComponent.ts
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── sandbox-styles.css
│   │   │   │   │   └── useForceUpdate.ts
│   │   │   │   ├── visx-network/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-pack/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-pattern/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-polygons/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-radar/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-radial-bars/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-responsive/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── Lines.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-sankey/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── energy.json
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-shape-line-radial/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-shape-pie/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-shape-splitlinepath/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── generateSinPoints.ts
│   │   │   │   │   ├── generateSinSegments.ts
│   │   │   │   │   ├── generateSnakePath.ts
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-stacked-areas/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-stats/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-streamgraph/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── generateData.ts
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── sandbox-styles.css
│   │   │   │   │   └── useForceUpdate.ts
│   │   │   │   ├── visx-threshold/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-tooltip/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-tree/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-treemap/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-voronoi/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-wordcloud/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── sandbox-styles.css
│   │   │   │   │   └── text.fixture.ts
│   │   │   │   ├── visx-xychart/
│   │   │   │   │   ├── CustomChartBackground.tsx
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── ExampleControls.tsx
│   │   │   │   │   ├── customTheme.ts
│   │   │   │   │   ├── getAnimatedOrUnanimatedComponents.ts
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── sandbox-styles.css
│   │   │   │   │   └── userPrefersReducedMotion.ts
│   │   │   │   └── visx-zoom-i/
│   │   │   │       ├── Example.tsx
│   │   │   │       ├── index.tsx
│   │   │   │       ├── package.json
│   │   │   │       └── sandbox-styles.css
│   │   │   ├── types/
│   │   │   │   ├── index.ts
│   │   │   │   └── raw-loader.d.ts
│   │   │   └── utils/
│   │   │       ├── getDocGenInfo.ts
│   │   │       └── getGitHubUrl.ts
│   │   ├── tsconfig.json
│   │   └── vercel.json
│   ├── visx-drag/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Drag.tsx
│   │   │   ├── index.ts
│   │   │   ├── useDrag.ts
│   │   │   └── util/
│   │   │       ├── clampNumber.ts
│   │   │       ├── getClosestPoint.ts
│   │   │       ├── raise.ts
│   │   │       ├── restrictPoint.ts
│   │   │       ├── useSamplesAlongPath.ts
│   │   │       └── useStateWithCallback.ts
│   │   ├── test/
│   │   │   ├── Drag.test.ts
│   │   │   ├── raise.test.ts
│   │   │   ├── tsconfig.json
│   │   │   ├── useDrag.test.tsx
│   │   │   └── useStateWithCallback.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-event/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── getXAndYFromEvent.ts
│   │   │   ├── index.ts
│   │   │   ├── localPoint.ts
│   │   │   ├── localPointGeneric.ts
│   │   │   ├── touchPoint.ts
│   │   │   ├── typeGuards.ts
│   │   │   └── types.ts
│   │   ├── test/
│   │   │   ├── getXandYFromEvent.test.ts
│   │   │   ├── localPoint.test.ts
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-geo/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── graticule/
│   │   │   │   └── Graticule.tsx
│   │   │   ├── index.ts
│   │   │   ├── projections/
│   │   │   │   ├── Albers.tsx
│   │   │   │   ├── AlbersUsa.tsx
│   │   │   │   ├── CustomProjection.tsx
│   │   │   │   ├── EqualEarth.tsx
│   │   │   │   ├── Mercator.tsx
│   │   │   │   ├── NaturalEarth.tsx
│   │   │   │   ├── Orthographic.tsx
│   │   │   │   └── Projection.tsx
│   │   │   └── types.ts
│   │   ├── test/
│   │   │   ├── Albers.test.tsx
│   │   │   ├── AlbersUsa.test.tsx
│   │   │   ├── CustomProjection.test.tsx
│   │   │   ├── EqualEarth.test.tsx
│   │   │   ├── Mercator.test.tsx
│   │   │   ├── Orthographic.test.tsx
│   │   │   ├── Projection.test.tsx
│   │   │   ├── topo.json
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-glyph/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── glyphs/
│   │   │   │   ├── Glyph.tsx
│   │   │   │   ├── GlyphCircle.tsx
│   │   │   │   ├── GlyphCross.tsx
│   │   │   │   ├── GlyphDiamond.tsx
│   │   │   │   ├── GlyphDot.tsx
│   │   │   │   ├── GlyphSquare.tsx
│   │   │   │   ├── GlyphStar.tsx
│   │   │   │   ├── GlyphTriangle.tsx
│   │   │   │   └── GlyphWye.tsx
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Circle.test.tsx
│   │   │   ├── Cross.test.tsx
│   │   │   ├── Diamond.test.tsx
│   │   │   ├── Dot.test.tsx
│   │   │   ├── Glyph.test.tsx
│   │   │   ├── Square.test.tsx
│   │   │   ├── Star.test.tsx
│   │   │   ├── Triangle.test.tsx
│   │   │   ├── Wye.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-gradient/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── gradients/
│   │   │   │   ├── GradientDarkgreenGreen.tsx
│   │   │   │   ├── GradientLightgreenGreen.tsx
│   │   │   │   ├── GradientOrangeRed.tsx
│   │   │   │   ├── GradientPinkBlue.tsx
│   │   │   │   ├── GradientPinkRed.tsx
│   │   │   │   ├── GradientPurpleOrange.tsx
│   │   │   │   ├── GradientPurpleRed.tsx
│   │   │   │   ├── GradientPurpleTeal.tsx
│   │   │   │   ├── GradientSteelPurple.tsx
│   │   │   │   ├── GradientTealBlue.tsx
│   │   │   │   ├── LinearGradient.tsx
│   │   │   │   └── RadialGradient.tsx
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Gradients.test.tsx
│   │   │   ├── LinearGradient.test.tsx
│   │   │   ├── RadialGradient.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-grid/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── grids/
│   │   │   │   ├── Grid.tsx
│   │   │   │   ├── GridAngle.tsx
│   │   │   │   ├── GridColumns.tsx
│   │   │   │   ├── GridPolar.tsx
│   │   │   │   ├── GridRadial.tsx
│   │   │   │   └── GridRows.tsx
│   │   │   ├── index.ts
│   │   │   ├── types.ts
│   │   │   └── utils/
│   │   │       ├── getScaleBandwidth.ts
│   │   │       └── polarToCartesian.ts
│   │   ├── test/
│   │   │   ├── Grid.test.tsx
│   │   │   ├── GridAngle.test.tsx
│   │   │   ├── GridColumns.test.tsx
│   │   │   ├── GridPolar.test.tsx
│   │   │   ├── GridRadial.test.tsx
│   │   │   ├── GridRows.test.tsx
│   │   │   ├── tsconfig.json
│   │   │   └── utils.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-group/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Group.tsx
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Group.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-heatmap/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── heatmaps/
│   │   │   │   ├── HeatmapCircle.tsx
│   │   │   │   └── HeatmapRect.tsx
│   │   │   ├── index.ts
│   │   │   └── types.ts
│   │   ├── test/
│   │   │   ├── HeatmapCircle.test.tsx
│   │   │   ├── HeatmapRect.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-hierarchy/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── HierarchyDefaultLink.tsx
│   │   │   ├── HierarchyDefaultNode.tsx
│   │   │   ├── HierarchyDefaultRectNode.tsx
│   │   │   ├── hierarchies/
│   │   │   │   ├── Cluster.tsx
│   │   │   │   ├── Pack.tsx
│   │   │   │   ├── Partition.tsx
│   │   │   │   ├── Tree.tsx
│   │   │   │   └── Treemap.tsx
│   │   │   ├── index.ts
│   │   │   ├── types.ts
│   │   │   └── utils/
│   │   │       └── setNumOrNumAccessor.ts
│   │   ├── test/
│   │   │   ├── Cluster.test.tsx
│   │   │   ├── Defaults.test.tsx
│   │   │   ├── Tree.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-legend/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── index.ts
│   │   │   ├── legends/
│   │   │   │   ├── Legend/
│   │   │   │   │   ├── LegendItem.tsx
│   │   │   │   │   ├── LegendLabel.tsx
│   │   │   │   │   ├── LegendShape.tsx
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── Linear.tsx
│   │   │   │   ├── Ordinal.tsx
│   │   │   │   ├── Quantile.tsx
│   │   │   │   ├── Size.tsx
│   │   │   │   └── Threshold.tsx
│   │   │   ├── shapes/
│   │   │   │   ├── Circle.tsx
│   │   │   │   ├── Line.tsx
│   │   │   │   └── Rect.tsx
│   │   │   ├── types/
│   │   │   │   └── index.ts
│   │   │   └── util/
│   │   │       ├── defaultDomain.ts
│   │   │       ├── identity.ts
│   │   │       ├── labelTransformFactory.ts
│   │   │       ├── renderShape.ts
│   │   │       └── valueOrIdentity.ts
│   │   ├── test/
│   │   │   ├── Legend.test.tsx
│   │   │   ├── LegendLinear.test.tsx
│   │   │   ├── LegendOrdinal.test.tsx
│   │   │   ├── LegendQuantile.test.tsx
│   │   │   ├── LegendSize.test.tsx
│   │   │   ├── LegendThreshold.test.tsx
│   │   │   ├── scales.test.tsx
│   │   │   ├── svgMock.ts
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-marker/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── index.ts
│   │   │   └── markers/
│   │   │       ├── Arrow.tsx
│   │   │       ├── Circle.tsx
│   │   │       ├── Cross.tsx
│   │   │       ├── Line.tsx
│   │   │       ├── Marker.tsx
│   │   │       └── X.tsx
│   │   ├── test/
│   │   │   ├── Arrow.test.tsx
│   │   │   ├── Circle.test.tsx
│   │   │   ├── Cross.test.tsx
│   │   │   ├── Line.test.tsx
│   │   │   ├── Marker.test.tsx
│   │   │   ├── X.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-mock-data/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── generators/
│   │   │   │   ├── genBin.ts
│   │   │   │   ├── genBins.ts
│   │   │   │   ├── genDateValue.ts
│   │   │   │   ├── genPhyllotaxis.ts
│   │   │   │   ├── genRandomNormalPoints.ts
│   │   │   │   ├── genStats.ts
│   │   │   │   └── getSeededRandom.ts
│   │   │   ├── index.ts
│   │   │   └── mocks/
│   │   │       ├── appleStock.ts
│   │   │       ├── bitcoinPrice.ts
│   │   │       ├── browserUsage.ts
│   │   │       ├── cityTemperature.ts
│   │   │       ├── exoplanets.ts
│   │   │       ├── groupDateValue.ts
│   │   │       ├── lesMiserables.ts
│   │   │       ├── letterFrequency.ts
│   │   │       ├── planets.ts
│   │   │       └── shakespeare.ts
│   │   ├── test/
│   │   │   ├── appleStock.test.ts
│   │   │   ├── browserUsage.test.ts
│   │   │   ├── cityTemperature.test.ts
│   │   │   ├── genBin.test.ts
│   │   │   ├── genBins.test.ts
│   │   │   ├── genDateValue.test.ts
│   │   │   ├── genPhyllotaxis.test.ts
│   │   │   ├── genRandomNormalPoints.test.ts
│   │   │   ├── genStats.test.ts
│   │   │   ├── getSeededRandom.test.ts
│   │   │   ├── groupDateValue.test.ts
│   │   │   ├── letterFrequency.test.ts
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-network/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── DefaultLink.tsx
│   │   │   ├── DefaultNode.tsx
│   │   │   ├── Graph.tsx
│   │   │   ├── Links.tsx
│   │   │   ├── Nodes.tsx
│   │   │   ├── index.ts
│   │   │   └── types.ts
│   │   ├── test/
│   │   │   ├── Graph.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-pattern/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── constants/
│   │   │   │   └── index.ts
│   │   │   ├── index.ts
│   │   │   └── patterns/
│   │   │       ├── Circles.tsx
│   │   │       ├── Hexagons.tsx
│   │   │       ├── Lines.tsx
│   │   │       ├── Path.tsx
│   │   │       ├── Pattern.tsx
│   │   │       └── Waves.tsx
│   │   ├── test/
│   │   │   ├── Pattern.test.tsx
│   │   │   ├── PatternCircles.test.tsx
│   │   │   ├── PatternHexagons.test.tsx
│   │   │   ├── PatternLines.test.tsx
│   │   │   ├── PatternPath.test.tsx
│   │   │   ├── PatternWaves.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-point/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Point.ts
│   │   │   ├── index.ts
│   │   │   ├── subtractPoints.ts
│   │   │   └── sumPoints.ts
│   │   ├── test/
│   │   │   ├── point.test.ts
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-react-spring/
│   │   ├── README.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── axis/
│   │   │   │   ├── AnimatedAxis.tsx
│   │   │   │   └── AnimatedTicks.tsx
│   │   │   ├── grid/
│   │   │   │   ├── AnimatedGridColumns.tsx
│   │   │   │   ├── AnimatedGridLines.tsx
│   │   │   │   └── AnimatedGridRows.tsx
│   │   │   ├── index.ts
│   │   │   ├── spring-configs/
│   │   │   │   └── useLineTransitionConfig.ts
│   │   │   └── types/
│   │   │       └── index.ts
│   │   ├── test/
│   │   │   ├── AnimatedAxis.test.tsx
│   │   │   ├── AnimatedGridColumns.test.tsx
│   │   │   ├── AnimatedGridRows.test.tsx
│   │   │   ├── AnimatedTicks.test.tsx
│   │   │   ├── svgMock.ts
│   │   │   ├── tsconfig.json
│   │   │   └── useLineTransitionConfig.test.tsx
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-responsive/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── components/
│   │   │   │   ├── ParentSize.tsx
│   │   │   │   └── ScaleSVG.tsx
│   │   │   ├── enhancers/
│   │   │   │   ├── withParentSize.tsx
│   │   │   │   └── withScreenSize.tsx
│   │   │   ├── hooks/
│   │   │   │   ├── useParentSize.ts
│   │   │   │   └── useScreenSize.ts
│   │   │   ├── index.ts
│   │   │   └── types/
│   │   │       └── index.ts
│   │   ├── test/
│   │   │   ├── ParentSize.test.tsx
│   │   │   ├── ScaleSVG.test.tsx
│   │   │   ├── tsconfig.json
│   │   │   ├── useScreenSize.test.ts
│   │   │   ├── withParentSize.test.tsx
│   │   │   └── withScreenSize.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-sankey/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Sankey.tsx
│   │   │   ├── index.ts
│   │   │   └── types.ts
│   │   ├── test/
│   │   │   └── Sankey.test.tsx
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-scale/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── createScale.ts
│   │   │   ├── index.ts
│   │   │   ├── operators/
│   │   │   │   ├── align.ts
│   │   │   │   ├── base.ts
│   │   │   │   ├── clamp.ts
│   │   │   │   ├── constant.ts
│   │   │   │   ├── domain.ts
│   │   │   │   ├── exponent.ts
│   │   │   │   ├── interpolate.ts
│   │   │   │   ├── nice.ts
│   │   │   │   ├── padding.ts
│   │   │   │   ├── range.ts
│   │   │   │   ├── reverse.ts
│   │   │   │   ├── round.ts
│   │   │   │   ├── scaleOperator.ts
│   │   │   │   ├── unknown.ts
│   │   │   │   └── zero.ts
│   │   │   ├── scales/
│   │   │   │   ├── band.ts
│   │   │   │   ├── linear.ts
│   │   │   │   ├── log.ts
│   │   │   │   ├── ordinal.ts
│   │   │   │   ├── point.ts
│   │   │   │   ├── power.ts
│   │   │   │   ├── quantile.ts
│   │   │   │   ├── quantize.ts
│   │   │   │   ├── radial.ts
│   │   │   │   ├── squareRoot.ts
│   │   │   │   ├── symlog.ts
│   │   │   │   ├── threshold.ts
│   │   │   │   ├── time.ts
│   │   │   │   └── utc.ts
│   │   │   ├── types/
│   │   │   │   ├── Base.ts
│   │   │   │   ├── BaseScaleConfig.ts
│   │   │   │   ├── Nice.ts
│   │   │   │   ├── Scale.ts
│   │   │   │   ├── ScaleConfig.ts
│   │   │   │   └── ScaleInterpolate.ts
│   │   │   ├── updateScale.ts
│   │   │   └── utils/
│   │   │       ├── coerceNumber.ts
│   │   │       ├── createColorInterpolator.ts
│   │   │       ├── getTicks.ts
│   │   │       ├── inferScaleType.ts
│   │   │       ├── isUtcScale.ts
│   │   │       ├── scaleCanBeZeroed.ts
│   │   │       └── toString.ts
│   │   ├── test/
│   │   │   ├── createScale.test.ts
│   │   │   ├── scaleBand.test.ts
│   │   │   ├── scaleLinear.test.ts
│   │   │   ├── scaleLog.test.ts
│   │   │   ├── scaleOrdinal.test.ts
│   │   │   ├── scalePoint.test.ts
│   │   │   ├── scalePower.test.ts
│   │   │   ├── scaleQuantile.test.ts
│   │   │   ├── scaleQuantize.test.ts
│   │   │   ├── scaleRadial.test.ts
│   │   │   ├── scaleSqrt.test.ts
│   │   │   ├── scaleSymlog.test.ts
│   │   │   ├── scaleThreshold.test.ts
│   │   │   ├── scaleTime.test.ts
│   │   │   ├── scaleUtc.test.ts
│   │   │   ├── tsconfig.json
│   │   │   ├── updateScale.test.ts
│   │   │   └── utils/
│   │   │       ├── coerceNumber.test.ts
│   │   │       ├── getTicks.test.ts
│   │   │       ├── inferScaleType.test.ts
│   │   │       ├── isUtcScale.test.ts
│   │   │       ├── scaleCanBeZeroed.test.ts
│   │   │       └── toString.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-shape/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── index.ts
│   │   │   ├── shapes/
│   │   │   │   ├── Arc.tsx
│   │   │   │   ├── Area.tsx
│   │   │   │   ├── AreaClosed.tsx
│   │   │   │   ├── AreaStack.tsx
│   │   │   │   ├── Bar.tsx
│   │   │   │   ├── BarGroup.tsx
│   │   │   │   ├── BarGroupHorizontal.tsx
│   │   │   │   ├── BarRounded.tsx
│   │   │   │   ├── BarStack.tsx
│   │   │   │   ├── BarStackHorizontal.tsx
│   │   │   │   ├── Circle.tsx
│   │   │   │   ├── Line.tsx
│   │   │   │   ├── LinePath.tsx
│   │   │   │   ├── LineRadial.tsx
│   │   │   │   ├── Pie.tsx
│   │   │   │   ├── Polygon.tsx
│   │   │   │   ├── SplitLinePath.tsx
│   │   │   │   ├── Stack.tsx
│   │   │   │   └── link/
│   │   │   │       ├── curve/
│   │   │   │       │   ├── LinkHorizontalCurve.tsx
│   │   │   │       │   ├── LinkRadialCurve.tsx
│   │   │   │       │   └── LinkVerticalCurve.tsx
│   │   │   │       ├── diagonal/
│   │   │   │       │   ├── LinkHorizontal.tsx
│   │   │   │       │   ├── LinkRadial.tsx
│   │   │   │       │   └── LinkVertical.tsx
│   │   │   │       ├── line/
│   │   │   │       │   ├── LinkHorizontalLine.tsx
│   │   │   │       │   ├── LinkRadialLine.tsx
│   │   │   │       │   └── LinkVerticalLine.tsx
│   │   │   │       └── step/
│   │   │   │           ├── LinkHorizontalStep.tsx
│   │   │   │           ├── LinkRadialStep.tsx
│   │   │   │           └── LinkVerticalStep.tsx
│   │   │   ├── types/
│   │   │   │   ├── D3ShapeConfig.ts
│   │   │   │   ├── accessor.ts
│   │   │   │   ├── area.ts
│   │   │   │   ├── barGroup.ts
│   │   │   │   ├── barStack.ts
│   │   │   │   ├── base.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── link.ts
│   │   │   │   └── stack.ts
│   │   │   └── util/
│   │   │       ├── D3ShapeFactories.ts
│   │   │       ├── accessors.ts
│   │   │       ├── getBandwidth.ts
│   │   │       ├── getOrCreateMeasurementElement.ts
│   │   │       ├── getSplitLineSegments.ts
│   │   │       ├── setNumberOrNumberAccessor.ts
│   │   │       ├── stackOffset.ts
│   │   │       ├── stackOrder.ts
│   │   │       └── trigonometry.ts
│   │   ├── test/
│   │   │   ├── Arc.test.tsx
│   │   │   ├── Area.test.tsx
│   │   │   ├── AreaClosed.test.tsx
│   │   │   ├── AreaStack.test.tsx
│   │   │   ├── Bar.test.tsx
│   │   │   ├── BarGroup.test.tsx
│   │   │   ├── BarGroupHorizontal.test.tsx
│   │   │   ├── BarRounded.test.tsx
│   │   │   ├── BarStack.test.tsx
│   │   │   ├── BarStackHorizontal.test.tsx
│   │   │   ├── Circle.test.tsx
│   │   │   ├── Line.test.tsx
│   │   │   ├── LinePath.test.tsx
│   │   │   ├── LineRadial.test.tsx
│   │   │   ├── LinkHorizontal.test.tsx
│   │   │   ├── LinkRadial.test.tsx
│   │   │   ├── LinkVertical.test.tsx
│   │   │   ├── Pie.test.tsx
│   │   │   ├── Polygon.test.tsx
│   │   │   ├── Stack.test.tsx
│   │   │   ├── stackOffset.test.ts
│   │   │   ├── stackOrder.test.ts
│   │   │   ├── svgMock.ts
│   │   │   ├── tsconfig.json
│   │   │   └── utils/
│   │   │       ├── D3ShapeFactories.test.ts
│   │   │       └── getBandwidth.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-stats/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── BoxPlot.tsx
│   │   │   ├── ViolinPlot.tsx
│   │   │   ├── index.ts
│   │   │   ├── types.ts
│   │   │   └── util/
│   │   │       └── computeStats.ts
│   │   ├── test/
│   │   │   ├── BoxPlot.test.tsx
│   │   │   ├── ViolinPlot.test.tsx
│   │   │   ├── computeStats.test.ts
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-text/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Text.tsx
│   │   │   ├── hooks/
│   │   │   │   └── useText.ts
│   │   │   ├── index.ts
│   │   │   ├── types.ts
│   │   │   └── util/
│   │   │       └── getStringWidth.ts
│   │   ├── test/
│   │   │   ├── Text.test.tsx
│   │   │   ├── svgMock.ts
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   ├── types/
│   │   │   └── reduce-css-calc/
│   │   │       └── index.d.ts
│   │   └── vitest.config.ts
│   ├── visx-threshold/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Threshold.tsx
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Threshold.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-tooltip/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Portal.tsx
│   │   │   ├── context/
│   │   │   │   └── TooltipPositionContext.tsx
│   │   │   ├── enhancers/
│   │   │   │   └── withTooltip.tsx
│   │   │   ├── hooks/
│   │   │   │   ├── useTooltip.ts
│   │   │   │   └── useTooltipInPortal.tsx
│   │   │   ├── index.ts
│   │   │   └── tooltips/
│   │   │       ├── Tooltip.tsx
│   │   │       └── TooltipWithBounds.tsx
│   │   ├── test/
│   │   │   ├── Portal.test.tsx
│   │   │   ├── Tooltip.test.tsx
│   │   │   ├── TooltipWithBounds.test.tsx
│   │   │   ├── tsconfig.json
│   │   │   ├── useTooltip.test.tsx
│   │   │   ├── useTooltipInPortal.test.tsx
│   │   │   └── withTooltip.test.tsx
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-vendor/
│   │   ├── .eslintrc.js
│   │   ├── .gitignore
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── scripts/
│   │   │   ├── buildVendor/
│   │   │   │   ├── babel.config.js
│   │   │   │   ├── index.ts
│   │   │   │   └── utils.ts
│   │   │   └── flagVendorRequirements.ts
│   │   ├── test/
│   │   │   ├── .eslintrc
│   │   │   ├── d3-array.test.ts
│   │   │   ├── d3-color.test.ts
│   │   │   ├── d3-format.test.ts
│   │   │   ├── d3-geo.test.ts
│   │   │   ├── d3-interpolate.test.ts
│   │   │   ├── d3-scale.test.ts
│   │   │   ├── d3-time-format.test.ts
│   │   │   ├── d3-time.test.ts
│   │   │   └── internmap.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-visx/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   └── index.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-voronoi/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── components/
│   │   │   │   └── VoronoiPolygon.tsx
│   │   │   ├── index.ts
│   │   │   └── voronoi.ts
│   │   ├── test/
│   │   │   ├── VoronoiPolygon.test.tsx
│   │   │   ├── tsconfig.json
│   │   │   └── voronoi.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-wordcloud/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Wordcloud.tsx
│   │   │   ├── d3-cloud.d.ts
│   │   │   ├── index.ts
│   │   │   ├── types.ts
│   │   │   └── useWordcloud.ts
│   │   ├── test/
│   │   │   ├── Wordcloud.test.tsx
│   │   │   ├── tsconfig.json
│   │   │   └── useWordcloud.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-xychart/
│   │   ├── README.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── classes/
│   │   │   │   └── DataRegistry.ts
│   │   │   ├── components/
│   │   │   │   ├── Tooltip.tsx
│   │   │   │   ├── XYChart.tsx
│   │   │   │   ├── annotation/
│   │   │   │   │   ├── AnimatedAnnotation.tsx
│   │   │   │   │   ├── Annotation.tsx
│   │   │   │   │   ├── AnnotationCircleSubject.tsx
│   │   │   │   │   ├── AnnotationConnector.tsx
│   │   │   │   │   ├── AnnotationLabel.tsx
│   │   │   │   │   ├── AnnotationLineSubject.tsx
│   │   │   │   │   └── private/
│   │   │   │   │       └── BaseAnnotation.tsx
│   │   │   │   ├── axis/
│   │   │   │   │   ├── AnimatedAxis.tsx
│   │   │   │   │   ├── Axis.tsx
│   │   │   │   │   └── BaseAxis.tsx
│   │   │   │   ├── grid/
│   │   │   │   │   ├── AnimatedGrid.tsx
│   │   │   │   │   ├── BaseGrid.tsx
│   │   │   │   │   └── Grid.tsx
│   │   │   │   └── series/
│   │   │   │       ├── AnimatedAreaSeries.tsx
│   │   │   │       ├── AnimatedAreaStack.tsx
│   │   │   │       ├── AnimatedBarGroup.tsx
│   │   │   │       ├── AnimatedBarSeries.tsx
│   │   │   │       ├── AnimatedBarStack.tsx
│   │   │   │       ├── AnimatedGlyphSeries.tsx
│   │   │   │       ├── AnimatedLineSeries.tsx
│   │   │   │       ├── AreaSeries.tsx
│   │   │   │       ├── AreaStack.tsx
│   │   │   │       ├── BarGroup.tsx
│   │   │   │       ├── BarSeries.tsx
│   │   │   │       ├── BarStack.tsx
│   │   │   │       ├── GlyphSeries.tsx
│   │   │   │       ├── LineSeries.tsx
│   │   │   │       └── private/
│   │   │   │           ├── AnimatedBars.tsx
│   │   │   │           ├── AnimatedGlyphs.tsx
│   │   │   │           ├── AnimatedPath.tsx
│   │   │   │           ├── Bars.tsx
│   │   │   │           ├── BaseAreaSeries.tsx
│   │   │   │           ├── BaseAreaStack.tsx
│   │   │   │           ├── BaseBarGroup.tsx
│   │   │   │           ├── BaseBarSeries.tsx
│   │   │   │           ├── BaseBarStack.tsx
│   │   │   │           ├── BaseGlyphSeries.tsx
│   │   │   │           ├── BaseLineSeries.tsx
│   │   │   │           └── defaultRenderGlyph.tsx
│   │   │   ├── constants.ts
│   │   │   ├── context/
│   │   │   │   ├── DataContext.tsx
│   │   │   │   ├── EventEmitterContext.tsx
│   │   │   │   ├── ThemeContext.tsx
│   │   │   │   └── TooltipContext.tsx
│   │   │   ├── hooks/
│   │   │   │   ├── useDataRegistry.ts
│   │   │   │   ├── useDimensions.ts
│   │   │   │   ├── useEventEmitter.ts
│   │   │   │   ├── useEventEmitters.ts
│   │   │   │   ├── useEventHandlers.ts
│   │   │   │   ├── useScales.ts
│   │   │   │   ├── useSeriesEvents.ts
│   │   │   │   └── useStackedData.ts
│   │   │   ├── index.ts
│   │   │   ├── providers/
│   │   │   │   ├── DataProvider.tsx
│   │   │   │   ├── EventEmitterProvider.tsx
│   │   │   │   ├── ThemeProvider.tsx
│   │   │   │   └── TooltipProvider.tsx
│   │   │   ├── theme/
│   │   │   │   ├── buildChartTheme.ts
│   │   │   │   ├── colors.ts
│   │   │   │   └── themes/
│   │   │   │       ├── dark.ts
│   │   │   │       └── light.ts
│   │   │   ├── typeguards/
│   │   │   │   ├── events.ts
│   │   │   │   └── isValidNumber.ts
│   │   │   ├── types/
│   │   │   │   ├── axis.ts
│   │   │   │   ├── data.ts
│   │   │   │   ├── event.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── series.ts
│   │   │   │   ├── theme.ts
│   │   │   │   └── tooltip.ts
│   │   │   └── utils/
│   │   │       ├── cleanColorString.ts
│   │   │       ├── combineBarStackData.ts
│   │   │       ├── findNearestDatumSingleDimension.ts
│   │   │       ├── findNearestDatumX.ts
│   │   │       ├── findNearestDatumXY.ts
│   │   │       ├── findNearestDatumY.ts
│   │   │       ├── findNearestGroupDatum.ts
│   │   │       ├── findNearestStackDatum.ts
│   │   │       ├── getBarStackRegistryData.ts
│   │   │       ├── getChildrenAndGrandchildrenWithProps.ts
│   │   │       ├── getScaleBandwidth.ts
│   │   │       ├── getScaleBaseline.ts
│   │   │       ├── getScaledValueFactory.ts
│   │   │       └── isDiscreteScale.ts
│   │   ├── test/
│   │   │   ├── __mocks__/
│   │   │   │   └── @visx/
│   │   │   │       └── event.ts
│   │   │   ├── classes/
│   │   │   │   └── DataRegistry.test.ts
│   │   │   ├── components/
│   │   │   │   ├── Annotation.test.tsx
│   │   │   │   ├── AnnotationCircleSubject.test.tsx
│   │   │   │   ├── AnnotationConnector.test.tsx
│   │   │   │   ├── AnnotationLabel.test.tsx
│   │   │   │   ├── AnnotationLineSubject.test.tsx
│   │   │   │   ├── AreaSeries.test.tsx
│   │   │   │   ├── AreaStack.test.tsx
│   │   │   │   ├── Axis.test.tsx
│   │   │   │   ├── BarGroup.test.tsx
│   │   │   │   ├── BarSeries.test.tsx
│   │   │   │   ├── BarStack.test.tsx
│   │   │   │   ├── GlyphSeries.test.tsx
│   │   │   │   ├── Grid.test.tsx
│   │   │   │   ├── LineSeries.test.tsx
│   │   │   │   ├── Tooltip.test.tsx
│   │   │   │   └── XYChart.test.tsx
│   │   │   ├── hooks/
│   │   │   │   ├── useDataRegistry.test.tsx
│   │   │   │   ├── useEventEmitter.test.tsx
│   │   │   │   ├── useEventEmitters.test.tsx
│   │   │   │   ├── useEventHandlers.test.tsx
│   │   │   │   ├── useScales.test.tsx
│   │   │   │   └── useStackedData.test.tsx
│   │   │   ├── mocks/
│   │   │   │   ├── getDataContext.ts
│   │   │   │   ├── setupTooltipTest.tsx
│   │   │   │   └── svgMock.ts
│   │   │   ├── providers/
│   │   │   │   ├── DataProvider.test.tsx
│   │   │   │   ├── EventEmitterProvider.test.tsx
│   │   │   │   ├── ThemeProvider.test.tsx
│   │   │   │   └── TooltipProvider.test.tsx
│   │   │   ├── theme.test.tsx
│   │   │   ├── tsconfig.json
│   │   │   └── utils/
│   │   │       ├── cleanColorString.test.ts
│   │   │       ├── combineBarStackData.test.tsx
│   │   │       ├── findNearestDatum.test.ts
│   │   │       ├── getScaleBaseline.test.ts
│   │   │       └── isDiscreteScale.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   └── visx-zoom/
│       ├── .npmrc
│       ├── Readme.md
│       ├── package.json
│       ├── src/
│       │   ├── Zoom.tsx
│       │   ├── index.ts
│       │   ├── types.ts
│       │   └── util/
│       │       └── matrix.ts
│       ├── test/
│       │   ├── Zoom.test.tsx
│       │   └── tsconfig.json
│       ├── tsconfig.json
│       └── vitest.config.ts
├── prettier.config.js
├── scripts/
│   ├── compareBuildSizes.ts
│   ├── computeBuildSizes.ts
│   ├── generateDocs.ts
│   ├── performRelease/
│   │   ├── constants.ts
│   │   ├── createGithubRelease.ts
│   │   ├── fetchCommitsSinceTag.ts
│   │   ├── fetchPRsForCommits.ts
│   │   ├── fetchTags.ts
│   │   ├── index.ts
│   │   ├── performLernaRelease.ts
│   │   ├── postReleaseOnPrs.ts
│   │   ├── types.ts
│   │   └── updateChangelog/
│   │       ├── getChangelogAddition.ts
│   │       ├── index.ts
│   │       └── mergeUpdateIntoChangelog.ts
│   ├── postInstall.ts
│   ├── updateTsReferences.ts
│   └── utils/
│       ├── getGitHubClient.ts
│       ├── getPullRequestNumber.ts
│       ├── getRepoContext.ts
│       └── upsertPullRequestComment.ts
├── tsconfig.eslint.json
├── tsconfig.json
├── tsconfig.node.json
├── tsconfig.options.json
└── vitest.config.ts

================================================
FILE CONTENTS
================================================

================================================
FILE: .eslintignore
================================================
.next/
coverage/
node_modules/
public/
esm/
lib/
tmp/
dist/
out/
*.d.ts
lerna.json
npm-shrinkwrap.json
package.json
package-lock.json
tsconfig.json

================================================
FILE: .eslintrc.js
================================================
module.exports = {
  root: true,
  extends: [
    // these are relics of nimbus, we could definitely simplify + consolidate
    './config-eslint/base.js',
    './config-eslint/next.js',
    './config-eslint/typescript.js',
    './config-eslint/prettier.js',
  ],
  overrides: [
    {
      files: '*.test.{js,jsx,ts,tsx}',
      plugins: ['@vitest'],
      extends: ['plugin:@vitest/legacy-recommended'],
      rules: {
        'import/no-extraneous-dependencies': 'off',
      },
    },
    {
      files: ['**/vitest.config.ts', 'vitest.workspace.ts'],
      env: {
        node: true,
      },
      rules: {
        'import/no-unresolved': ['error', { ignore: ['^vitest'] }],
        'import/no-extraneous-dependencies': 'off',
      },
    },
    {
      files: '*.{js,jsx,ts,tsx}',
      rules: {
        'arrow-parens': 'off',
        'consistent-return': 'off',
        'import/prefer-default-export': 'off',
        'linebreak-style': 'off',
        'lines-between-class-members': 'off',
        'no-console': 'off',
        'no-nested-ternary': 'off',
        'no-param-reassign': 'warn',
        'no-restricted-syntax': 'off',
        'no-use-before-define': 'off',
        'no-useless-rename': 'off',
        'object-curly-newline': 'off',
        'operator-linebreak': 'off',
        'promise/param-names': 'off',
        'react/destructuring-assignment': 'off',
        'react/forbid-prop-types': 'off',
        'react/jsx-curly-brace-presence': 'off',
        'react/jsx-filename-extension': 'off',
        'react/jsx-no-literals': 'off',
        'react/jsx-props-no-spreading': 'off',
        'react/jsx-sort-default-props': 'off',
        'react/jsx-sort-props': 'off',
        'react/no-array-index-key': 'off',
        'react/no-children-prop': 'off',
        'react/react-in-jsx-scope': 'off', // Not needed with automatic JSX transform (React 16.14+)
        'react/require-default-props': 'off',
        'react/sort-comp': 'off',
        'react/sort-prop-types': 'off',
        'unicorn/catch-error-name': 'off',
        'unicorn/no-fn-reference-in-iterator': 'off',
        'unicorn/prefer-node-append': 'off',
      },
    },
    {
      files: './packages/visx-demo/**',
      rules: {
        'import/no-unresolved': [
          'error',
          {
            ignore: ['^!!raw-loader!.*'],
          },
        ],
        'import/no-webpack-loader-syntax': 'off',
        'jsx-a11y/anchor-is-valid': 'off',
        'jsx-a11y/label-has-associated-control': 'off',
        'jsx-a11y/no-onchange': 'off',
        'no-alert': 'off',
        'no-param-reassign': 'off',
        'react/button-has-type': 'off',
        'react/no-danger': 'off',
        'react/no-unescaped-entities': 'off',
        'react/prop-types': 'off',
        'react/state-in-constructor': 'off',
      },
    },
  ],
};


================================================
FILE: .github/workflows/pull_request.yml
================================================
name: Pull request

on:
  pull_request:
    branches: [master]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2 # checkout visx + this commit
      - uses: actions/setup-node@v2
        with:
          node-version: '22.21.1'

      - name: Enable Corepack
        run: corepack enable

      - name: Get yarn cache directory path
        id: yarn-cache-dir-path
        run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
      - uses: actions/cache@v4.3.0
        id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
        with:
          path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
          key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
          restore-keys: |
            ${{ runner.os }}-yarn-

      - name: Install dependencies
        run: yarn install --immutable

      - name: Ensure TS references are up to date
        run: yarn type:update-refs && git diff --exit-code

      - name: Ensure we have no ESM-only dependencies
        run: yarn vendor-check

      - name: Build packages
        run: yarn build

      - name: Run tests
        run: yarn test
        env:
          CI: true

      - name: Generate docs
        run: yarn docs:generate

      - name: Run lint
        run: yarn lint

      - name: Build visx site without failure
        run: yarn build
        working-directory: './packages/visx-demo/'

      # @TODO
      # this fails on forks, we need to update workflow event type to `pull_request_target`
      # but this needs security review
      # https://docs.github.com/en/actions/reference/events-that-trigger-workflows#pull_request_target
      - name: Report package sizes
        run: yarn build:sizes && yarn check:sizes
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PR_NUMBER: ${{ github.event.pull_request.number }}
          GITHUB_REPOSITORY: $GITHUB_REPOSITORY
          GITHUB_ACTOR: $GITHUB_ACTOR


================================================
FILE: .github/workflows/push.yml
================================================
name: Push

on:
  push:
    branches: [master]

jobs:
  build:
    runs-on: ubuntu-latest
    permissions:
      contents: write       # Needed for git push operations
      id-token: write       # Required for OIDC trusted publishing
      pull-requests: write  # Needed to post release comments on PRs
    steps:
      - uses: actions/checkout@v2 # checkout visx + this commit
        with:
          # pulls all commits (needed for lerna to correctly release only changed packages)
          fetch-depth: '0'
      - uses: actions/setup-node@v2
        with:
          node-version: '22.21.1'
          registry-url: 'https://registry.npmjs.org'

      - name: Enable Corepack
        run: corepack enable

      - name: Get yarn cache directory path
        id: yarn-cache-dir-path
        run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
      - uses: actions/cache@v4.3.0
        id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
        with:
          path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
          key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
          restore-keys: |
            ${{ runner.os }}-yarn-

      - name: Install dependencies
        run: yarn install --immutable

      - name: Build packages
        run: yarn build

      - name: Generate docs
        run: yarn docs:generate

      - name: Commit package sizes
        if: github.repository_owner == 'airbnb'
        # note: `git diff-index --quiet HEAD`
        #       has exit code 0 if there are changes vs HEAD, else nothing to commit
        run: |
          yarn build:sizes
          git config user.name github-actions
          git config user.email github-actions@github.com
          git add .
          git diff-index --quiet HEAD || git commit -m "build(${GITHUB_SHA}): auto-commit package sizes"
          git push

      - name: Release
        if: github.repository_owner == 'airbnb'
        # the following configurations are needed for lerna to
        #   - have git credentials for committing tags
        #   - use OIDC trusted publishing for npm (no token required)
        run: |
          git config user.name github-actions
          git config user.email github-actions@github.com
          yarn build:release
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      - name: Build and deploy gallery
        # below we
        # - setup git credentials provided via actions/checkout@v2
        # - initialize gh-pages-branch as an orphan branch so we don't build history
        # - checkout the current commit and create gh-pages-root-dir/ as a new worktree
        #   - outside that directory HEAD is detached at $GITHUB_SHA
        #   - within that directory we are on the gh-pages-branch we just initialized
        #     *worktree initialization should be in a root dir, otherwise the worktree inherits nested directories
        # - build the static next.js site and copy the output into gh-pages-root-dir/
        #   - we can't output directly into gh-pages-root-dir/ because next wipes the folder including .git
        # - commit the demo site within gh-pages-root-dir/ onto the gh-pages-branch
        # - push gh-pages-branch to visx as gh-pages. we overwrite history every time so it must be forced
        run: |
          git config user.name github-actions
          git config user.email github-actions@github.com
          git checkout --orphan gh-pages-branch
          git reset --hard
          touch .nojekyll
          git add .nojekyll
          git commit -m "bot(${GITHUB_SHA}): initialize gh-pages branch"
          git checkout "$GITHUB_SHA"
          git worktree add gh-pages-root-dir gh-pages-branch
          cd ./packages/visx-demo/
          yarn build
          mv -v out/* ../../gh-pages-root-dir/
          cd ../../gh-pages-root-dir/
          touch CNAME
          echo "visx.airbnb.tech" > CNAME
          git add .
          git commit -m "bot(${GITHUB_SHA}): build gh-pages"
          git push -f "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$GITHUB_REPOSITORY.git" HEAD:gh-pages


================================================
FILE: .gitignore
================================================
.DS_Store
*.DS_Store

# Logs
logs/
*.log

# Cache
.bundle/
.eslintcache/
.idea/
.next/
.npm/
.nx/
.vscode/

# Directories
build/
coverage/
dist/
esm/
lib/
node_modules/
tmp/

# Custom
*.min.js
*.map

# Configs (provided by Nimbus)
.babelrc
*.tsbuildinfo
webpack.config.js

# Lock files
npm-shrinkwrap.json
package-lock.json

# Yarn 4
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
.pnp.*

# Generated files
packages/visx-demo/src/generated/


================================================
FILE: .npmignore
================================================
.DS_Store

# Logs
logs/
*.log

# Cache
.eslintcache/
.idea/
.npm/
.next/
.vscode/
.yarnclean

# Directories
build/
coverage/
dist/
public/
node_modules/
tmp/

# Custom
*.min.js
*.map

# Configs
.babelrc
.dockerignore
.eslintignore
.eslintrc.js
.flowconfig
.gitattributes
.gitignore
.npmrc
.prettierignore
.yarnc
babel.config.js
dangerfile.ts
jest.config.js
prettier.config.js
tsconfig.eslint.json
tsconfig.json
tsconfig.options.json
*.tsbuildinfo
webpack.config.js


================================================
FILE: .npmrc
================================================
package-lock=false
@visx:registry=https://registry.npmjs.org

================================================
FILE: .nvmrc
================================================
20


================================================
FILE: .prettierignore
================================================
.next/
coverage/
node_modules/
public/
esm/
lib/
tmp/
dist/
out/
*.d.ts
lerna.json
npm-shrinkwrap.json
package.json
package-lock.json
tsconfig.json
tsconfig.eslint.json
tsconfig.options.json
CHANGELOG.md
/.nx/workspace-data

================================================
FILE: .yarnrc.yml
================================================
enableGlobalCache: false

nodeLinker: node-modules

logFilters:
  - pattern: "* doesn't provide react (*)*"
    level: "discard"
  - pattern: "* doesn't provide react-dom (*)*"
    level: "discard"
  - pattern: "* doesn't provide @react-spring/web (*)*"
    level: "discard"
  - pattern: "* doesn't provide webpack (*)*"
    level: "discard"
  - pattern: "Some peer dependencies are incorrectly met*"
    level: "discard"


================================================
FILE: ATTRIBUTION.md
================================================
[Fossa Attribution File](https://app.fossa.io/reports/dd5850c1-1d4e-4759-9e3e-563f83945bbd)


================================================
FILE: CHANGELOG.md
================================================
# Changelog
- [v3.12.0](#v3120)
- [v3.11.0](#v3110)
- [v3.10.4](#v3104)
- [v3.10.3](#v3103)
- [v3.10.2](#v3102)
- [v3.10.1](#v3101)
- [v3.10.0](#v3100)
- [v3.9.0](#v390)
<details>
  <summary>Older Releases...</summary>
  <ul>
  <li><a href="#v380">v3.8.0</a></li>
  <li><a href="#v370">v3.7.0</a></li>
  <li><a href="#v361">v3.6.1</a></li>
  <li><a href="#v360">v3.6.0</a></li>
  <li><a href="#v351">v3.5.1</a></li>
  <li><a href="#v350">v3.5.0</a></li>
  <li><a href="#v341">v3.4.1</a></li>
  <li><a href="#v340">v3.4.0</a></li>
  <li><a href="#v330">v3.3.0</a></li>
  <li><a href="#v321">v3.2.1</a></li>
  <li><a href="#v320">v3.2.0</a></li>
  <li><a href="#v313">v3.1.3</a></li>
  <li><a href="#v312">v3.1.2</a></li>
  <li><a href="#v311">v3.1.1</a></li>
  <li><a href="#v310">v3.1.0</a></li>
  <li><a href="#v302">v3.0.2</a></li>
  <li><a href="#v301">v3.0.1</a></li>
  <li><a href="#v300">v3.0.0</a></li>
  <li><a href="#v2180">v2.18.0</a></li>
  <li><a href="#v2170">v2.17.0</a></li>
  <li><a href="#v2161">v2.16.1</a></li>
  <li><a href="#v2160">v2.16.0</a></li>
  <li><a href="#v2151">v2.15.1</a></li>
  <li><a href="#v2150">v2.15.0</a></li>
  <li><a href="#v2140">v2.14.0</a></li>
  <li><a href="#v2130">v2.13.0</a></li>
  <li><a href="#v2122">v2.12.2</a></li>
  <li><a href="#v2121">v2.12.1</a></li>
  <li><a href="#v2120">v2.12.0</a></li>
  <li><a href="#v2111">v2.11.1</a></li>
  <li><a href="#v2110">v2.11.0</a></li>
  <li><a href="#v2102">v2.10.2</a></li>
  <li><a href="#v2101">v2.10.1</a></li>
  <li><a href="#v2100">v2.10.0</a></li>
  <li><a href="#v292">v2.9.2</a></li>
  <li><a href="#v291">v2.9.1</a></li>
  <li><a href="#v290">v2.9.0</a></li>
  <li><a href="#v280">v2.8.0</a></li>
  <li><a href="#v271">v2.7.1</a></li>
  <li><a href="#v270">v2.7.0</a></li>
  <li><a href="#v261">v2.6.1</a></li>
  <li><a href="#v260">v2.6.0</a></li>
  <li><a href="#v250">v2.5.0</a></li>
  <li><a href="#v241">v2.4.1</a></li>
  <li><a href="#v240">v2.4.0</a></li>
  <li><a href="#v230">v2.3.0</a></li>
  <li><a href="#v222">v2.2.2</a></li>
  <li><a href="#v221">v2.2.1</a></li>
  <li><a href="#v220">v2.2.0</a></li>
  <li><a href="#v212">v2.1.2</a></li>
  <li><a href="#v211">v2.1.1</a></li>
  <li><a href="#v210">v2.1.0</a></li>
  <li><a href="#v1181">v1.18.1</a></li>
  <li><a href="#v1180">v1.18.0</a></li>
  <li><a href="#v1171">v1.17.1</a></li>
  <li><a href="#v1170">v1.17.0</a></li>
  <li><a href="#v1161">v1.16.1</a></li>
  <li><a href="#v1160">v1.16.0</a></li>
  <li><a href="#v1150">v1.15.0</a></li>
  <li><a href="#v1141">v1.14.1</a></li>
  <li><a href="#v1140">v1.14.0</a></li>
  <li><a href="#v1130">v1.13.0</a></li>
  <li><a href="#v1120">v1.12.0</a></li>
  <li><a href="#v1112">v1.11.2</a></li>
  <li><a href="#v1111">v1.11.1</a></li>
  <li><a href="#v1110">v1.11.0</a></li>
  <li><a href="#v1101">v1.10.1</a></li>
  <li><a href="#v1100">v1.10.0</a></li>
  <li><a href="#v191">v1.9.1</a></li>
  <li><a href="#v190">v1.9.0</a></li>
  <li><a href="#v180">v1.8.0</a></li>
  <li><a href="#v174">v1.7.4</a></li>
  <li><a href="#v173">v1.7.3</a></li>
  <li><a href="#v172">v1.7.2</a></li>
  <li><a href="#v171">v1.7.1</a></li>
  <li><a href="#v170">v1.7.0</a></li>
  <li><a href="#v161">v1.6.1</a></li>
  <li><a href="#v160">v1.6.0</a></li>
  <li><a href="#v150">v1.5.0</a></li>
  <li><a href="#v140">v1.4.0</a></li>
  <li><a href="#v130">v1.3.0</a></li>
  <li><a href="#v120">v1.2.0</a></li>
  <li><a href="#v110">v1.1.0</a></li>
  <li><a href="#v100">v1.0.0</a></li>
  <li><a href="#v00199">v0.0.199</a></li>
  <li><a href="#v00198">v0.0.198</a></li>
  <li><a href="#v00197">v0.0.197</a></li>
  <li><a href="#v00196">v0.0.196</a></li>
  <li><a href="#v00195">v0.0.195</a></li>
  <li><a href="#v00194">v0.0.194</a></li>
  <li><a href="#v00193">v0.0.193</a></li>
  <li><a href="#v00192">v0.0.192</a></li>
  <li><a href="#v00191">v0.0.191</a></li>
  <li><a href="#v00190">v0.0.190</a></li>
  <li><a href="#v00189">v0.0.189</a></li>
  <li><a href="#v00188">v0.0.188</a></li>
  <li><a href="#v00187">v0.0.187</a></li>
  <li><a href="#v00186">v0.0.186</a></li>
  <li><a href="#v00185">v0.0.185</a></li>
  <li><a href="#v00184">v0.0.184</a></li>
  <li><a href="#v00183">v0.0.183</a></li>
  <li><a href="#v00182">v0.0.182</a></li>
  <li><a href="#v00181">v0.0.181</a></li>
  <li><a href="#v00180">v0.0.180</a></li>
  <li><a href="#v00179">v0.0.179</a></li>
  <li><a href="#v00178">v0.0.178</a></li>
  <li><a href="#v00177">v0.0.177</a></li>
  <li><a href="#v00176">v0.0.176</a></li>
  <li><a href="#v00175">v0.0.175</a></li>
  <li><a href="#v00174">v0.0.174</a></li>
  <li><a href="#v00173">v0.0.173</a></li>
  <li><a href="#v00172">v0.0.172</a></li>
  <li><a href="#v00171">v0.0.171</a></li>
  <li><a href="#v00170">v0.0.170</a></li>
  <li><a href="#v00169">v0.0.169</a></li>
  <li><a href="#v00168">v0.0.168</a></li>
  <li><a href="#v00167">v0.0.167</a></li>
  <li><a href="#v00166">v0.0.166</a></li>
  <li><a href="#v00165">v0.0.165</a></li>
  <li><a href="#v00164">v0.0.164</a></li>
  <li><a href="#v00163">v0.0.163</a></li>
  <li><a href="#v00162">v0.0.162</a></li>
  <li><a href="#v00161">v0.0.161</a></li>
  <li><a href="#v00160">v0.0.160</a></li>
  <li><a href="#v00159">v0.0.159</a></li>
  <li><a href="#v00158">v0.0.158</a></li>
  <li><a href="#v00157">v0.0.157</a></li>
  <li><a href="#v00156">v0.0.156</a></li>
  <li><a href="#v00155">v0.0.155</a></li>
  <li><a href="#v00154">v0.0.154</a></li>
  <li><a href="#v00153">v0.0.153</a></li>
  <li><a href="#v00152">v0.0.152</a></li>
  <li><a href="#v00151">v0.0.151</a></li>
  <li><a href="#v00150">v0.0.150</a></li>
  <li><a href="#v00149">v0.0.149</a></li>
  <li><a href="#v00148">v0.0.148</a></li>
  <li><a href="#v00147">v0.0.147</a></li>
  <li><a href="#v00146">v0.0.146</a></li>
  <li><a href="#v00145">v0.0.145</a></li>
  <li><a href="#v00144">v0.0.144</a></li>
  <li><a href="#v00143">v0.0.143</a></li>
  <li><a href="#v00142">v0.0.142</a></li>
  <li><a href="#v00141">v0.0.141</a></li>
  <li><a href="#v00140">v0.0.140</a></li>
  <li><a href="#v00139">v0.0.139</a></li>
  <li><a href="#v00138">v0.0.138</a></li>
  <li><a href="#v00137">v0.0.137</a></li>
  <li><a href="#v00136">v0.0.136</a></li>
  <li><a href="#v00135">v0.0.135</a></li>
  <li><a href="#v00134">v0.0.134</a></li>
  <li><a href="#v00133">v0.0.133</a></li>
  <li><a href="#v00132">v0.0.132</a></li>
  <li><a href="#v00131">v0.0.131</a></li>
  <li><a href="#v00130">v0.0.130</a></li>
  <li><a href="#v00129">v0.0.129</a></li>
  <li><a href="#v00128">v0.0.128</a></li>
  <li><a href="#v00127">v0.0.127</a></li>
  <li><a href="#v00126">v0.0.126</a></li>
  <li><a href="#v00125">v0.0.125</a></li>
  <li><a href="#v00124">v0.0.124</a></li>
  <li><a href="#v00123">v0.0.123</a></li>
  <li><a href="#v00122">v0.0.122</a></li>
  <li><a href="#v00121">v0.0.121</a></li>
  <li><a href="#v00120">v0.0.120</a></li>
  <li><a href="#v00114">v0.0.114</a></li>
  <li><a href="#v00113">v0.0.113</a></li>
  <li><a href="#v00112">v0.0.112</a></li>
</ul>
</details>

------
# v3.12.0 (2024-11-07)

#### :rocket: Enhancements

- feat(sankey): add @visx/sankey [#1880](https://github.com/airbnb/visx/pull/1880)

### :memo: Documentation

- Fix small error in the code example in the "Theming" section [#1863](https://github.com/airbnb/visx/pull/1863)
  
#### :trophy: Contributors
- [jacksonhardaker](https://github.com/jacksonhardaker)
- [maurer2](https://github.com/maurer2)

# v3.11.0 (2024-05-29)

#### :rocket: Enhancements

- feat(xychart): improve performance when hovering with tooltip [#1842](https://github.com/airbnb/visx/pull/1842)

### :memo: Documentation

- feat(xychart): improve performance when hovering with tooltip [#1842](https://github.com/airbnb/visx/pull/1842)
  
#### :trophy: Contributors
- [nikaspran](https://github.com/nikaspran)

# v3.10.4 (2024-05-24)

#### :bug: Bug Fix

- brush: fix brush jumping around after mouseup [#1836](https://github.com/airbnb/visx/pull/1836)
  
#### :trophy: Contributors
- [tfineberg4](https://github.com/tfineberg4)

# v3.10.3 (2024-05-20)

#### :bug: Bug Fix

- Fix LegendThreshold [#1831](https://github.com/airbnb/visx/pull/1831)
  
#### :trophy: Contributors
- [ZachBarbre](https://github.com/ZachBarbre)

# v3.10.2 (2024-03-09)

#### :bug: Bug Fix

- fix: explicit type exports in @visx/responsive [#1809](https://github.com/airbnb/visx/pull/1809)
  
#### :trophy: Contributors
- [paolostyle](https://github.com/paolostyle)

# v3.10.1 (2024-03-08)

#### Uncategorized

- Revert "new(axis): add shapeRendering prop to Axis" [#1808](https://github.com/airbnb/visx/pull/1808)
  
#### :trophy: Contributors
- [williaster](https://github.com/williaster)

# v3.10.0 (2024-03-08)

#### :rocket: Enhancements

- fix: Improve typing in @visx/responsive enhancers [#1783](https://github.com/airbnb/visx/pull/1783)

#### :bug: Bug Fix

- fix: Improve typing in @visx/responsive enhancers [#1783](https://github.com/airbnb/visx/pull/1783)
  
#### :trophy: Contributors
- [paolostyle](https://github.com/paolostyle)

# v3.9.0 (2024-03-04)

#### :rocket: Enhancements

- new(axis): add shapeRendering prop to Axis [#1739](https://github.com/airbnb/visx/pull/1739)

#### :bug: Bug Fix

- internal: specify node js version [#1796](https://github.com/airbnb/visx/pull/1796)
- docs: remove broken links from 'In the wild' [#1800](https://github.com/airbnb/visx/pull/1800)

### :memo: Documentation

- docs: remove broken links from 'In the wild' [#1800](https://github.com/airbnb/visx/pull/1800)
- Adds to "in the wild", new site using visx/drag [#1799](https://github.com/airbnb/visx/pull/1799)

### :house:  Internal

- internal: specify node js version [#1796](https://github.com/airbnb/visx/pull/1796)
  
#### :trophy: Contributors
- [BrianCurrie](https://github.com/BrianCurrie)
- [Lonami](https://github.com/Lonami)
- [mcioffi](https://github.com/mcioffi)
- [sleonia](https://github.com/sleonia)

# v3.8.0 (2024-01-25)

#### :rocket: Enhancements

- fix(axis): include defaultTextProps in Axis labelProps [#1791](https://github.com/airbnb/visx/pull/1791)
  
#### :trophy: Contributors
- [RyKilleen](https://github.com/RyKilleen)

# v3.7.0 (2024-01-23)

#### :rocket: Enhancements

- fix: radial bars demo import in CodeSandbox [#1786](https://github.com/airbnb/visx/pull/1786)
- feat(xychart): print console.info only in dev mode [#1792](https://github.com/airbnb/visx/pull/1792)
- feat(demo): add radial bars demo using Arc [#1785](https://github.com/airbnb/visx/pull/1785)

#### :bug: Bug Fix

- fix: radial bars demo import in CodeSandbox [#1786](https://github.com/airbnb/visx/pull/1786)
- fix: typo in DragITile description [#1779](https://github.com/airbnb/visx/pull/1779)

### :memo: Documentation

- fix: typo in DragITile description [#1779](https://github.com/airbnb/visx/pull/1779)
- docs: add ridge line chart with KDE to 'in the wild' [#1781](https://github.com/airbnb/visx/pull/1781)
  
#### :trophy: Contributors
- [adamzuch](https://github.com/adamzuch)
- [jmssnr](https://github.com/jmssnr)
- [sleonia](https://github.com/sleonia)

# v3.6.1 (2023-12-15)

#### :bug: Bug Fix

- fix(brush): fix issue 'update was scheduled' warning on resetOnEnd #1465 [#1778](https://github.com/airbnb/visx/pull/1778)
  
#### :trophy: Contributors
- [dsdevgit](https://github.com/dsdevgit)

# v3.6.0 (2023-12-07)

#### :rocket: Enhancements

- feat(brush): disable drag overlay [#1744](https://github.com/airbnb/visx/pull/1744)
  
#### :trophy: Contributors
- [Onxi95](https://github.com/Onxi95)

# v3.5.1 (2023-11-17)

#### :bug: Bug Fix

- fix: correctly pass through offset from AnimatedGridRows/Columns [#1769](https://github.com/airbnb/visx/pull/1769)

### :memo: Documentation

- docs: add Superstardle in the wild [#1768](https://github.com/airbnb/visx/pull/1768)
  
#### :trophy: Contributors
- [henrinormak](https://github.com/henrinormak)
- [mcioffi](https://github.com/mcioffi)

# v3.5.0 (2023-11-13)

#### :rocket: Enhancements

- new(geo, vendor): add `d3-geo@3` to `visx-vendor`, support `geoPath.digits(n)` [#1767](https://github.com/airbnb/visx/pull/1767)

### :memo: Documentation

- Add to "In the wild" [#1765](https://github.com/airbnb/visx/pull/1765)
  
#### :trophy: Contributors
- [kachkaev](https://github.com/kachkaev)
- [physicianfyi](https://github.com/physicianfyi)

# v3.4.1 (2023-10-26)

#### :bug: Bug Fix

- visx-axis AxisRenderer.tsx: resolve circular dependency [#1762](https://github.com/airbnb/visx/pull/1762)
  
#### :trophy: Contributors
- [ithrforu](https://github.com/ithrforu)

# v3.4.0 (2023-10-10)

#### :rocket: Enhancements

- feat(axis): Expose innerRef prop on the various Axis components [#1749](https://github.com/airbnb/visx/pull/1749)
  
#### :trophy: Contributors
- [SheaJanke](https://github.com/SheaJanke)

# v3.3.0 (2023-07-11)

#### :rocket: Enhancements

- Create new @visx/delaunay package [#1678](https://github.com/airbnb/visx/pull/1678)

#### :bug: Bug Fix

- Fix glyph positioning in the xychart demo.  [#1730](https://github.com/airbnb/visx/pull/1730)
  
#### :trophy: Contributors
- [SheaJanke](https://github.com/SheaJanke)

# v3.2.1 (2023-07-06)

#### :bug: Bug Fix

- fix(xychart): Cleanup async function in TooltipProvider [#1728](https://github.com/airbnb/visx/pull/1728)
  
#### :trophy: Contributors
- [SheaJanke](https://github.com/SheaJanke)

# v3.2.0 (2023-06-29)

#### :bug: Bug Fix

- fix: vendor esm-only packages [#1716](https://github.com/airbnb/visx/pull/1716)
- vendor: add files entry to package.json [#1724](https://github.com/airbnb/visx/pull/1724)
- docs(xychart): fix typo [#1714](https://github.com/airbnb/visx/pull/1714)

### :memo: Documentation

- docs(xychart): fix typo [#1714](https://github.com/airbnb/visx/pull/1714)

### :house:  Internal

- fix: vendor esm-only packages [#1716](https://github.com/airbnb/visx/pull/1716)
- github: update @octokit/openapi-types to fix release script [#1722](https://github.com/airbnb/visx/pull/1722)
- github: fix release types and logic [#1723](https://github.com/airbnb/visx/pull/1723)
  
#### :trophy: Contributors
- [sshsphere](https://github.com/sshsphere)
- [williaster](https://github.com/williaster)

# v3.1.3 (2023-06-28)

#### :bug: Bug Fix

- docs(in the wild): remove broken app link [#1688](https://github.com/airbnb/visx/pull/1688)
- fix(xychart): extra space in version definition, that prevents 18.2.0 version t… [#1686](https://github.com/airbnb/visx/pull/1686)

### :memo: Documentation

- docs(zoom): update handlePinch type description [#1685](https://github.com/airbnb/visx/pull/1685)
- docs(in the wild): remove broken app link [#1688](https://github.com/airbnb/visx/pull/1688)
  
#### :trophy: Contributors
- [codejunkienick](https://github.com/codejunkienick)
- [deni](https://github.com/deni)
- [jrozbicki](https://github.com/jrozbicki)

# v3.1.2 (2023-03-22)

#### :bug: Bug Fix

- fix(tooltip): handle SSR in useTooltipInPortal [#1672](https://github.com/airbnb/visx/pull/1672)
  
#### :trophy: Contributors
- [korompaiistvan](https://github.com/korompaiistvan)

# v3.1.1 (2023-03-22)

#### :bug: Bug Fix

- fix(zoom): prevent wheel interfering with pinch [#1639](https://github.com/airbnb/visx/pull/1639)
  
#### :trophy: Contributors
- [kiliancs](https://github.com/kiliancs)

# v3.1.0 (2023-03-08)

#### :rocket: Enhancements

- feat(axis): support object type tickLabelProp [#1662](https://github.com/airbnb/visx/pull/1662)
  
#### :trophy: Contributors
- [Robin-Hoodie](https://github.com/Robin-Hoodie)

# v3.0.2 (2023-03-07)

#### :bug: Bug Fix

- fix(demo/sandboxes, xychart): Convert '@visx/.../src/...' to '@visx/.../lib/...' [#1660](https://github.com/airbnb/visx/pull/1660)

### :memo: Documentation

- docs: Add Fig Stats to In the wild [#1652](https://github.com/airbnb/visx/pull/1652)
  
#### :trophy: Contributors
- [SheaJanke](https://github.com/SheaJanke)
- [VojtechVidra](https://github.com/VojtechVidra)

# v3.0.1 (2023-02-13)

#### :bug: Bug Fix

- fix(demo): fix missing API documentation [#1648](https://github.com/airbnb/visx/pull/1648)

### :memo: Documentation

- fix(demo): fix missing API documentation [#1648](https://github.com/airbnb/visx/pull/1648)

### :house:  Internal

- Delete ROADMAP.md [#1628](https://github.com/airbnb/visx/pull/1628)
  
#### :trophy: Contributors
- [jonambas](https://github.com/jonambas)
- [williaster](https://github.com/williaster)

# v3.0.0 (2023-01-06)

#### :boom: Breaking Changes

- security: Revert "Revert breaking "deps(scale): bump `d3-interpolate` and `d3-scale`"" [#1621](https://github.com/airbnb/visx/pull/1621)
- breaking(annotation): remove `deprecated/LinePathAnnotation` [#1620](https://github.com/airbnb/visx/pull/1620)
- breaking(responsive, xychart): require ResizeObserver or polyfill [#1622](https://github.com/airbnb/visx/pull/1622)

### :house: Internal

- internal(github/workflows): add tsconfig + demo site build checks [#1626](https://github.com/airbnb/visx/pull/1626)
- deps(demo): upgrade to next@11 [#1627](https://github.com/airbnb/visx/pull/1627)

#### :trophy: Contributors
- [jreyes33](https://github.com/jreyes33)
- [williaster](https://github.com/williaster)

# v2.18.0 (2023-01-03)

#### :bug: Bug Fix

- fix(demo/pages/docs): use relative imports to fix API docs [#1612](https://github.com/airbnb/visx/pull/1612)
- Revert breaking "deps(scale): bump `d3-interpolate` and `d3-scale`" [#1619](https://github.com/airbnb/visx/pull/1619)

### :memo: Documentation

- fix(demo/pages/docs): use relative imports to fix API docs [#1612](https://github.com/airbnb/visx/pull/1612)
  
#### :trophy: Contributors
- [williaster](https://github.com/williaster)

# v2.17.0 (2022-12-22)

#### :bug: Bug Fix

- deps(scale): bump `d3-interpolate` and `d3-scale` [#1578](https://github.com/airbnb/visx/pull/1578)

### :house:  Internal

- internal: migrate off nimbus [#1609](https://github.com/airbnb/visx/pull/1609)
  
#### :trophy: Contributors
- [jreyes33](https://github.com/jreyes33)
- [williaster](https://github.com/williaster)

# v2.16.1 (2022-12-20)

#### :bug: Bug Fix

- fix(demo/radar):  uneven data elements renders spokes and web out of sync [#1599](https://github.com/airbnb/visx/pull/1599)
- fix(brush): update brush start/end on window resize [#1606](https://github.com/airbnb/visx/pull/1606)

### :memo: Documentation

- docs(xychart): fix typo [#1594](https://github.com/airbnb/visx/pull/1594)

### :house:  Internal

- internal(github-actions): add github release script [#1585](https://github.com/airbnb/visx/pull/1585)
  
#### :trophy: Contributors
- [datananda](https://github.com/datananda)
- [gammaflauge](https://github.com/gammaflauge)
- [valMn](https://github.com/valMn)
- [williaster](https://github.com/williaster)

# v2.16.0 (2022-10-19)

#### :bug: Bug Fix

- fix(tooltip, bounds): replace findDOMNode with refs for TooltipWithBounds [#1583](https://github.com/airbnb/visx/pull/1583)
  
#### :trophy: Contributors
- [0xmax](https://github.com/0xmax)

# v2.15.1 (2022-10-13)

#### :bug: Bug Fix

- fix(mock-data): add missing bitcoinPrice to index.ts [#1582](https://github.com/airbnb/visx/pull/1582)
  
#### :trophy: Contributors
- [filiprejmus](https://github.com/filiprejmus)

# v2.15.0 (2022-10-04)

#### :rocket: Enhancements

- new(tooltip): provide isFlippedVertically and isFlippedHorizontally context [#1355](https://github.com/airbnb/visx/pull/1355)
  
#### :trophy: Contributors
- [taksuparth](https://github.com/taksuparth)

# v2.14.0 (2022-10-03)

#### :rocket: Enhancements

- feat(axis): add an ability to specify different paddings for the start and the end of the axis [#1574](https://github.com/airbnb/visx/pull/1574)
  
#### :trophy: Contributors
- [andreykrupskii](https://github.com/andreykrupskii)

# v2.13.0 (2022-09-06)

#### :rocket: Enhancements

- Include visx/threshold in visx/visx [#1563](https://github.com/airbnb/visx/pull/1563)
  
#### :trophy: Contributors
- [DantrazTrev](https://github.com/DantrazTrev)

# v2.12.2 (2022-08-03)

#### :bug: Bug Fix

- fix(text, shape): Hide generated text element from assistive technologies [#1551](https://github.com/airbnb/visx/pull/1551)
  
#### :trophy: Contributors
- [thomashoggard](https://github.com/thomashoggard)

# v2.12.1 (2022-07-07)

#### :bug: Bug Fix

- fix(brush): resize brush selection when chart resizes [#1536](https://github.com/airbnb/visx/pull/1536)
  
#### :trophy: Contributors
- [lucassarcanjo](https://github.com/lucassarcanjo)

# v2.12.0 (2022-07-06)

#### :rocket: Enhancements

- feat(brush): add renderBrushHandle [#1495](https://github.com/airbnb/visx/pull/1495)
  
#### :trophy: Contributors
- [arnthor-agustsson](https://github.com/arnthor-agustsson)

# v2.11.1 (2022-06-29)

#### :bug: Bug Fix

- fix(demo,shape): fix SplitLinePath key [#1531](https://github.com/airbnb/visx/pull/1531)
  
#### :trophy: Contributors
- [williaster](https://github.com/williaster)

# v2.11.0 (2022-06-28)

#### :rocket: Enhancements

- feat(xychart): support onPointerDown event [#1440](https://github.com/airbnb/visx/pull/1440)
  
#### :trophy: Contributors
- [abusada](https://github.com/abusada)

# v2.10.2 (2022-06-28)

### :house:  Internal

- chore: Update deps for react-spring to specific target [#1530](https://github.com/airbnb/visx/pull/1530)
  
#### :trophy: Contributors
- [ed-g-c](https://github.com/ed-g-c)

# v2.10.1 (2022-06-08)

#### :bug: Bug Fix

- fix(brush): vertical brush with useWindowMoveEvents [#1522](https://github.com/airbnb/visx/pull/1522)
  
#### :trophy: Contributors
- [kangaechigai](https://github.com/kangaechigai)

# v2.10.0 (2022-05-03)

#### :rocket: Enhancements

- deps: Update to support React 18 [#1483](https://github.com/airbnb/visx/pull/1483)
- new(react-spring): add tickLineProps to AnimatedTicks [#1490](https://github.com/airbnb/visx/pull/1490)
- feat(xychart): add colorAccessor to LineSeries [#1489](https://github.com/airbnb/visx/pull/1489)

### :memo: Documentation

- docs: add WHO in the wild [#1486](https://github.com/airbnb/visx/pull/1486)
  
#### :trophy: Contributors
- [artidata](https://github.com/artidata)
- [Gaya](https://github.com/Gaya)
- [Zenith00](https://github.com/Zenith00)

# v2.9.2 (2022-04-28)

#### :bug: Bug Fix

- fix(xychart, react-spring): fix duplicate key warning in Axis/Grid [#1485](https://github.com/airbnb/visx/pull/1485)
  
#### :trophy: Contributors
- [williaster](https://github.com/williaster)

# v2.9.1 (2022-04-27)

#### :bug: Bug Fix

- fix(xychart): fix typo [#1460](https://github.com/airbnb/visx/pull/1460)

### :memo: Documentation

- docs: Add https://augora.fr to "In the wild" section [#1443](https://github.com/airbnb/visx/pull/1443)
  
#### :trophy: Contributors
- [goldenivan](https://github.com/goldenivan)
- [tetsugi](https://github.com/tetsugi)

# v2.9.0 (2022-01-27)

#### :rocket: Enhancements

- new(annotation): add HtmlLabel demo, add containterStyle prop [#1424](https://github.com/airbnb/visx/pull/1424)

### :memo: Documentation

- new(annotation): add HtmlLabel demo, add containterStyle prop [#1424](https://github.com/airbnb/visx/pull/1424)

### :house:  Internal

- new(annotation): add HtmlLabel demo, add containterStyle prop [#1424](https://github.com/airbnb/visx/pull/1424)
  
#### :trophy: Contributors
- [williaster](https://github.com/williaster)

# v2.8.0 (2022-01-26)

### :house:  Internal

- deps: replace resize-observer-polyfill with @juggle/resize-observer [#1422](https://github.com/airbnb/visx/pull/1422)
  
#### :trophy: Contributors
- [williaster](https://github.com/williaster)

# v2.7.1 (2022-01-24)

#### Uncategorized

- fix(responsive): remove global ResizeObserver type declaration [#1423](https://github.com/airbnb/visx/pull/1423)
  
#### :trophy: Contributors
- [williaster](https://github.com/williaster)

# v2.7.0 (2022-01-21)

#### :rocket: Enhancements

- Annotation label <foreignobject> render [#1383](https://github.com/airbnb/visx/pull/1383)
  
#### :trophy: Contributors
- [valtism](https://github.com/valtism)

# v2.6.1 (2022-01-20)

#### :bug: Bug Fix

- fix(zoom): avoid 2x scale invocations on wheel end [#1420](https://github.com/airbnb/visx/pull/1420)
  
#### :trophy: Contributors
- [williaster](https://github.com/williaster)

# v2.6.0 (2022-01-20)

#### :rocket: Enhancements

- new(drag): Add restrictToPath as a Drag parameter [#1379](https://github.com/airbnb/visx/pull/1379)

### :memo: Documentation

- Removed $ sign from Usage in Readme [#1397](https://github.com/airbnb/visx/pull/1397)
  
#### :trophy: Contributors
- [DantrazTrev](https://github.com/DantrazTrev)
- [valtism](https://github.com/valtism)

# v2.5.0 (2021-11-11)

#### :rocket: Enhancements

- new(drag): add options to restrict <Drag> area and control snapToPointer behaviour [#1368](https://github.com/airbnb/visx/pull/1368)
  
#### :trophy: Contributors
- [valtism](https://github.com/valtism)

# v2.4.1 (2021-11-11)

#### :bug: Bug Fix

- fix(responsive): fix shallow equality check on default array value for ParentSize [#1370](https://github.com/airbnb/visx/pull/1370)
  
#### :trophy: Contributors
- [dylanmoz](https://github.com/dylanmoz)

# v2.4.0 (2021-11-10)

#### :rocket: Enhancements

- new(xychart): distinguish nearestDatum in renderGlyph [#1294](https://github.com/airbnb/visx/pull/1294)
- new(shape/BarRounded): export useBarRounded, support render functions [#1097](https://github.com/airbnb/visx/pull/1097)
- new(xychart/BarSeries,BarGroup,BarStack): add support for bar radius [#1098](https://github.com/airbnb/visx/pull/1098)

#### :bug: Bug Fix

- Update Readme.md [#1372](https://github.com/airbnb/visx/pull/1372)

### :memo: Documentation

- Update Readme.md [#1372](https://github.com/airbnb/visx/pull/1372)
  
#### :trophy: Contributors
- [AryanBeezadhur](https://github.com/AryanBeezadhur)
- [Janpot](https://github.com/Janpot)
- [williaster](https://github.com/williaster)

# v2.3.0 (2021-11-02)

#### :rocket: Enhancements

- new(text): Add 'shrink-only' option to 'scaleToFit' [#1362](https://github.com/airbnb/visx/pull/1362)
  
#### :trophy: Contributors
- [kyythane](https://github.com/kyythane)

# v2.2.2 (2021-10-27)

#### :bug: Bug Fix

- fix(tooltip): mount TooltipWithBounds before adding transform [#1367](https://github.com/airbnb/visx/pull/1367)
- fix(zoom): better handling of simultaneous drag and scale [#1361](https://github.com/airbnb/visx/pull/1361)

### :memo: Documentation

- docs: add note about dangers of rendering divs within svg [#1354](https://github.com/airbnb/visx/pull/1354)
- docs(scale): Add note on scaleLog domain not containing 0 [#1363](https://github.com/airbnb/visx/pull/1363)
- docs(tooltip): remove incorrect handler from readme example [#1366](https://github.com/airbnb/visx/pull/1366)
  
#### :trophy: Contributors
- [amhunt](https://github.com/amhunt)
- [kangaechigai](https://github.com/kangaechigai)
- [valtism](https://github.com/valtism)
- [whalderman](https://github.com/whalderman)

# v2.2.1 (2021-10-13)

#### :bug: Bug Fix

- Round up instead of down on text width within Label to avoid unnecessary wrapping [#1353](https://github.com/airbnb/visx/pull/1353)
  
#### :trophy: Contributors
- [dylanmoz](https://github.com/dylanmoz)

# v2.2.0 (2021-10-13)

#### :rocket: Enhancements

- Allow specifying zIndex for tooltip portals [#1346](https://github.com/airbnb/visx/pull/1346)
  
#### :trophy: Contributors
- [kangaechigai](https://github.com/kangaechigai)

# v2.1.2 (2021-10-11)

### :house:  Internal

- deps: bump all dev config [#1301](https://github.com/airbnb/visx/pull/1301)
  
#### :trophy: Contributors
- [williaster](https://github.com/williaster)

# v2.1.1 (2021-09-10)

### :house:  Internal

- deps: bump lodash throughout [#1341](https://github.com/airbnb/visx/pull/1341)
  
#### :trophy: Contributors
- [williaster](https://github.com/williaster)

# v2.1.0 (2021-08-17)

#### :rocket: Enhancements

- deps: update to react-spring@9 [#1277](https://github.com/airbnb/visx/pull/1277)
- new(zoom): add pinch and zoom support [#1305](https://github.com/airbnb/visx/pull/1305)
- new(demo/geo-albers/usa): use all 4 colors in the map [#1314](https://github.com/airbnb/visx/pull/1314)
- new(wordcloud): add @visx/wordcloud [#1311](https://github.com/airbnb/visx/pull/1311)

#### :bug: Bug Fix

- fix(scripts/performRelease): fix alpha release logic [#1310](https://github.com/airbnb/visx/pull/1310)

### :boom:  Breaking Changes

- deps: update to react-spring@9 [#1277](https://github.com/airbnb/visx/pull/1277)
- [deps] Upgrade to react v17 and react-testing-library [#1268](https://github.com/airbnb/visx/pull/1268)
- breaking(visx/visx): export by package namespace [#1121](https://github.com/airbnb/visx/pull/1121)

### :house:  Internal

- fix(scripts/performRelease): fix alpha release logic [#1310](https://github.com/airbnb/visx/pull/1310)
  
#### :trophy: Contributors
- [craciuncezar](https://github.com/craciuncezar)
- [gazcn007](https://github.com/gazcn007)
- [kenfehling](https://github.com/kenfehling)
- [robsutcliffe](https://github.com/robsutcliffe)
- [tonyneel923](https://github.com/tonyneel923)
- [williaster](https://github.com/williaster)

# v1.18.1 (2021-07-21)

#### :bug: Bug Fix

- fix(brush, drag): call start callbacks consistently, support mobile [#1286](https://github.com/airbnb/visx/pull/1286)
  
#### :trophy: Contributors
- [williaster](https://github.com/williaster)

# v1.18.0 (2021-07-21)

#### :rocket: Enhancements

- new(xychart/tooltip): add renderGlyph property [#1255](https://github.com/airbnb/visx/pull/1255)
  
#### :trophy: Contributors
- [Janpot](https://github.com/Janpot)

# v1.17.1 (2021-07-20)

#### :bug: Bug Fix

- fix: remove @types/classnames [#1281](https://github.com/airbnb/visx/pull/1281)
  
#### :trophy: Contributors
- [Janpot](https://github.com/Janpot)

# v1.17.0 (2021-07-08)

#### :rocket: Enhancements

- new(axis): enable customization of tickLineProps [#1211](https://github.com/airbnb/visx/pull/1211)
  
#### :trophy: Contributors
- [LoiKos](https://github.com/LoiKos)

# v1.16.1 (2021-07-07)

#### :bug: Bug Fix

- fix(xychart): support fragment and array type children of stacks/groups [#1259](https://github.com/airbnb/visx/pull/1259)
  
#### :trophy: Contributors
- [williaster](https://github.com/williaster)

# v1.16.0 (2021-07-02)

#### :rocket: Enhancements

- feat(shape): add more segmentation for SplitLinePath [#1261](https://github.com/airbnb/visx/pull/1261)

#### :bug: Bug Fix

- feat(shape): add more segmentation for SplitLinePath [#1261](https://github.com/airbnb/visx/pull/1261)
  
#### :trophy: Contributors
- [kristw](https://github.com/kristw)

# v1.15.0 (2021-07-01)

#### :rocket: Enhancements

- feat(brush): add using widows move events with brush [#1164](https://github.com/airbnb/visx/pull/1164)
  
#### :trophy: Contributors
- [d3x42](https://github.com/d3x42)

# v1.14.1 (2021-07-01)

#### :bug: Bug Fix

- fix(zoom): fix provided zoom interface [#1257](https://github.com/airbnb/visx/pull/1257)

### :memo: Documentation

- Add Data 2 the People to In the Wild list [#1256](https://github.com/airbnb/visx/pull/1256)
  
#### :trophy: Contributors
- [boy51](https://github.com/boy51)
- [schillerk](https://github.com/schillerk)

# v1.14.0 (2021-06-25)

#### :rocket: Enhancements

- feat(scale): support rounding for symlog [#1252](https://github.com/airbnb/visx/pull/1252)
- feat(animatedaxis): add tickComponent support (#977) [#1228](https://github.com/airbnb/visx/pull/1228)

#### :bug: Bug Fix

- build: skip release workflow when in forked repo [#1251](https://github.com/airbnb/visx/pull/1251)

### :house:  Internal

- build: skip release workflow when in forked repo [#1251](https://github.com/airbnb/visx/pull/1251)
- build: run happo on push [#1254](https://github.com/airbnb/visx/pull/1254)
  
#### :trophy: Contributors
- [johnathanludwig](https://github.com/johnathanludwig)
- [kristw](https://github.com/kristw)
- [williaster](https://github.com/williaster)

# v1.13.0 (2021-06-16)

#### :rocket: Enhancements

- new(geo): pass projection to child override, add U.S.A. demo [#1236](https://github.com/airbnb/visx/pull/1236)

#### :bug: Bug Fix

- new(geo): pass projection to child override, add U.S.A. demo [#1236](https://github.com/airbnb/visx/pull/1236)

### :memo: Documentation

- docs(xychart): fix typos [#1232](https://github.com/airbnb/visx/pull/1232)
  
#### :trophy: Contributors
- [danielimmke](https://github.com/danielimmke)
- [johnathanludwig](https://github.com/johnathanludwig)

# v1.12.0 (2021-06-03)

#### :rocket: Enhancements

- new(shape): support dynamic fill directly in Pie [#1225](https://github.com/airbnb/visx/pull/1225)
  
#### :trophy: Contributors
- [iampueroo](https://github.com/iampueroo)

# v1.11.2 (2021-05-21)

#### :bug: Bug Fix

- fix(xychart/Tooltip): bail early when tooltip is closed [#1213](https://github.com/airbnb/visx/pull/1213)
  
#### :trophy: Contributors
- [williaster](https://github.com/williaster)

# v1.11.1 (2021-05-19)

#### :bug: Bug Fix

- fix(scale): upgrade d3-time to v2.4 for d3-scale compatibility [#1219](https://github.com/airbnb/visx/pull/1219)

### :memo: Documentation

- docs(shape): fix docs fror BarGroup, BarGroupHorizontal, and BarStack [#1212](https://github.com/airbnb/visx/pull/1212)
  
#### :trophy: Contributors
- [Pringels](https://github.com/Pringels)
- [williaster](https://github.com/williaster)

# v1.11.0 (2021-05-13)

#### :rocket: Enhancements

- new(@visx/zoom): adjust drag move to take optional offset [#1180](https://github.com/airbnb/visx/pull/1180)

#### :bug: Bug Fix

- new(@visx/zoom): adjust drag move to take optional offset [#1180](https://github.com/airbnb/visx/pull/1180)
  
#### :trophy: Contributors
- [boy51](https://github.com/boy51)

# v1.10.1 (2021-05-12)

#### :bug: Bug Fix

- fix(responsive): don't call resize.cancel if we never initialised [#1208](https://github.com/airbnb/visx/pull/1208)

#### Uncategorized

- Update pull_request.yml [#1209](https://github.com/airbnb/visx/pull/1209)
  
#### :trophy: Contributors
- [ahixon](https://github.com/ahixon)
- [williaster](https://github.com/williaster)

# v1.10.0 (2021-05-03)

#### :rocket: Enhancements

- fix(@visx/text) Bad size measurements in Firefox [#1175](https://github.com/airbnb/visx/pull/1175)

#### :bug: Bug Fix

- fix(@visx/text) Bad size measurements in Firefox [#1175](https://github.com/airbnb/visx/pull/1175)

#### Uncategorized

- Update push.yml [#1195](https://github.com/airbnb/visx/pull/1195)
  
#### :trophy: Contributors
- [vovakulikov](https://github.com/vovakulikov)
- [williaster](https://github.com/williaster)

# v1.9.1 (2021-04-22)

#### :bug: Bug Fix

- fix(grid,xychart): account for scale bandwidth in offsets [#1181](https://github.com/airbnb/visx/pull/1181)
  
#### :trophy: Contributors
- [williaster](https://github.com/williaster)

# v1.9.0 (2021-04-16)

#### :rocket: Enhancements

- fix(visx/annotation) Improve label positioning, add maxWidth [#1127](https://github.com/airbnb/visx/pull/1127)

#### :bug: Bug Fix

- fix(visx/annotation) Improve label positioning, add maxWidth [#1127](https://github.com/airbnb/visx/pull/1127)

### :memo: Documentation

- development(contributing): update docs to rebuild single packages [#1170](https://github.com/airbnb/visx/pull/1170)
  
#### :trophy: Contributors
- [vovakulikov](https://github.com/vovakulikov)
- [williaster](https://github.com/williaster)

# v1.8.0 (2021-04-15)

#### :rocket: Enhancements

- new(shape/Polygon): add optional 'points' override [#1156](https://github.com/airbnb/visx/pull/1156)
  
#### :trophy: Contributors
- [jakeisnt](https://github.com/jakeisnt)

# v1.7.4 (2021-04-13)

#### :bug: Bug Fix

- fix(brush): use PointerEvents instead of MouseEvents  [#1155](https://github.com/airbnb/visx/pull/1155)
  
#### :trophy: Contributors
- [RemaaBdair](https://github.com/RemaaBdair)

# v1.7.3 (2021-04-06)

#### :bug: Bug Fix

- fix(xychart): onPointerUp fires twice [#1135](https://github.com/airbnb/visx/pull/1135)

### :memo: Documentation

- docs: Add Pry to In the Wild list [#1115](https://github.com/airbnb/visx/pull/1115)
  
#### :trophy: Contributors
- [valtism](https://github.com/valtism)
- [vovakulikov](https://github.com/vovakulikov)

# v1.7.2 (2021-03-18)

#### :bug: Bug Fix

- fix(tooltip, annotation): bump react-use-measure to ^2.0.4. fixes #1091 [#1116](https://github.com/airbnb/visx/pull/1116)
  
#### :trophy: Contributors
- [hshoff](https://github.com/hshoff)

# v1.7.1 (2021-03-17)

#### :bug: Bug Fix

- fix(xychart/TooltipProvider): handles NaNs in nearestDatum logic [#1112](https://github.com/airbnb/visx/pull/1112)

### :house:  Internal

- internal(workflows/release): add next dist-tag, fix lerna releases [#1107](https://github.com/airbnb/visx/pull/1107)
- fix(workflows/push): fix yaml syntax [#1108](https://github.com/airbnb/visx/pull/1108)
- fix(scripts/performRelease): add comment, fix typo [#1113](https://github.com/airbnb/visx/pull/1113)
  
#### :trophy: Contributors
- [williaster](https://github.com/williaster)

# v1.7.0 (2021-03-12)

#### :rocket: Enhancements

- Export types in @visx/text [#1106](https://github.com/airbnb/visx/pull/1106)

#### :bug: Bug Fix

- fix(xychart/Tooltip): don't render glyph for null data [#1102](https://github.com/airbnb/visx/pull/1102)
- fix(shape, xychart): default LinePath strokeLinecap to round [#1105](https://github.com/airbnb/visx/pull/1105)

### :house:  Internal

- deps(lerna): bump to 3.22.0 [#1103](https://github.com/airbnb/visx/pull/1103)
  
#### :trophy: Contributors
- [ConneXNL](https://github.com/ConneXNL)
- [williaster](https://github.com/williaster)

# v1.6.1 (2021-03-08)

#### :bug: Bug Fix

- fix(network): string type in node/linkComponent [#1078](https://github.com/airbnb/visx/pull/1078)
- fix(xychart/Axis): export AxisScale type, set default Scale generic [#1094](https://github.com/airbnb/visx/pull/1094)

### :memo: Documentation

- fix(network): string type in node/linkComponent [#1078](https://github.com/airbnb/visx/pull/1078)

### :house:  Internal

- build(happo): decrease compare threshold [#1088](https://github.com/airbnb/visx/pull/1088)
- new(workflows/push): automate releases [#1073](https://github.com/airbnb/visx/pull/1073)
  
#### :trophy: Contributors
- [jraymakers](https://github.com/jraymakers)
- [williaster](https://github.com/williaster)

# v1.6.0
#### :rocket:  Enhancements

- [xychart] add x/y0Accessor functions to support AreaSeries bands [#1071](https://github.com/airbnb/visx/pull/1071)

#### :bug: Bug Fix

- [xychart] make AnnotationLabel's make dataKey optional [#1072](https://github.com/airbnb/visx/pull/1072)
- [annotation] account for fontFamily in Label styles so Text uses it in its size calculations [#1072](https://github.com/airbnb/visx/pull/1072)

#### :trophy: Contributors
- [williaster](https://github.com/williaster)

```
Changes
 - @visx/annotation: 1.5.0 => 1.6.0
 - @visx/demo: 1.5.0 => 1.6.0
 - @visx/visx: 1.5.0 => 1.6.0
 - @visx/xychart: 1.5.0 => 1.6.0
```

# v1.5.0
#### :rocket:  Enhancements

- [grid] add GridPolar, GridAngle, and GridRadial [#1007](https://github.com/airbnb/visx/pull/1007)
- [mock-data] add stable randomness [#1033](https://github.com/airbnb/visx/pull/1033)
- [xychart] add AreaStack [#1019](https://github.com/airbnb/visx/pull/1019) closes [#994](https://github.com/airbnb/visx/pull/994)
- [visx/visx] export @visx/xychart package [#1043](https://github.com/airbnb/visx/pull/1043) closes [#974](https://github.com/airbnb/visx/pull/974)
- [axis] pass all tick values in tickLabelProps signature [#1044](https://github.com/airbnb/visx/pull/1044)

#### :bug: Bug Fix

- [xychart] improve Tooltip positioning with missing data [#1068](https://github.com/airbnb/visx/pull/1068) closes [#1054](https://github.com/airbnb/visx/pull/1054)
- [xychart] make Tooltip postion robust to container changes [#1045](https://github.com/airbnb/visx/pull/1045) closes [#983](https://github.com/airbnb/visx/pull/983)
- [xychart] fix scales for BarStack offset [#1019](https://github.com/airbnb/visx/pull/1019)
- [xychart] add SVGPathElement props to BaseAreaSeries lineProps [#1046](https://github.com/airbnb/visx/pull/1046)

### :memo: Documentation

- sync code of conduct with Airbnb [#1013](https://github.com/airbnb/visx/pull/1013)
- [demo/*] respect prefersReducedMotion [#1037](https://github.com/airbnb/visx/pull/1037)
- [demo/barstack] improve Tooltip positining logic [#1018](https://github.com/airbnb/visx/pull/1018) closes [#1018](https://github.com/airbnb/visx/pull/1018)
- [demo/xychart] add AreaStack, stackOffset control [#1020](https://github.com/airbnb/visx/pull/1020)
- [in the wild] add eft.monster [#1010](https://github.com/airbnb/visx/pull/1010)

### :house:  Internal

- [testing] add happo for screenshot testing [#1030](https://github.com/airbnb/visx/pull/1030)
- [xychart/areastack] add tests [#1036](https://github.com/airbnb/visx/pull/1036)
- [CI] add package size checks + auto gallery deploy [#1048](https://github.com/airbnb/visx/pull/1048)

#### :trophy: Contributors

- [sarathps93](https://github.com/sarathps93)
- [codenomial](https://github.com/codenomial)
- [williaster](https://github.com/williaster)

```
Changes:
 - @visx/annotation: 1.4.0 => 1.5.0
 - @visx/axis: 1.4.0 => 1.5.0
 - @visx/demo: 1.4.0 => 1.5.0
 - @visx/grid: 1.4.0 => 1.5.0
 - @visx/mock-data: 1.0.0 => 1.5.0
 - @visx/react-spring: 1.4.0 => 1.5.0
 - @visx/tooltip: 1.3.0 => 1.5.0
 - @visx/visx: 1.4.0 => 1.5.0
 - @visx/xychart: 1.4.0 => 1.5.0
```

# v1.4.0

#### :rocket:  Enhancements

- [xychart] make `event` in `EventHandlerParams` optional [#972](https://github.com/airbnb/visx/pull/972)
- [xychart] add `colorAccessor` to relevant series [#1005](https://github.com/airbnb/visx/pull/1005), closes [#996](https://github.com/airbnb/visx/pull/996)
- [xychart] include zero in scale domains by default [#1008](https://github.com/airbnb/visx/pull/1008)

#### :bug: Bug Fix

- [xychart] fix scale options not applied in XYChart [#987](https://github.com/airbnb/visx/pull/987), closes [#986](https://github.com/airbnb/visx/pull/986)
- [xychart] expose more AnnotationLineSubject types, fix `strokeWidth` application [#991](https://github.com/airbnb/visx/pull/991)
- [annotation] fix application of object type `Label` `props.backgroundPadding`, add default `anchorLineStroke` [#989](https://github.com/airbnb/visx/pull/989)
- [stats] fix handling of `0` in `BoxPlot` `valueScale` [#993](https://github.com/airbnb/visx/pull/993)
- [xychart] enable style overflow in crosshairs [#997](https://github.com/airbnb/visx/pull/997)

### :memo: Documentation

- [xychart] add advanced usage sandbox examples [#972](https://github.com/airbnb/visx/pull/972)
- [xychart] fix missing </details> [#972](https://github.com/airbnb/visx/pull/972)
- [annotation] add docs for Label [#989](https://github.com/airbnb/visx/pull/989)

#### :trophy: Contributors

- [Janpot](https://github.com/Janpot)
- [rsbh](https://github.com/rsbh)
- [williaster](https://github.com/williaster)

```
Changes:
 - @visx/annotation: 1.3.0 => 1.4.0
 - @visx/axis: 1.3.0 => 1.4.0
 - @visx/brush: 1.3.0 => 1.4.0
 - @visx/demo: 1.3.0 => 1.4.0
 - @visx/grid: 1.3.0 => 1.4.0
 - @visx/legend: 1.3.0 => 1.4.0
 - @visx/marker: 1.3.0 => 1.4.0
 - @visx/react-spring: 1.3.0 => 1.4.0
 - @visx/scale: 1.3.0 => 1.4.0
 - @visx/shape: 1.3.0 => 1.4.0
 - @visx/stats: 1.3.0 => 1.4.0
 - @visx/threshold: 1.3.0 => 1.4.0
 - @visx/visx: 1.3.0 => 1.4.0
 - @visx/xychart: 1.3.0 => 1.4.0
```

# v1.3.0

#### :rocket:  Enhancements

- [responsive] Add ParentSizeModern, withParentSizeModern that don't add ResizeObserver polyfill [#925](https://github.com/airbnb/visx/pull/925) 
- [scale] add scaleRadial [#958](https://github.com/airbnb/visx/pull/958)
- [text] add useText hook, refactor Text to use it [#946](https://github.com/airbnb/visx/pull/946)
- [event] support FocusEvents in localPoint [#956](https://github.com/airbnb/visx/pull/956)
- [xychart] release package [#965](https://github.com/airbnb/visx/pull/965)
- [xychart] add PointerEvent handlers to XYChart, all Series [#947](https://github.com/airbnb/visx/pull/947)
- [xychart] add support for FocusEvents [#959](https://github.com/airbnb/visx/pull/959)
- [xychart] integrate Annotations [#938](https://github.com/airbnb/visx/pull/938)

#### :bug: Bug Fix

- [shape] set y0 when it equals zero [#955](https://github.com/airbnb/visx/pull/955)

### :memo: Documentation

- [xychart] add README and /docs/xychart to demo site [#963](https://github.com/airbnb/visx/pull/963)
- [demo] fix view demo hover pointer style [#929](https://github.com/airbnb/visx/pull/929)
- [tooltip] fix offsetTop documentation [#970](https://github.com/airbnb/visx/pull/970)

### :house:  Internal

- [xychart] add FocusEvent tests [#962](https://github.com/airbnb/visx/pull/962)
- [xychart] add PointerEvent tests [#952](https://github.com/airbnb/visx/pull/952)
- [xychart] add Annotations tests [#948](https://github.com/airbnb/visx/pull/948)

#### :trophy: Contributors

- [koddsson](https://github.com/koddsson)
- [susiwen8](https://github.com/susiwen8)
- [sarathps93](https://github.com/sarathps93)
- [cristianmartinez](https://github.com/cristianmartinez)
- [jfuchs](https://github.com/jfuchs)
- [williaster](https://github.com/williaster)

```
Changes:
 - @visx/annotation: 1.2.0 => 1.3.0
 - @visx/axis: 1.2.0 => 1.3.0
 - @visx/brush: 1.2.0 => 1.3.0
 - @visx/demo: 1.2.0 => 1.3.0
 - @visx/drag: 1.2.0 => 1.3.0
 - @visx/event: 1.0.0 => 1.3.0
 - @visx/grid: 1.2.0 => 1.3.0
 - @visx/legend: 1.1.0 => 1.3.0
 - @visx/marker: 1.2.0 => 1.3.0
 - @visx/react-spring: 1.2.0 => 1.3.0
 - @visx/responsive: 1.1.0 => 1.3.0
 - @visx/scale: 1.1.0 => 1.3.0
 - @visx/shape: 1.2.0 => 1.3.0
 - @visx/stats: 1.1.0 => 1.3.0
 - @visx/text: 1.1.0 => 1.3.0
 - @visx/threshold: 1.2.0 => 1.3.0
 - @visx/tooltip: 1.1.0 => 1.3.0
 - @visx/visx: 1.2.0 => 1.3.0
 - @visx/xychart: 1.2.0 => 1.3.0
 - @visx/zoom: 1.0.0 => 1.3.0
```

# v1.2.0

#### :rocket:  Enhancements

- [brush] expose updateBrush method via innerRef [#934](https://github.com/airbnb/visx/pull/934), closes [#577](https://github.com/airbnb/visx/pull/577)
- [annotation] add new Annotation components (Annotation, EditableAnnotation, Label, CircleSubject, LineSubject) [#907](https://github.com/airbnb/visx/pull/907)
- [drag] add useDrag hook [#902](https://github.com/airbnb/visx/pull/902)
- [drag] allow x,y,dx,dy overrides in useDrag + Drag [#906](https://github.com/airbnb/visx/pull/906), closes [#905](https://github.com/airbnb/visx/pull/905)
- [annotation] add canEditSubject, canEditLabel to EditableAnnotation [#919](https://github.com/airbnb/visx/pull/919)
- [xychart (unpublished)] make DataProvider optional [#913](https://github.com/airbnb/visx/pull/913)
- [xychart (unpublished)] expose curve types in BaseAreaSeries, BaseLineSeries [#899](https://github.com/airbnb/visx/pull/899)
- [xychart (unpublished)] handle rendering + tweening missing values [#898](https://github.com/airbnb/visx/pull/898)
- [xychart (unpublished)] add (Animated)GlyphSeries [#885](https://github.com/airbnb/visx/pull/885)
- [xychart (unpublished)] add AreaSeries + AnimatedAreaSeries [#878](https://github.com/airbnb/visx/pull/878)
- [xychart (unpublished)] add AnimatedLineSeries [#874](https://github.com/airbnb/visx/pull/874)
- [xychart (unpublished)] add Animated(BarSeries, BarStack, BarGroup) [#873](https://github.com/airbnb/visx/pull/873)

#### :bug: Bug Fix

- [shape] conditionally render Arc without data [#937](https://github.com/airbnb/visx/pull/937)

### :memo: Documentation

- [demo/annotation] add annotation demo [#909](https://github.com/airbnb/visx/pull/909)
- [demo] visx rebrand, move to github pages [#890](https://github.com/airbnb/visx/pull/890), fixes [#850](https://github.com/airbnb/visx/pull/850) [#861](https://github.com/airbnb/visx/pull/861)
- [in the wild] add tokenizedbtc [#931](https://github.com/airbnb/visx/pull/931)

### :house:  Internal

- [deps] next@9.5.4 [#915](https://github.com/airbnb/visx/pull/915), [#916](https://github.com/airbnb/visx/pull/916)
- [ci] remove .travis.yml [#891](https://github.com/airbnb/visx/pull/891)
- [xychart (unpublished)] add Annotation tests [#912](https://github.com/airbnb/visx/pull/912)
- [xychart (unpublished)] add missing data tests [#900](https://github.com/airbnb/visx/pull/900)

#### :trophy: Contributors

- [peterwiebe](https://github.com/peterwiebe)
- [sakulstra](https://github.com/sakulstra)
- [hshoff](https://github.com/hshoff)
- [williaster](https://github.com/williaster)

```
Changes:
 - @visx/annotation: 1.1.0 => 1.2.0
 - @visx/axis: 1.1.0 => 1.2.0
 - @visx/brush: 1.1.0 => 1.2.0
 - @visx/demo: 1.1.0 => 1.2.0
 - @visx/drag: 1.0.0 => 1.2.0
 - @visx/grid: 1.1.0 => 1.2.0
 - @visx/marker: 1.1.0 => 1.2.0
 - @visx/react-spring: 1.1.0 => 1.2.0
 - @visx/shape: 1.1.0 => 1.2.0
 - @visx/threshold: 1.1.0 => 1.2.0
 - @visx/visx: 1.1.0 => 1.2.0
 - @visx/xychart: 1.1.0 => 1.2.0 (private)
```

# v1.1.0

#### :rocket:  Enhancements

- [scale] bump `@types/d3-scale` to `^3.1.0` [#856](https://github.com/airbnb/visx/pull/856) closes [#855](https://github.com/airbnb/visx/pull/855)
- [shape] set `Line` shapeRendering to `crispEdges` if rectilinear [#840](https://github.com/airbnb/visx/pull/840)
- [network] apply fill & radius to DefaultNode [#859](https://github.com/airbnb/visx/pull/859)
- [tooltip] add `applyPositionStyle` prop so users don't have to set absolute positioning when `unstyled=true` [#857](https://github.com/airbnb/visx/pull/857)
- [responsive] add `initialWidth` and `initialHeight` to `withParentSize` [#836](https://github.com/airbnb/visx/pull/836) closes [#554](https://github.com/airbnb/visx/pull/554)
- [responsive] add `ignoreDimensions` prop to optimize re-renders [#834](https://github.com/airbnb/visx/pull/834) closes [#247](https://github.com/airbnb/visx/pull/247)
- [xychart (unpublished)] add BarSeries [#808](https://github.com/airbnb/visx/pull/808)
- [xychart (unpublished)] add BarGroup [#870](https://github.com/airbnb/visx/pull/870) [#871](https://github.com/airbnb/visx/pull/871)
- [xychart (unpublished)] add BarStack [#865](https://github.com/airbnb/visx/pull/865) [#866](https://github.com/airbnb/visx/pull/866)
- [xychart (unpublished)] add EventEmitterContext, TooltipContext [#825](https://github.com/airbnb/visx/pull/825)
- [xychart (unpublished)] add Tooltip [#852](https://github.com/airbnb/visx/pull/852)

#### :bug: Bug Fix

- [tooltip] fix `TooltipWithBounds` overlowing its parent on small screens [#837](https://github.com/airbnb/visx/pull/837) closes [#466](https://github.com/airbnb/visx/pull/466)
- [tooltip] fix `TooltipWithBounds` positioning when `unstyled=true` [#828](https://github.com/airbnb/visx/pull/828)
- [stats] don't throw when first and third quartile are equal [#841](https://github.com/airbnb/visx/pull/841) closes [#427](https://github.com/airbnb/visx/pull/427)
- [stats] update min/max to handle no outliers case [#853](https://github.com/airbnb/visx/pull/853) closes [#851](https://github.com/airbnb/visx/pull/851)
- [text] render 0 as number [#814](https://github.com/airbnb/visx/pull/814) fixes [#813](https://github.com/airbnb/visx/pull/813)
- [shape] render LinkHorizontalStep horizontally not vertically [#847](https://github.com/airbnb/visx/pull/847) closes [#820](https://github.com/airbnb/visx/pull/820)
- [axis] fix `tickLabelProps` when `hideZero=true` [#818](https://github.com/airbnb/visx/pull/818) fixes [#815](https://github.com/airbnb/visx/pull/815)
- [demo/areas] handle non-zero margins [#877](https://github.com/airbnb/visx/pull/877)

#### :house:  Internal

- [responsive] refactor `ParentSize` to function component [#834](https://github.com/airbnb/visx/pull/834)
- [text] improve test coverage [#833](https://github.com/airbnb/visx/pull/833)
- [pattern] remove code duplication [#838](https://github.com/airbnb/visx/pull/838)

#### :memo: Documentation

- [in the wild] add Wall Street Journal: Americans Familiarize Themselves with the Word ‘Forbearance’ [#843](https://github.com/airbnb/visx/pull/843)
- [in the wild] add dollar-to-food-emoji [#860](https://github.com/airbnb/visx/pull/860)
- [in the wild] remove deadlinks, add Taiwan Real-time Air Quality Index [#867](https://github.com/airbnb/visx/pull/867) 
- [project readme] fix typos [#826](https://github.com/airbnb/visx/pull/826)

#### :trophy: Contributors

- [birjolaxew](https://github.com/birjolaxew)
- [wyze](https://github.com/wyze)
- [shannonrothe](https://github.com/shannonrothe)
- [anastasiia-gontarieva](https://github.com/anastasiia-gontarieva)
- [kmiyashiro](https://github.com/kmiyashiro)
- [LethalPants](https://github.com/LethalPants)
- [rayshan](https://github.com/rayshan)
- [kanhegaonkarsaurabh](https://github.com/kanhegaonkarsaurabh)
- [tombarton](https://github.com/tombarton)
- [gmlwo530](https://github.com/gmlwo530)
- [ArvinH](https://github.com/ArvinH)
- [singhanurag05](https://github.com/singhanurag05)
- [androiddevnotes](https://github.com/androiddevnotes)
- [ilariaventurini](https://github.com/ilariaventurini)
- [kristw](https://github.com/kristw)
- [hshoff](https://github.com/hshoff)
- [williaster](https://github.com/williaster)

```Changes:
Changes:
 - @visx/annotation: 1.0.0 => 1.1.0
 - @visx/axis: 1.0.0 => 1.1.0
 - @visx/brush: 1.0.0 => 1.1.0
 - @visx/demo: 1.0.0 => 1.1.0
 - @visx/grid: 1.0.0 => 1.1.0
 - @visx/legend: 1.0.0 => 1.1.0
 - @visx/marker: 1.0.0 => 1.1.0
 - @visx/network: 1.0.0 => 1.1.0
 - @visx/pattern: 1.0.0 => 1.1.0
 - @visx/react-spring: 1.0.0 => 1.1.0
 - @visx/responsive: 1.0.0 => 1.1.0
 - @visx/scale: 1.0.0 => 1.1.0
 - @visx/shape: 1.0.0 => 1.1.0
 - @visx/stats: 1.0.0 => 1.1.0
 - @visx/text: 1.0.0 => 1.1.0
 - @visx/threshold: 1.0.0 => 1.1.0
 - @visx/tooltip: 1.0.0 => 1.1.0
 - @visx/visx: 1.0.0 => 1.1.0
 - @visx/xychart: 1.0.0 => 1.1.0 (private)
```

# v1.0.0

### :house:  Internal

- project renamed from `vx` => `visx`, migrated from `hshoff/vx` => `airbnb/visx` [#802](https://github.com/airbnb/visx/issues/802), [#803](https://github.com/airbnb/visx/issues/803)

### :memo: Documentation

- Demo site migrated from https://vx-demo.now.sh/ => https://airbnb.io/visx [#804](https://github.com/airbnb/visx/issues/804)
- Demo site re-brand

### :boom:  Breaking Changes

- [all packages] `vx-...` `className`s are renamed to `visx-...` [#803](https://github.com/airbnb/visx/issues/803)
- [demo] existing codesandbox links which reference `vx-demo` directory structure will break [#803](https://github.com/airbnb/visx/issues/803)
- [tooltip] `className="vx-tooltip-portal"` => `visx-tooltip` (so as not to be confused with the new `TooltipInPortal`) [#803](https://github.com/airbnb/visx/issues/803)

#### :bug: Bug Fix

- [demo] fix `/axis` codesandbox dependency [#799](https://github.com/airbnb/visx/pull/799)

#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)
- [williaster](https://github.com/williaster)

```Changes:
@vx/*@0.0.199 => @visx/*@1.0.0
```

# v0.0.199

### :boom:  Breaking Changes

- [scale] Deprecate `rangeRound` field in the input of `scaleLinear()`, `scaleLog()`, `scalePoint()`, `scalePower()`, `scaleSqrt()`, `scaleTime()` and `scaleUtc()`. [#766](https://github.com/hshoff/vx/pull/766)
    Instead of
    ```ts
    scaleLinear({ rangeRound: xxx })
    ```
    Do this instead
    ```ts
    scaleLinear({ range: xxx, round: true });
    ```
- [scale] Deprecate `ticks` and `tickFormat` in the input of `scaleQuantize()`. It was not really doing anything anyway as both `scale.ticks()` and `scale.tickFormat()` do not mutate the scale. [#766](https://github.com/hshoff/vx/pull/766)
- [scale] Remove `scale.type` field that was attached to the d3 scales. [#766](https://github.com/hshoff/vx/pull/766)
- [grid] `@vx/grid` components now accept D3 Scale as generic type instead of `ScaleInput`. Developers should not expect to specify this generic type as it can be inferred from the passed scale. [#775](https://github.com/hshoff/vx/pull/775)
- [grid] Renames `GridColumnProps` => `GridColumnsProps` (+`s`) to match `GridRowsProps`. [#787](https://github.com/hshoff/vx/pull/787)
- [legend] Update generic types for legend components. [#777](https://github.com/hshoff/vx/pull/777)
- [marker] remove old [`<Marker />`](https://github.com/hshoff/vx/blob/v0.0.198/packages/vx-marker/src/markers/Marker.tsx#L72-L98) implementation of a Line and some Text. [#783](https://github.com/hshoff/vx/pull/783)

### :rocket:  Enhancements

- [scale] new functions & New fields for the scale configs. [#766](https://github.com/hshoff/vx/pull/766)
- [scale] add meta scale types. [#770](https://github.com/hshoff/vx/pull/770)
- [scale] Add fallback overload for createScale. [#791](https://github.com/hshoff/vx/pull/791)
- [scale]  add new types: `AnyD3Scale`, `InferD3ScaleOutput`, `InferD3ScaleDiscreteInput`, `InferD3ScaleThresholdInput` and `ScaleInput`. Add new utilities functions: `getTicks`, `coerceNumber` and `toString`. [#773](https://github.com/hshoff/vx/pull/773)
- [scale] add reverse field to scale config. This will reverse the range. Useful when the ranges are programmatically supplied to the scale factories such as in XYChart and developers want easy way to reverse the dynamic range. [#780](https://github.com/hshoff/vx/pull/780)
- [legend] exports `@vx/legend` shapes from the `index` for convenience / non-deep imports. [#772](https://github.com/hshoff/vx/pull/772)
- [grid] adds `children` prop to `GridRows` + `GridColumns` to support animated rendering. [#787](https://github.com/hshoff/vx/pull/787)
- [shape] add `<BarRounded />` shape. [#774](https://github.com/hshoff/vx/pull/774)
- [shape] Create new factory functions for `d3-shape` and export as part of `vx/shape` (`arc`, `area`, `line`, `pie`, `radialLine`),
similar to `vx/scale` has factories for `d3-scale`. [#776](https://github.com/hshoff/vx/pull/776)
- [shape] add `SplitLinePath` component to `@vx/shape` that allows you to create a line path split into multiple smaller line paths that can be styled independently. [#778](https://github.com/hshoff/vx/pull/778)
- [axis] consistent and compatible typings across `vx/scale` and `vx/axis`. More fields passed to child render props of `Axis`. [#773](https://github.com/hshoff/vx/pull/773)
- [axis] `Axis` is refactored to accept a `ticksComponent` which allows us to animate them. [#779](https://github.com/hshoff/vx/pull/779)
- [axis] adds a third argument `values` to `tickFormat(value, index, values)` so that format logic can more easily leverage all ticks (because `numTicks` is approximate, lib consumers do not know how many tick values exist _a priori_). [#779](https://github.com/hshoff/vx/pull/779)
- [marker] add new [`<Marker />`](https://github.com/hshoff/vx/compare/harry-svg-marker?expand=1#diff-7a829322360dc21940b608c760087e29R32-R42) that matches actual SVG [`<marker>`](https://github.com/hshoff/vx/blob/v0.0.198/packages/vx-marker/src/markers/Marker.tsx#L72-L98). [#783](https://github.com/hshoff/vx/pull/783)
- [marker] add `<MarkerArrow />`, `<MarkerCross />`, `<MarkerX />`, `<MarkerCircle />`, `<MarkerLine />`. [#783](https://github.com/hshoff/vx/pull/783)
- [react-spring] adds a new package `@vx/react-spring` that includes `react-spring` as a `peerDep` and can be a home for things that depend on `react-spring`. [#779](https://github.com/hshoff/vx/pull/779)
- [react-spring] Adds an `<AnimatedAxis />` and `<AnimatedTicksRender />` in `@vx/react-spring`. [#779](https://github.com/hshoff/vx/pull/779)
- [react-spring] updates the `vx-demo/axis` demo to use `<AnimatedAxis />`. [#779](https://github.com/hshoff/vx/pull/779)
- [react-spring] adds `AnimatedGridRows` + `AnimatedGridColumns`. [#787](https://github.com/hshoff/vx/pull/787)
- [react-spring] modularizes `AnimatedTicks/useAnimatedTicksConfig` to `spring-configs/useAnimatedLineTransitionConfig` so it can power both animated tick + grid lines. [#787](https://github.com/hshoff/vx/pull/787)
- [react-spring] adds `animationTrajectory=outside | inside | min | max` to `AnimatedAxis` and `AnimatedGridRows/Columns`. [#787](https://github.com/hshoff/vx/pull/787)

#### :bug: Bug Fix

- [responsive] exclude `enableDebounceLeadingCall` prop being passed into `div`. [#763](https://github.com/hshoff/vx/pull/763)
- [responsive] fix prettier format. [#764](https://github.com/hshoff/vx/pull/764)
- [text] fix warning for NaN or invalid values are passed as x or y. [#790](https://github.com/hshoff/vx/pull/790)

### :memo: Documentation

- [scale] Improve documentation of the fields in scale configs. [#766](https://github.com/hshoff/vx/pull/766)

### :house:  Internal

- [scale] rewrite individual scale factory with composition of shared operators. This ensure order of operators and simplified code. [#766](https://github.com/hshoff/vx/pull/766)
- [scale] add 100+ unit tests to make this `vx/scale` package has 100% test coverage. [#766](https://github.com/hshoff/vx/pull/766)
- [stats] use updated @vx/scale types. [#770](https://github.com/hshoff/vx/pull/770)
- [legend] extract defaultDomain helper. [#777](https://github.com/hshoff/vx/pull/777)
- [demo] updated curves demo to use new `<Marker>`. [#783](https://github.com/hshoff/vx/pull/783)
- [demo] updates the `/axis` demo to include `AnimatedGrid*` and a `animationTrajectory` config. [#787](https://github.com/hshoff/vx/pull/787)
- [jest] ignore vx-demo, vx-vx code coverage. [#784](https://github.com/hshoff/vx/pull/784)
- [annotation] 100% coverage. [#784](https://github.com/hshoff/vx/pull/784)
- [bounds] 100% coverage. [#784](https://github.com/hshoff/vx/pull/784)
- [brush] add utils test. [#786](https://github.com/hshoff/vx/pull/786)
- [event] add tests. [#786](https://github.com/hshoff/vx/pull/786)
- [test] add tests for vx/grid, vx/zoom, vx/threshold, vx/shape. [#793](https://github.com/hshoff/vx/pull/793)

#### :trophy: Contributors

- [robinsoncol](https://github.com/robinsoncol)
- [kristw](https://github.com/kristw)
- [williaster](https://github.com/williaster)
- [hshoff](https://github.com/hshoff)

```Changes:
 - @vx/annotation: 0.0.198 => 0.0.199
 - @vx/axis: 0.0.198 => 0.0.199
 - @vx/bounds: 0.0.198 => 0.0.199
 - @vx/brush: 0.0.198 => 0.0.199
 - @vx/chord: 0.0.198 => 0.0.199
 - @vx/clip-path: 0.0.198 => 0.0.199
 - @vx/curve: 0.0.198 => 0.0.199
 - @vx/demo: 0.0.198 => 0.0.199
 - @vx/drag: 0.0.198 => 0.0.199
 - @vx/event: 0.0.198 => 0.0.199
 - @vx/geo: 0.0.198 => 0.0.199
 - @vx/glyph: 0.0.198 => 0.0.199
 - @vx/gradient: 0.0.198 => 0.0.199
 - @vx/grid: 0.0.198 => 0.0.199
 - @vx/group: 0.0.198 => 0.0.199
 - @vx/heatmap: 0.0.198 => 0.0.199
 - @vx/hierarchy: 0.0.198 => 0.0.199
 - @vx/legend: 0.0.198 => 0.0.199
 - @vx/marker: 0.0.198 => 0.0.199
 - @vx/mock-data: 0.0.198 => 0.0.199
 - @vx/network: 0.0.198 => 0.0.199
 - @vx/pattern: 0.0.198 => 0.0.199
 - @vx/point: 0.0.198 => 0.0.199
 - @vx/react-spring: 0.0.198 => 0.0.199
 - @vx/responsive: 0.0.198 => 0.0.199
 - @vx/scale: 0.0.198 => 0.0.199
 - @vx/shape: 0.0.198 => 0.0.199
 - @vx/stats: 0.0.198 => 0.0.199
 - @vx/text: 0.0.198 => 0.0.199
 - @vx/threshold: 0.0.198 => 0.0.199
 - @vx/tooltip: 0.0.198 => 0.0.199
 - @vx/voronoi: 0.0.198 => 0.0.199
 - @vx/vx: 0.0.198 => 0.0.199
 - @vx/xychart: 0.0.0 => 0.0.199 (private)
 - @vx/zoom: 0.0.198 => 0.0.199
 ```
 
# v0.0.198

#### :rocket: Enhancements
- feat(tooltip): add Portal and useTooltipInPortal [#756](https://github.com/hshoff/vx/pull/756) 
- feat(responsive): add leading option to resize debounce [#754](https://github.com/hshoff/vx/pull/754)
- feat(axis): use numTicks when falling back on scale.domain [#752](https://github.com/hshoff/vx/pull/752)
- feat(pattern): add diagonal right to left pattern [#744](https://github.com/hshoff/vx/pull/744)
- feat(legend): add Line shape, legendLabelProps, and more props in renderShape [#749](https://github.com/hshoff/vx/pull/749)

#### 💥 Breaking Changes
- feat(responsive): resize debounce now defaults to true which will result in an additional render  [#754](https://github.com/hshoff/vx/pull/754)
- feat(tooltip): add `offsetLeft/Top` to `TooltipProps`, making `TooltipProps === TooltipWithBoundsProps`, adds additional `10px` of padding to `Tooltip` `left/top` [#756](https://github.com/hshoff/vx/pull/756)

#### :bug: Bug Fix
- fix(responsive): remove debounced calls after unmounnt [#558](https://github.com/hshoff/vx/pull/558)

#### :house: Internal
- (demo): add static export deploys [#741](https://github.com/hshoff/vx/pull/741)

#### :trophy: Contributors
- [claisne](https://github.com/claisne)
- [dennisja](https://github.com/dennisja)
- [hshoff](https://github.com/hshoff)
- [Pringels](https://github.com/Pringels)
- [williaster](https://github.com/williaster)

```
Changes: 
 - @vx/annotation: 0.0.197 => 0.0.198
 - @vx/axis: 0.0.197 => 0.0.198
 - @vx/bounds: 0.0.197 => 0.0.198
 - @vx/brush: 0.0.197 => 0.0.198
 - @vx/chord: 0.0.197 => 0.0.198
 - @vx/clip-path: 0.0.197 => 0.0.198
 - @vx/curve: 0.0.197 => 0.0.198
 - @vx/demo: 0.0.197 => 0.0.198
 - @vx/drag: 0.0.197 => 0.0.198
 - @vx/event: 0.0.197 => 0.0.198
 - @vx/geo: 0.0.197 => 0.0.198
 - @vx/glyph: 0.0.197 => 0.0.198
 - @vx/gradient: 0.0.197 => 0.0.198
 - @vx/grid: 0.0.197 => 0.0.198
 - @vx/group: 0.0.197 => 0.0.198
 - @vx/heatmap: 0.0.197 => 0.0.198
 - @vx/hierarchy: 0.0.197 => 0.0.198
 - @vx/legend: 0.0.197 => 0.0.198
 - @vx/marker: 0.0.197 => 0.0.198
 - @vx/mock-data: 0.0.197 => 0.0.198
 - @vx/network: 0.0.197 => 0.0.198
 - @vx/pattern: 0.0.197 => 0.0.198
 - @vx/point: 0.0.197 => 0.0.198
 - @vx/responsive: 0.0.197 => 0.0.198
 - @vx/scale: 0.0.197 => 0.0.198
 - @vx/shape: 0.0.197 => 0.0.198
 - @vx/stats: 0.0.197 => 0.0.198
 - @vx/text: 0.0.197 => 0.0.198
 - @vx/threshold: 0.0.197 => 0.0.198
 - @vx/tooltip: 0.0.197 => 0.0.198
 - @vx/voronoi: 0.0.197 => 0.0.198
 - @vx/vx: 0.0.197 => 0.0.198
 - @vx/zoom: 0.0.197 => 0.0.198
```

# v0.0.197

#### :rocket: Enhancements

- feat(tooltip): add unstyled prop to TooltipWithBounds [#721](https://github.com/hshoff/vx/pull/721)
- perf(tooltip): use useCallback in useTooltip [#668](https://github.com/hshoff/vx/pull/668)

#### :bug: Bug Fix

- fix(zoom): fix zoom.dragMove on touchmove event y-coord [#725](https://github.com/hshoff/vx/pull/725)

#### :memo: Documentation

- feat(demo): new documentation, codesandbox examples [#732](https://github.com/hshoff/vx/pull/732) [#731](https://github.com/hshoff/vx/pull/731) [#730](https://github.com/hshoff/vx/pull/730) [#729](https://github.com/hshoff/vx/pull/729) [#727](https://github.com/hshoff/vx/pull/727) [#720](https://github.com/hshoff/vx/pull/720)[#720](https://github.com/hshoff/vx/pull/720) [#719](https://github.com/hshoff/vx/pull/719) [#718](https://github.com/hshoff/vx/pull/718) [#717](https://github.com/hshoff/vx/pull/717) [#716](https://github.com/hshoff/vx/pull/716) [#715](https://github.com/hshoff/vx/pull/715) [#714](https://github.com/hshoff/vx/pull/714) [#713](https://github.com/hshoff/vx/pull/713) [#712](https://github.com/hshoff/vx/pull/712) [#711](https://github.com/hshoff/vx/pull/711) [#710](https://github.com/hshoff/vx/pull/710) [#709](https://github.com/hshoff/vx/pull/709) [#708](https://github.com/hshoff/vx/pull/708) [#707](https://github.com/hshoff/vx/pull/707) [#706](https://github.com/hshoff/vx/pull/706) [#705](https://github.com/hshoff/vx/pull/705) [#704](https://github.com/hshoff/vx/pull/704) [#703](https://github.com/hshoff/vx/pull/703) [#702](https://github.com/hshoff/vx/pull/702) [#701](https://github.com/hshoff/vx/pull/701) [#700](https://github.com/hshoff/vx/pull/700) [#699](https://github.com/hshoff/vx/pull/699) [#698](https://github.com/hshoff/vx/pull/698) [#697](https://github.com/hshoff/vx/pull/697) [#696](https://github.com/hshoff/vx/pull/696) [#695](https://github.com/hshoff/vx/pull/695) [#694](https://github.com/hshoff/vx/pull/694) [#693](https://github.com/hshoff/vx/pull/693) [#692](https://github.com/hshoff/vx/pull/692) [#691](https://github.com/hshoff/vx/pull/691) [#690](https://github.com/hshoff/vx/pull/690) [#689](https://github.com/hshoff/vx/pull/689) [#688](https://github.com/hshoff/vx/pull/688) [#687](https://github.com/hshoff/vx/pull/687) [#686](https://github.com/hshoff/vx/pull/686) [#685](https://github.com/hshoff/vx/pull/685) [#684](https://github.com/hshoff/vx/pull/684) [#683](https://github.com/hshoff/vx/pull/683) [#682](https://github.com/hshoff/vx/pull/682) [#681](https://github.com/hshoff/vx/pull/681) [#680](https://github.com/hshoff/vx/pull/680) [#679](https://github.com/hshoff/vx/pull/679) [#678](https://github.com/hshoff/vx/pull/678) [#677](https://github.com/hshoff/vx/pull/677) [#676](https://github.com/hshoff/vx/pull/676) [#675](https://github.com/hshoff/vx/pull/675) [#674](https://github.com/hshoff/vx/pull/674) [#673](https://github.com/hshoff/vx/pull/673) [#672](https://github.com/hshoff/vx/pull/672) [#671](https://github.com/hshoff/vx/pull/671) [#670](https://github.com/hshoff/vx/pull/670) [#679](https://github.com/hshoff/vx/pull/669)

#### :house: Internal

- deps(root): bump yarn.lock, add @types/webpack [#740](https://github.com/hshoff/vx/pull/740)
- fix(demo/package.json): lock next.js version [#740](https://github.com/hshoff/vx/pull/740)
- fix(demo): prettier config updated so lots of minor style updates [#740](https://github.com/hshoff/vx/pull/740)
- fix(demo/next.config.js): fix invalid webpack config error [#740](https://github.com/hshoff/vx/pull/740)
- fix(demo/pages): routes are case sensitive (`/Docs` => `/docs`) [#740](https://github.com/hshoff/vx/pull/740)
- feat(demo/gallery): gallery filter persists on query param `?pkg` instead of local state [#740](https://github.com/hshoff/vx/pull/740)

#### :trophy: Contributors

- [dennisja](https://github.com/dennisja)
- [vodoleev-vladislav](https://github.com/vodoleev-vladislav)
- [williaster](https://github.com/williaster)
- [hshoff](https://github.com/hshoff)

```
Changes: 
 - @vx/annotation: 0.0.196 => 0.0.197
 - @vx/axis: 0.0.196 => 0.0.197
 - @vx/bounds: 0.0.196 => 0.0.197
 - @vx/brush: 0.0.196 => 0.0.197
 - @vx/chord: 0.0.196 => 0.0.197
 - @vx/clip-path: 0.0.196 => 0.0.197
 - @vx/curve: 0.0.196 => 0.0.197
 - @vx/demo: 0.0.196 => 0.0.197
 - @vx/drag: 0.0.196 => 0.0.197
 - @vx/event: 0.0.196 => 0.0.197
 - @vx/geo: 0.0.196 => 0.0.197
 - @vx/glyph: 0.0.196 => 0.0.197
 - @vx/gradient: 0.0.196 => 0.0.197
 - @vx/grid: 0.0.196 => 0.0.197
 - @vx/group: 0.0.196 => 0.0.197
 - @vx/heatmap: 0.0.196 => 0.0.197
 - @vx/hierarchy: 0.0.196 => 0.0.197
 - @vx/legend: 0.0.196 => 0.0.197
 - @vx/marker: 0.0.196 => 0.0.197
 - @vx/mock-data: 0.0.196 => 0.0.197
 - @vx/network: 0.0.196 => 0.0.197
 - @vx/pattern: 0.0.196 => 0.0.197
 - @vx/point: 0.0.196 => 0.0.197
 - @vx/responsive: 0.0.196 => 0.0.197
 - @vx/scale: 0.0.196 => 0.0.197
 - @vx/shape: 0.0.196 => 0.0.197
 - @vx/stats: 0.0.196 => 0.0.197
 - @vx/text: 0.0.196 => 0.0.197
 - @vx/threshold: 0.0.196 => 0.0.197
 - @vx/tooltip: 0.0.196 => 0.0.197
 - @vx/voronoi: 0.0.196 => 0.0.197
 - @vx/vx: 0.0.196 => 0.0.197
 - @vx/zoom: 0.0.16 =>  0.0.19
```

# v0.0.196

#### :trophy: Contributors

- [dennisja](https://github.com/dennisja)
- [maryschmidt](https://github.com/maryschmidt)
- [williaster](https://github.com/williaster)

#### :rocket: Enhancements

- [brush] Add initialBrushPosition [#618](https://github.com/hshoff/vx/pull/618), fix in [#667](https://github.com/hshoff/vx/pull/667)

#### 💥 Breaking Changes
- [tooltip] Add ability to remove tooltip default styles [#666](https://github.com/hshoff/vx/pull/666). If styles were applied previously, you will also need to spread `defaultStyles`:

```jsx
// before
import { Tooltip } from '@vx/tooltip';
...
<Tooltip style={{ color: myCustomColor }} />

// after
import { Tooltip, defaultStyles } from '@vx/tooltip';
...
<Tooltip style={{ ...defaultStyles, color: myCustomColor }} />
```

#### :memo: Documentation

- [demo] Several demos refactored to link out to codesandbox

```
Changes:
 - @vx/annotation: 0.0.195 => 0.0.196
 - @vx/axis: 0.0.195 => 0.0.196
 - @vx/bounds: 0.0.195 => 0.0.196
 - @vx/brush: 0.0.195 => 0.0.196
 - @vx/chord: 0.0.195 => 0.0.196
 - @vx/clip-path: 0.0.195 => 0.0.196
 - @vx/curve: 0.0.195 => 0.0.196
 - @vx/demo: 0.0.195 => 0.0.196
 - @vx/drag: 0.0.195 => 0.0.196
 - @vx/event: 0.0.195 => 0.0.196
 - @vx/geo: 0.0.195 => 0.0.196
 - @vx/glyph: 0.0.195 => 0.0.196
 - @vx/gradient: 0.0.195 => 0.0.196
 - @vx/grid: 0.0.195 => 0.0.196
 - @vx/group: 0.0.195 => 0.0.196
 - @vx/heatmap: 0.0.195 => 0.0.196
 - @vx/hierarchy: 0.0.195 => 0.0.196
 - @vx/legend: 0.0.195 => 0.0.196
 - @vx/marker: 0.0.195 => 0.0.196
 - @vx/mock-data: 0.0.195 => 0.0.196
 - @vx/network: 0.0.195 => 0.0.196
 - @vx/pattern: 0.0.195 => 0.0.196
 - @vx/point: 0.0.195 => 0.0.196
 - @vx/responsive: 0.0.195 => 0.0.196
 - @vx/scale: 0.0.195 => 0.0.196
 - @vx/shape: 0.0.195 => 0.0.196
 - @vx/stats: 0.0.195 => 0.0.196
 - @vx/text: 0.0.195 => 0.0.196
 - @vx/threshold: 0.0.195 => 0.0.196
 - @vx/tooltip: 0.0.195 => 0.0.196
 - @vx/voronoi: 0.0.195 => 0.0.196
 - @vx/vx: 0.0.195 => 0.0.196
 - @vx/zoom: 0.0.195 => 0.0.196
```

# v0.0.195

#### :trophy: Contributors

- [ptmx](https://github.com/ptmx) PR [#631](https://github.com/hshoff/vx/pull/631)

#### :rocket: Enhancements

- [tooltip] `useTooltip` hook added

#### :boom: Breaking Changes

- [tooltip] internally introduces `useState`, requires bumping the `peerDep` for react to `^16.8.0-0`

#### :memo: Documentation

- [tooltip] add `useState` to readme, add advice on HOC vs hooks
- [demo] Rewrite the `BarStack` demo to use `useTooltip` instead of `withTooltip`

```
Changes:
 - @vx/annotation: 0.0.194 => 0.0.195
 - @vx/axis: 0.0.194 => 0.0.195
 - @vx/bounds: 0.0.194 => 0.0.195
 - @vx/brush: 0.0.194 => 0.0.195
 - @vx/chord: 0.0.194 => 0.0.195
 - @vx/clip-path: 0.0.194 => 0.0.195
 - @vx/curve: 0.0.194 => 0.0.195
 - @vx/demo: 0.0.194 => 0.0.195
 - @vx/drag: 0.0.194 => 0.0.195
 - @vx/event: 0.0.194 => 0.0.195
 - @vx/geo: 0.0.194 => 0.0.195
 - @vx/glyph: 0.0.194 => 0.0.195
 - @vx/gradient: 0.0.194 => 0.0.195
 - @vx/grid: 0.0.194 => 0.0.195
 - @vx/group: 0.0.194 => 0.0.195
 - @vx/heatmap: 0.0.194 => 0.0.195
 - @vx/hierarchy: 0.0.194 => 0.0.195
 - @vx/legend: 0.0.194 => 0.0.195
 - @vx/marker: 0.0.194 => 0.0.195
 - @vx/mock-data: 0.0.194 => 0.0.195
 - @vx/network: 0.0.194 => 0.0.195
 - @vx/pattern: 0.0.194 => 0.0.195
 - @vx/point: 0.0.194 => 0.0.195
 - @vx/responsive: 0.0.194 => 0.0.195
 - @vx/scale: 0.0.194 => 0.0.195
 - @vx/shape: 0.0.194 => 0.0.195
 - @vx/stats: 0.0.194 => 0.0.195
 - @vx/text: 0.0.194 => 0.0.195
 - @vx/threshold: 0.0.194 => 0.0.195
 - @vx/tooltip: 0.0.194 => 0.0.195
 - @vx/voronoi: 0.0.194 => 0.0.195
 - @vx/vx: 0.0.194 => 0.0.195
 - @vx/zoom: 0.0.194 => 0.0.195
```

# v0.0.194

#### :trophy: Contributors

- [ptmx](https://github.com/ptmx)
- [dennisja](https://github.com/dennisja)
- [gillesdemey](https://github.com/gillesdemey)
- [mitchellwarr](https://github.com/mitchellwarr)
- [williaster](https://github.com/williaster)

#### :rocket: Enhancements

- [brush] Add resetOnEnd prop [#614](https://github.com/hshoff/vx/pull/614)
- [tooltip] Add hook for custom Tooltip container to support SVG tooltips [#610](https://github.com/hshoff/vx/pull/610)
- [scale] Add sqrtScale [#615](https://github.com/hshoff/vx/pull/615)

#### :bug: Bug Fix

- [zoom] Don't use stale zoom constraint prop [#578](https://github.com/hshoff/vx/pull/578)
- [responsive] Don't render withParentSize base component until size is known [#621](https://github.com/hshoff/vx/pull/621)

```
Changes:
 - @vx/annotation: 0.0.193 => 0.0.194
 - @vx/axis: 0.0.193 => 0.0.194
 - @vx/bounds: 0.0.193 => 0.0.194
 - @vx/brush: 0.0.193 => 0.0.194
 - @vx/chord: 0.0.193 => 0.0.194
 - @vx/clip-path: 0.0.193 => 0.0.194
 - @vx/curve: 0.0.193 => 0.0.194
 - @vx/demo: 0.0.193 => 0.0.194
 - @vx/drag: 0.0.193 => 0.0.194
 - @vx/event: 0.0.193 => 0.0.194
 - @vx/geo: 0.0.193 => 0.0.194
 - @vx/glyph: 0.0.193 => 0.0.194
 - @vx/gradient: 0.0.193 => 0.0.194
 - @vx/grid: 0.0.193 => 0.0.194
 - @vx/group: 0.0.193 => 0.0.194
 - @vx/heatmap: 0.0.193 => 0.0.194
 - @vx/hierarchy: 0.0.193 => 0.0.194
 - @vx/legend: 0.0.193 => 0.0.194
 - @vx/marker: 0.0.193 => 0.0.194
 - @vx/mock-data: 0.0.193 => 0.0.194
 - @vx/network: 0.0.193 => 0.0.194
 - @vx/pattern: 0.0.193 => 0.0.194
 - @vx/point: 0.0.193 => 0.0.194
 - @vx/responsive: 0.0.193 => 0.0.194
 - @vx/scale: 0.0.193 => 0.0.194
 - @vx/shape: 0.0.193 => 0.0.194
 - @vx/stats: 0.0.193 => 0.0.194
 - @vx/text: 0.0.193 => 0.0.194
 - @vx/threshold: 0.0.193 => 0.0.194
 - @vx/tooltip: 0.0.193 => 0.0.194
 - @vx/voronoi: 0.0.193 => 0.0.194
 - @vx/vx: 0.0.193 => 0.0.194
 - @vx/zoom: 0.0.193 => 0.0.194
```

# v0.0.193

See the [TypeScript project](https://github.com/hshoff/vx/projects/2) for a full list of issues + PRs.

#### :trophy: Contributors

- [williaster](https://github.com/williaster)
- [hshoff](https://github.com/hshoff)
- [Rudeg](https://github.com/Rudeg)
- [diagramatics](https://github.com/diagramatics)
- [geekplux](https://github.com/geekplux)
- [dennisja](https://github.com/dennisja)

#### :rocket: Enhancements
- [@vx/*] 
  - **all** packages re-written in TypeScript and export types under `lib/index.d.ts`
  - Many misc bug fixes with improved type safety, most `propTypes` are likely stricter now
- [brush] `@vx/brush` now exports a working `Brush` component :tada:
- [demo] 
  - all gallery demos re-written with `react` `hooks` + types
  - new `@vx/brush` demo is added

#### :memo: Documentation
- [@vx/*] **all** components in all packages now have full doc strings. *note*: these is not yet reflected on the docs site.

#### :boom: Breaking Changes
- [boxplot] `@vx/boxplot` deprecated in favor of `@vx/stats` [#561](https://github.com/hshoff/vx/pull/561)
- [mock-data] `radius` and `distance` values in the `@vx/mock-data` `exoplanet` dataset were updated from strings to numbers to remove the need for consumers to coerce to numbers themselves [#579](https://github.com/hshoff/vx/pull/579)
- [drag] [#499](https://github.com/hshoff/vx/pull/499)
  - now has a peerDep `react@^16.3` for `React.Fragment`, dropping support for `react@^15` 
  - Empty parent `<g>` wrapper around Drag `children` was replaced with a `React.Fragment` which removes a DOM element.
- [pattern] `PatternOrientation` is no longer the default export of `@vx/patterns/lib/constants` and is instead a named export. PatternOrientation is still used as the export name if importing from the index: `import { PatternOrientation } from '@vx/pattern'` [#503](https://github.com/hshoff/vx/pull/503)
- [shape] [#507](https://github.com/hshoff/vx/pull/507)
  - now has a peerDep `react@^16.3` for `React.Fragment`, dropping support for `react@^15` 
  - the `Arc` `centroid` prop was removed as it was not functional (it was called as if it was an `arc.centroid()` configuration parameter, but in reality the `.centroid` method is for returning the centroid of a datum.
  - the `Area` component is no longer wrapped in an empty `<g>` element
  - `order` and `offset` props for `Stack`, `BarStack`, `BarStackHorizontal`, and `AreaStack` previously supported `string`, `array`, or `function`s. Only the `string` prop was functional, and only the enumerated string presets are now allowed.
- [voronoi] now has a peerDep `react@^16.3` for `React.Fragment`, dropping support for `react@^15` [#512](https://github.com/hshoff/vx/pull/512)
- [network] [#535](https://github.com/hshoff/vx/pull/535)
  -  now has a peerDep `react@^16.3` for `React.Fragment`, dropping support for `react@^15` 
  - `<Nodes />` inner node wrapper `<g>` element className changed to singular (vx-network-nodes => vx-network-node) and outer wrapper `<g>` was replaced with a React.Fragment
  - `<Links />` inner link wrapper `<g>` element className changed to singular (vx-network-links => vx-network-link) and outer wrapper `<g>` was replaced with a React.Fragment 
- [glyph] [#518](https://github.com/hshoff/vx/pull/518)
  - now has a peerDep `react@^16.3` for `React.Fragment`, dropping support for `react@^15` 
  - (non-functional) `children` prop removed from `GlyphDot` component 
- [heatmap] now has a peerDep `react@^16.3` for `React.Fragment`, dropping support for `react@^15` [#520](https://github.com/hshoff/vx/pull/520)
- [hierarchy] now has a peerDep `react@^16.3` for `React.Fragment`, dropping support for `react@^15` [#524](https://github.com/hshoff/vx/pull/524)
- [threshold] makes the `Threshold` `id` prop required [#533](https://github.com/hshoff/vx/pull/533)
- [geo] now has a peerDep `react@^16.3` for `React.Fragment`, dropping support for `react@^15` [#537](https://github.com/hshoff/vx/pull/537)
- [legend] [#551](https://github.com/hshoff/vx/pull/551)
  - now has a peerDep `react@^16.3` for `React.Fragment`, dropping support for `react@^15`  
  - the following directory structures were changed which will break deep imports: `src/legends/* => src/*`
- [stats] [#570](https://github.com/hshoff/vx/pull/570)
  - now has a peerDep `react@^16.3` for `React.Fragment`, dropping support for `react@^15`  
  - the following directory structures were changed which will break deep imports
    - `src/violinplot/ViolinPlot.jsx => src/ViolinPlot.tsx`
    - `src/boxplot/BoxPlot.jsx => src/BoxPlot.tsx`

#### :house: Internal
- add `TypeScript` build support to monorepo [#488](https://github.com/hshoff/vx/pull/488)
- [text] Remove deprecated lifecycles used in Text [#576](https://github.com/hshoff/vx/pull/576)

```
Changes:
 - @vx/annotation: 0.0.192 => 0.0.193
 - @vx/axis: 0.0.192 => 0.0.193
 - @vx/bounds: 0.0.192 => 0.0.193
 - @vx/brush: 0.0.192 => 0.0.193
 - @vx/chord: 0.0.192 => 0.0.193
 - @vx/clip-path: 0.0.192 => 0.0.193
 - @vx/curve: 0.0.192 => 0.0.193
 - @vx/demo: 0.0.192 => 0.0.193
 - @vx/drag: 0.0.192 => 0.0.193
 - @vx/event: 0.0.192 => 0.0.193
 - @vx/geo: 0.0.192 => 0.0.193
 - @vx/glyph: 0.0.192 => 0.0.193
 - @vx/gradient: 0.0.192 => 0.0.193
 - @vx/grid: 0.0.192 => 0.0.193
 - @vx/group: 0.0.192 => 0.0.193
 - @vx/heatmap: 0.0.192 => 0.0.193
 - @vx/hierarchy: 0.0.192 => 0.0.193
 - @vx/legend: 0.0.192 => 0.0.193
 - @vx/marker: 0.0.192 => 0.0.193
 - @vx/mock-data: 0.0.192 => 0.0.193
 - @vx/network: 0.0.192 => 0.0.193
 - @vx/pattern: 0.0.192 => 0.0.193
 - @vx/point: 0.0.192 => 0.0.193
 - @vx/responsive: 0.0.192 => 0.0.193
 - @vx/scale: 0.0.192 => 0.0.193
 - @vx/shape: 0.0.192 => 0.0.193
 - @vx/stats: 0.0.192 => 0.0.193
 - @vx/text: 0.0.192 => 0.0.193
 - @vx/threshold: 0.0.192 => 0.0.193
 - @vx/tooltip: 0.0.192 => 0.0.193
 - @vx/voronoi: 0.0.192 => 0.0.193
 - @vx/vx: 0.0.192 => 0.0.193
 - @vx/zoom: 0.0.192 => 0.0.193
```

# v0.0.192

See [#484](https://github.com/hshoff/vx/pull/484) for details.

#### :boom: Breaking Changes

- [breaking] Deprecate `build/` and `dist/`, use `lib/` and `esm/` instead
- [breaking] Deprecate umd builds

#### :house: Internal

- use `babel` not `rollup`
- use `yarn` not `npm`
  - this will enable `workspaces` so that we can push all config to the root instead of duplicating across every package as is the case now
- Stricter linting rules (e.g., `.jsx` required for `React` files)

#### :trophy: Contributors

- [williaster](https://github.com/williaster)

```
Changes:
 - @vx/annotation: 0.0.190 => 0.0.192
 - @vx/axis: 0.0.191 => 0.0.192
 - @vx/bounds: 0.0.189 => 0.0.192
 - @vx/boxplot: 0.0.190 => 0.0.192
 - @vx/brush: 0.0.189 => 0.0.192
 - @vx/chord: 0.0.189 => 0.0.192
 - @vx/clip-path: 0.0.189 => 0.0.192
 - @vx/curve: 0.0.189 => 0.0.192
 - @vx/demo: 0.0.191 => 0.0.192
 - @vx/drag: 0.0.189 => 0.0.192
 - @vx/event: 0.0.189 => 0.0.192
 - @vx/geo: 0.0.190 => 0.0.192
 - @vx/glyph: 0.0.190 => 0.0.192
 - @vx/gradient: 0.0.189 => 0.0.192
 - @vx/grid: 0.0.190 => 0.0.192
 - @vx/group: 0.0.190 => 0.0.192
 - @vx/heatmap: 0.0.190 => 0.0.192
 - @vx/hierarchy: 0.0.190 => 0.0.192
 - @vx/legend: 0.0.190 => 0.0.192
 - @vx/marker: 0.0.190 => 0.0.192
 - @vx/mock-data: 0.0.189 => 0.0.192
 - @vx/network: 0.0.190 => 0.0.192
 - @vx/pattern: 0.0.189 => 0.0.192
 - @vx/point: 0.0.189 => 0.0.192
 - @vx/responsive: 0.0.189 => 0.0.192
 - @vx/scale: 0.0.190 => 0.0.192
 - @vx/shape: 0.0.190 => 0.0.192
 - @vx/stats: 0.0.190 => 0.0.192
 - @vx/text: 0.0.191 => 0.0.192
 - @vx/threshold: 0.0.190 => 0.0.192
 - @vx/tooltip: 0.0.189 => 0.0.192
 - @vx/voronoi: 0.0.190 => 0.0.192
 - @vx/vx: 0.0.191 => 0.0.192
 - @vx/zoom: 0.0.189 => 0.0.192
```

# v0.0.191

See [#487](https://github.com/hshoff/vx/pull/487) for details.

#### :boom: Breaking Changes

- [text] peerDep `react@^16.3`, deprecate react 15
- [text] prefix lifecycle methods with `UNSAFE_`
- [axis] peerDep `react@^16.3`, deprecate react 15 due to @vx/text dep
- [demo] use react 16.9
- [demo] prefix lifecycle methods with `UNSAFE_`

#### :house: Internal

- [internal] update deps: coveralls, lint-staged, marked

#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/axis: 0.0.190 => 0.0.191
 - @vx/demo: 0.0.190 => 0.0.191
 - @vx/text: 0.0.190 => 0.0.191
 - @vx/vx: 0.0.190 => 0.0.191
 ```

# v0.0.190

#### 💥 Breaking Changes

- [scale] [d3-scale 2.2.2 changed](https://github.com/d3/d3-scale/issues/117) the behavior of a collapsed domain. See [this comment](https://github.com/hshoff/vx/issues/473#issuecomment-508203310) for how to handle the updated behavior. [#477](https://github.com/hshoff/vx/pull/477)
- [text] Don't split strings rendered by `<Text />` when encountering a set of non-breaking space characters. [#460](https://github.com/hshoff/vx/pull/460)

#### :rocket: Enhancements

- [group] add innerRef prop. [#480](https://github.com/hshoff/vx/pull/480)
- [scale] bump d3-scale dep to `^2.2.2` for scaleSymlog. [#477](https://github.com/hshoff/vx/pull/477)
- [scale] add scaleSymlog. [#470](https://github.com/hshoff/vx/pull/470)

#### :bug: Bug Fix

- [stats] fix horizontal boxplot in @vx/stats. [#476](https://github.com/hshoff/vx/pull/476)
- [boxplot] fix horizontal boxplot in @vx/boxplot. [#472](https://github.com/hshoff/vx/pull/472)
- [heatmap] remove `bin.x0`. The x0 offset is accounted for in `bin.x`. [#475](https://github.com/hshoff/vx/pull/475)

#### :memo: Documentation

- [docs][group] add innerRef prop. [#480](https://github.com/hshoff/vx/pull/480)
- [axis] fix `tickLabelProps()` prop default args for docs. [#478](https://github.com/hshoff/vx/pull/478)
- [glyph] remove outdated readme description. [#478](https://github.com/hshoff/vx/pull/478)
- [docs] run doc:gen script. [#478](https://github.com/hshoff/vx/pull/478)


#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)
- [robsco-git](https://github.com/robsco-git)
- [LambStack](https://github.com/LambStack)
- [mmarkelov](https://github.com/mmarkelov)

```
Changes:
 - @vx/annotation: 0.0.189 => 0.0.190
 - @vx/axis: 0.0.189 => 0.0.190
 - @vx/boxplot: 0.0.189 => 0.0.190
 - @vx/demo: 0.0.189 => 0.0.190
 - @vx/geo: 0.0.189 => 0.0.190
 - @vx/glyph: 0.0.189 => 0.0.190
 - @vx/grid: 0.0.189 => 0.0.190
 - @vx/group: 0.0.189 => 0.0.190
 - @vx/heatmap: 0.0.189 => 0.0.190
 - @vx/hierarchy: 0.0.189 => 0.0.190
 - @vx/legend: 0.0.189 => 0.0.190
 - @vx/marker: 0.0.189 => 0.0.190
 - @vx/network: 0.0.189 => 0.0.190
 - @vx/scale: 0.0.189 => 0.0.190
 - @vx/shape: 0.0.189 => 0.0.190
 - @vx/stats: 0.0.189 => 0.0.190
 - @vx/text: 0.0.189 => 0.0.190
 - @vx/threshold: 0.0.189 => 0.0.190
 - @vx/voronoi: 0.0.189 => 0.0.190
 - @vx/vx: 0.0.189 => 0.0.190
 ```

# v0.0.189

#### :boom: Breaking Changes

- [shape] `<Arc />` and `<Pie pieValue={} />` props now check for `!== undefined`. Before `0` wouldn't set the prop to `0` because `if (0)` is `false`. This is only a breaking change if you were passing `0` before and happy with `<Arc />` treating that as `undefined` and using d3.arc() defaults. [#464](https://github.com/hshoff/vx/pull/464)
- [zoom] make wheel event active by default. fixes Chrome 73 scroll intervention warning. [#456](https://github.com/hshoff/vx/pull/456)
  + To keep the default behavior before Chrome 73 and remove console warnings in Chrome 73, **remove**: 
    ```diff
    <MyComponent
    - onWheel={zoom.handleWheel}
    />
    ```
  + To make the onWheel events passive, **add**:
    ```diff
    <Zoom
    + passive={true}
    >
      {zoom => {
        return (
          <MyComponent
    +      onWheel={zoom.handleWheel}
          /> 
        );
      }}
    </Zoom>
    ```

#### :rocket: Enhancements

- [responsive][shape][text][geo] update `innerRef` propType to include PropType.object. [#446](https://github.com/hshoff/vx/pull/446)

#### :bug: Bug Fix

- [text] move Babel dependencies to dev only. [#461](https://github.com/hshoff/vx/pull/461)
- [shape] `<Arc />` now respects `0` as an allowed prop value. [#464](https://github.com/hshoff/vx/pull/464)
- [shape] `<Pie />`  `pieValue` now respects `0` as an allowed prop value. [#464](https://github.com/hshoff/vx/pull/464)

#### :memo: Documentation

- [docs] update docs. [#446](https://github.com/hshoff/vx/pull/446)
- [glyph] fixes outdated `@vx/glyph` examples in the readme docs. [#454](https://github.com/hshoff/vx/pull/454)

#### :house: Internal

- [internal] fix jest code coverage, update jest, move to `babel.config.js` + `jest.config.js`. [#439](https://github.com/hshoff/vx/pull/439)
- [internal] babel preset env target `explorer` => `ie`. [#446](https://github.com/hshoff/vx/pull/446)
- [internal] babel preset env target remove `ucandroid`. [#446](https://github.com/hshoff/vx/pull/446)
- [shape] add more `<Arc />` tests. [#464](https://github.com/hshoff/vx/pull/464)
- [shape] convert `Arc.test` from `CRLF` => `LF`. [#464](https://github.com/hshoff/vx/pull/464)

#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)
- [milesj](https://github.com/milesj)

```
Changes:
 - @vx/annotation: 0.0.184 => 0.0.189
 - @vx/axis: 0.0.184 => 0.0.189
 - @vx/bounds: 0.0.182 => 0.0.189
 - @vx/boxplot: 0.0.183 => 0.0.189
 - @vx/brush: 0.0.182 => 0.0.189
 - @vx/chord: 0.0.183 => 0.0.189
 - @vx/clip-path: 0.0.183 => 0.0.189
 - @vx/curve: 0.0.182 => 0.0.189
 - @vx/demo: 0.0.188 => 0.0.189
 - @vx/drag: 0.0.183 => 0.0.189
 - @vx/event: 0.0.182 => 0.0.189
 - @vx/geo: 0.0.187 => 0.0.189
 - @vx/glyph: 0.0.183 => 0.0.189
 - @vx/gradient: 0.0.183 => 0.0.189
 - @vx/grid: 0.0.184 => 0.0.189
 - @vx/group: 0.0.183 => 0.0.189
 - @vx/heatmap: 0.0.183 => 0.0.189
 - @vx/hierarchy: 0.0.183 => 0.0.189
 - @vx/legend: 0.0.183 => 0.0.189
 - @vx/marker: 0.0.184 => 0.0.189
 - @vx/mock-data: 0.0.185 => 0.0.189
 - @vx/network: 0.0.183 => 0.0.189
 - @vx/pattern: 0.0.183 => 0.0.189
 - @vx/point: 0.0.182 => 0.0.189
 - @vx/responsive: 0.0.188 => 0.0.189
 - @vx/scale: 0.0.182 => 0.0.189
 - @vx/shape: 0.0.184 => 0.0.189
 - @vx/stats: 0.0.183 => 0.0.189
 - @vx/text: 0.0.183 => 0.0.189
 - @vx/threshold: 0.0.184 => 0.0.189
 - @vx/tooltip: 0.0.184 => 0.0.189
 - @vx/voronoi: 0.0.183 => 0.0.189
 - @vx/vx: 0.0.188 => 0.0.189
 - @vx/zoom: 0.0.185 => 0.0.189
```

# v0.0.188

#### :bug: Bug Fix

- [responsive] add debounceTime back to prevent it spreading on children through restProps. [#437](https://github.com/hshoff/vx/pull/437)

#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/demo: 0.0.187 => 0.0.188
 - @vx/responsive: 0.0.186 => 0.0.188
 - @vx/vx: 0.0.187 => 0.0.188
 ```

# v0.0.187

#### :rocket: Enhancements

- [geo] add `<CustomProjection projection={someProjectionFunction} />`. [#434](https://github.com/hshoff/vx/pull/434)

#### :memo: Documentation

- [demo] add `<CustomProjection />` tile. [#434](https://github.com/hshoff/vx/pull/434)

#### :house: Internal

- [geo] add `<CustomProjection />` test. [#435](https://github.com/hshoff/vx/pull/435)


#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/demo: 0.0.186 => 0.0.187
 - @vx/geo: 0.0.184 => 0.0.187
 - @vx/vx: 0.0.186 => 0.0.187
 ```

# v0.0.186

#### :memo: Documentation

- [demo] cleanup DragII demo. [#424](https://github.com/hshoff/vx/pull/424)
- [demo] fixed broken BarStacks example. Bar Stack Horizontal example works correct, but BarStack for some reason uses `({ barStacks })` instead of `barStacks`. [#423](https://github.com/hshoff/vx/pull/423)

#### :bug: Bug Fix

- [responsive] `<ParentSize />` replace `for..of` with `forEach()` to fix IE11 error without having to sham `Symbol`. More info: https://github.com/hshoff/vx/issues/258 [#428](https://github.com/hshoff/vx/pull/428)

#### :trophy: Contributors

- [EugeneDraitsev](https://github.com/EugeneDraitsev)
- [dennisja](https://github.com/dennisja)
- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/demo: 0.0.185 => 0.0.186
 - @vx/responsive: 0.0.184 => 0.0.186
 - @vx/vx: 0.0.185 => 0.0.186
 ```

# v0.0.185

#### :rocket: Enhancements

- [zoom] add `<Zoom />`. [#418](https://github.com/hshoff/vx/pull/418)
- [mock data] add `genPhyllotaxis()`. [#418](https://github.com/hshoff/vx/pull/418)

#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/demo: 0.0.184 => 0.0.185
 - @vx/mock-data: 0.0.182 => 0.0.185
 - @vx/vx: 0.0.184 => 0.0.185
 - @vx/zoom: 0.0.182 => 0.0.185
 ```

# v0.0.184

#### :rocket: Enhancements

- [geo] add `albersUsa` projection in d3-geo to @vx/geo. [#415](https://github.com/hshoff/vx/pull/415)
- [geo] add `equalEarth` projection in d3-geo to @vx/geo. [#407](https://github.com/hshoff/vx/pull/407)

#### :bug: Bug Fix

- [shape] fix proptype for LinePath `defined` prop. Should use `oneOfType` rather than `oneOf`. [#414](https://github.com/hshoff/vx/pull/414)
- [demo] remove unnecessary destructuring of props in demo code. [#409](https://github.com/hshoff/vx/pull/409)
- [responsive] fix proptype for ScaleSVG `children` prop. [#408](https://github.com/hshoff/vx/pull/408)

#### :memo: Documentation

- [tooltip] fix tooltip docs. [#403](https://github.com/hshoff/vx/pull/403)

#### :trophy: Contributors

- [lorenries](https://github.com/lorenries)
- [spiderbites](https://github.com/spiderbites)
- [pajkicdj](https://github.com/pajkicdj)
- [mmarkelov](https://github.com/mmarkelov)
- [dennisja](https://github.com/dennisja)

```
Changes:
 - @vx/annotation: 0.0.183 => 0.0.184
 - @vx/axis: 0.0.183 => 0.0.184
 - @vx/demo: 0.0.183 => 0.0.184
 - @vx/geo: 0.0.183 => 0.0.184
 - @vx/grid: 0.0.183 => 0.0.184
 - @vx/marker: 0.0.183 => 0.0.184
 - @vx/responsive: 0.0.183 => 0.0.184
 - @vx/shape: 0.0.183 => 0.0.184
 - @vx/threshold: 0.0.183 => 0.0.184
 - @vx/tooltip: 0.0.182 => 0.0.184
 - @vx/vx: 0.0.183 => 0.0.184
```

# v0.0.183

#### :rocket: Enhancements

- [responsive] add `innerRef` prop to `<ScaleSVG />`. [#393](https://github.com/hshoff/vx/pull/393)

#### :memo: Documentation

- [docs] use [react-docgen](https://github.com/reactjs/react-docgen) to generate docs from prop-types and comments. [#399](https://github.com/hshoff/vx/pull/399)
- [responsive][docs] add innerRef prop docs. [#400](https://github.com/hshoff/vx/pull/400)
- [threshold][docs] update `clipAboveTo` and `clipBelowTo` prop types to `number|func`. [#401](https://github.com/hshoff/vx/pull/401)

#### :house: Internal

- [docs] add script to sync files -> docs -> readme -> [vx-demo.now.sh/docs](https://vx-demo.now.sh/docs). [#399](https://github.com/hshoff/vx/pull/399)


#### :trophy: Contributors

- [dagda1](https://github.com/dagda1)
- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/annotation: 0.0.182 => 0.0.183
 - @vx/axis: 0.0.182 => 0.0.183
 - @vx/boxplot: 0.0.182 => 0.0.183
 - @vx/chord: 0.0.182 => 0.0.183
 - @vx/clip-path: 0.0.182 => 0.0.183
 - @vx/demo: 0.0.182 => 0.0.183
 - @vx/drag: 0.0.182 => 0.0.183
 - @vx/geo: 0.0.182 => 0.0.183
 - @vx/glyph: 0.0.182 => 0.0.183
 - @vx/gradient: 0.0.182 => 0.0.183
 - @vx/grid: 0.0.182 => 0.0.183
 - @vx/group: 0.0.182 => 0.0.183
 - @vx/heatmap: 0.0.182 => 0.0.183
 - @vx/hierarchy: 0.0.182 => 0.0.183
 - @vx/legend: 0.0.182 => 0.0.183
 - @vx/marker: 0.0.182 => 0.0.183
 - @vx/network: 0.0.182 => 0.0.183
 - @vx/pattern: 0.0.182 => 0.0.183
 - @vx/responsive: 0.0.182 => 0.0.183
 - @vx/shape: 0.0.182 => 0.0.183
 - @vx/stats: 0.0.182 => 0.0.183
 - @vx/text: 0.0.182 => 0.0.183
 - @vx/threshold: 0.0.182 => 0.0.183
 - @vx/voronoi: 0.0.182 => 0.0.183
 - @vx/vx: 0.0.182 => 0.0.183
```

# v0.0.182

#### :bug: Bug Fix

- [tooltip] fractional pixel values can sometimes lead to shaky rendering when using Firefox. [#389](https://github.com/hshoff/vx/pull/389)

#### :memo: Documentation

- [gallery] add `<BarStackHorizontal />` example code back. [#387](https://github.com/hshoff/vx/pull/387)
- [readme] add a new demo of a project using vx components. [#391](https://github.com/hshoff/vx/pull/391)

#### :house: Internal

- [internal] upgrade to [babel@7](https://babeljs.io/docs/en/v7-migration.html). [#387](https://github.com/hshoff/vx/pull/387)

#### :trophy: Contributors

- [abradley](https://github.com/abradley)
- [JayWelsh](https://github.com/JayWelsh)
- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/annotation: 0.0.181 => 0.0.182
 - @vx/axis: 0.0.181 => 0.0.182
 - @vx/bounds: 0.0.165 => 0.0.182
 - @vx/boxplot: 0.0.181 => 0.0.182
 - @vx/brush: 0.0.179 => 0.0.182
 - @vx/chord: 0.0.166 => 0.0.182
 - @vx/clip-path: 0.0.165 => 0.0.182
 - @vx/curve: 0.0.165 => 0.0.182
 - @vx/demo: 0.0.181 => 0.0.182
 - @vx/drag: 0.0.179 => 0.0.182
 - @vx/event: 0.0.179 => 0.0.182
 - @vx/geo: 0.0.181 => 0.0.182
 - @vx/glyph: 0.0.181 => 0.0.182
 - @vx/gradient: 0.0.165 => 0.0.182
 - @vx/grid: 0.0.181 => 0.0.182
 - @vx/group: 0.0.170 => 0.0.182
 - @vx/heatmap: 0.0.181 => 0.0.182
 - @vx/hierarchy: 0.0.181 => 0.0.182
 - @vx/legend: 0.0.181 => 0.0.182
 - @vx/marker: 0.0.181 => 0.0.182
 - @vx/mock-data: 0.0.179 => 0.0.182
 - @vx/network: 0.0.179 => 0.0.182
 - @vx/pattern: 0.0.179 => 0.0.182
 - @vx/point: 0.0.165 => 0.0.182
 - @vx/responsive: 0.0.179 => 0.0.182
 - @vx/scale: 0.0.179 => 0.0.182
 - @vx/shape: 0.0.181 => 0.0.182
 - @vx/stats: 0.0.181 => 0.0.182
 - @vx/text: 0.0.179 => 0.0.182
 - @vx/threshold: 0.0.181 => 0.0.182
 - @vx/tooltip: 0.0.179 => 0.0.182
 - @vx/voronoi: 0.0.181 => 0.0.182
 - @vx/vx: 0.0.181 => 0.0.182
 - @vx/zoom: 0.0.165 => 0.0.182
```

# v0.0.181

For a summary and before + after of changes please see: https://github.com/hshoff/vx/pull/383

#### :boom: Breaking Changes

- [glyph][breaking] rm additionalProps, add children as fn 
- [shape][breaking] rm additionalProps, add children as fn 
- [geo][breaking] rm additionalProps, add children as fn 
- [heatmap][breaking] rm additionalProps, add children as fn 
- [stats][breaking] rm additionalProps, add children as fn 
- [boxplot][breaking] rm additionalProps, add children as fn 
- [voronoi][breaking] rm additionalProps, add children as fn 
- [legend][breaking] rm additionalProps, add children as fn 

#### :house: Internal

- [demo] update gallery tile examples to new apis

#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/annotation: 0.0.179 => 0.0.181
 - @vx/axis: 0.0.179 => 0.0.181
 - @vx/boxplot: 0.0.170 => 0.0.181
 - @vx/demo: 0.0.180 => 0.0.181
 - @vx/geo: 0.0.179 => 0.0.181
 - @vx/glyph: 0.0.179 => 0.0.181
 - @vx/grid: 0.0.180 => 0.0.181
 - @vx/heatmap: 0.0.179 => 0.0.181
 - @vx/hierarchy: 0.0.179 => 0.0.181
 - @vx/legend: 0.0.179 => 0.0.181
 - @vx/marker: 0.0.179 => 0.0.181
 - @vx/shape: 0.0.179 => 0.0.181
 - @vx/stats: 0.0.179 => 0.0.181
 - @vx/threshold: 0.0.179 => 0.0.181
 - @vx/voronoi: 0.0.170 => 0.0.181
 - @vx/vx: 0.0.180 => 0.0.181
```

# v0.0.180

#### :rocket: Enhancements

- [grid] allow passing in `tickValues` prop to both Columns and Rows, to render grid lines at specific values. [#376](https://github.com/hshoff/vx/pull/376)
- [grid] allow passing in `rowTickValues` prop and `columnTickValues` prop to Grid. [#376](https://github.com/hshoff/vx/pull/376)
- [grid] update vx-grid's Readme.md to reflect the changes above.[#376](https://github.com/hshoff/vx/pull/376)

#### :bug: Bug Fix

- [grid] updates `strokeWidth` `propTypes` in the `@vx/grid` components to allow numbers in addition to strings. [#380](https://github.com/hshoff/vx/pull/380)

#### :trophy: Contributors

- [robinsoncol](https://github.com/robinsoncol)
- [williaster](https://github.com/williaster)

```
Changes:
 - @vx/demo: 0.0.179 => 0.0.180
 - @vx/grid: 0.0.179 => 0.0.180
 - @vx/vx: 0.0.179 => 0.0.180
 ```

# v0.0.179

#### :boom: Breaking Changes

- [vx] there's a possibility that new prop type checks might not be as care free as before. [#371](https://github.com/hshoff/vx/pull/371)

#### :rocket: Enhancements

- [vx] add missing `propTypes` to all components. [#371](https://github.com/hshoff/vx/pull/371)

#### :house: Internal

- [vx] add `.eslintrc`. [#371](https://github.com/hshoff/vx/pull/371)
- [vx] fix all eslint errors + warnings. [#371](https://github.com/hshoff/vx/pull/371)

#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/annotation: 0.0.178 => 0.0.179
 - @vx/axis: 0.0.178 => 0.0.179
 - @vx/brush: 0.0.165 => 0.0.179
 - @vx/demo: 0.0.178 => 0.0.179
 - @vx/drag: 0.0.165 => 0.0.179
 - @vx/event: 0.0.165 => 0.0.179
 - @vx/geo: 0.0.170 => 0.0.179
 - @vx/glyph: 0.0.170 => 0.0.179
 - @vx/grid: 0.0.178 => 0.0.179
 - @vx/heatmap: 0.0.173 => 0.0.179
 - @vx/hierarchy: 0.0.170 => 0.0.179
 - @vx/legend: 0.0.178 => 0.0.179
 - @vx/marker: 0.0.178 => 0.0.179
 - @vx/mock-data: 0.0.165 => 0.0.179
 - @vx/network: 0.0.172 => 0.0.179
 - @vx/pattern: 0.0.165 => 0.0.179
 - @vx/responsive: 0.0.177 => 0.0.179
 - @vx/scale: 0.0.178 => 0.0.179
 - @vx/shape: 0.0.178 => 0.0.179
 - @vx/stats: 0.0.178 => 0.0.179
 - @vx/text: 0.0.175 => 0.0.179
 - @vx/threshold: 0.0.178 => 0.0.179
 - @vx/tooltip: 0.0.165 => 0.0.179
 - @vx/vx: 0.0.178 => 0.0.179
```

# v0.0.178

#### :rocket: Enhancements

- [scale] add `type` property. [#367](https://github.com/hshoff/vx/pull/367)
- [legend] add optional `flex` prop for overriding `flex` css property to `<LegendLabel />`. [#370](https://github.com/hshoff/vx/pull/370)
- [shape] add support for non-scaleBand scales to `<BarStack />` and `<BarStackHorizontal />`. [#368](https://github.com/hshoff/vx/pull/368)

#### :bug: Bug Fix

- [legend] allow overriding flex property to fix [IE flexbox bug](https://stackoverflow.com/questions/39192995/flex-container-wont-expand-to-fit-content-in-ie). IE 11 does not seem to expand to minimum content width when flex-basis is 0px (this is the case when using the shorthand `flex: 1`). [#370](https://github.com/hshoff/vx/pull/370)

#### :trophy: Contributors

- [jdmoody](https://github.com/jdmoody)
- [lucafalasco](https://github.com/lucafalasco)

```
Changes:
 - @vx/annotation: 0.0.176 => 0.0.178
 - @vx/axis: 0.0.176 => 0.0.178
 - @vx/demo: 0.0.177 => 0.0.178
 - @vx/grid: 0.0.176 => 0.0.178
 - @vx/legend: 0.0.170 => 0.0.178
 - @vx/marker: 0.0.176 => 0.0.178
 - @vx/scale: 0.0.165 => 0.0.178
 - @vx/shape: 0.0.176 => 0.0.178
 - @vx/stats: 0.0.170 => 0.0.178
 - @vx/threshold: 0.0.176 => 0.0.178
 - @vx/vx: 0.0.177 => 0.0.178
```

# v0.0.177

#### :rocket: Enhancements

- [responsive] add rest props to `<ParentSize />` wrapper internal div. [#363](https://github.com/hshoff/vx/pull/363), [#365](https://github.com/hshoff/vx/pull/365)

#### :trophy: Contributors

- [giulioz](https://github.com/giulioz)
- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/demo: 0.0.176 => 0.0.177
 - @vx/responsive: 0.0.175 => 0.0.177
 - @vx/vx: 0.0.176 => 0.0.177
```

# v0.0.176

#### :bug: Bug Fix

- [shape] fix for `<Polygon />` rest props

#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/annotation: 0.0.175 => 0.0.176
 - @vx/axis: 0.0.175 => 0.0.176
 - @vx/demo: 0.0.175 => 0.0.176
 - @vx/grid: 0.0.175 => 0.0.176
 - @vx/marker: 0.0.175 => 0.0.176
 - @vx/shape: 0.0.175 => 0.0.176
 - @vx/threshold: 0.0.175 => 0.0.176
 - @vx/vx: 0.0.175 => 0.0.176
 ```

# v0.0.175

#### :boom: Breaking Changes

- [responsive] Rewrite withParentSize using ResizeObserver. `withParentSize()` changed `windowResizeDebounceTime` prop to `debounceTime` to match `<ParentSize />`. [#348](https://github.com/hshoff/vx/pull/348)

#### :bug: Bug Fix

- [axis] fix `labelTransform` function in *@vx/axis* to correctly align the axis label when different values for the scale's *range* are specified, in particular when it does not start (or end) with a 0. [#349](https://github.com/hshoff/vx/pull/349)
- [text] change measurement svg `display: none` =>  `position: absolute` and position the svg offscreen. [#358](https://github.com/hshoff/vx/pull/358)

#### :rocket: Enhancements

- [shape] add `<Polygon />` component. [#355](https://github.com/hshoff/vx/pull/355)

#### :memo: Documentation

- [demo] update /boxplot example code. [#354](https://github.com/hshoff/vx/pull/354)
- [demo] add /polygons example. [#355](https://github.com/hshoff/vx/pull/355)

#### :house: Internal

- [dev] add linting. [#346](https://github.com/hshoff/vx/pull/346)

#### :trophy: Contributors

- [lucafalasco](https://github.com/lucafalasco)
- [marcofugaro](https://github.com/marcofugaro)
- [geekplux](https://github.com/geekplux)
- [ezy](https://github.com/ezy)
- [dagda1](https://github.com/dagda1)
- [mmartinsky](https://github.com/mmartinsky)
- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/annotation: 0.0.171 => 0.0.175
 - @vx/axis: 0.0.173 => 0.0.175
 - @vx/demo: 0.0.174 => 0.0.175
 - @vx/grid: 0.0.171 => 0.0.175
 - @vx/marker: 0.0.171 => 0.0.175
 - @vx/responsive: 0.0.172 => 0.0.175
 - @vx/shape: 0.0.171 => 0.0.175
 - @vx/text: 0.0.173 => 0.0.175
 - @vx/threshold: 0.0.174 => 0.0.175
 - @vx/vx: 0.0.173 => 0.0.175
```

# v0.0.174

#### :rocket: Enhancements

- [threshold] add id prop for unique clip-path ids. [#342](https://github.com/hshoff/vx/pull/342)

#### :memo: Documentation

- [demo] update heatmap example code to match new api. [#340](https://github.com/hshoff/vx/pull/340)

#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/demo: 0.0.173 => 0.0.174
 - @vx/threshold: 0.0.171 => 0.0.174
```

# v0.0.173

#### :boom: Breaking Changes

- [heatmap] simplify `heatmap` API. [#332](https://github.com/hshoff/vx/pull/332)

#### :rocket: Enhancements

- [text] add innerRef prop. [#339](https://github.com/hshoff/vx/pull/339)

#### :memo: Documentation

- [docs] add code coverage demo to readme. [#337](https://github.com/hshoff/vx/pull/337)

#### :trophy: Contributors

- [jens-ox](https://github.com/jens-ox)
- [ezy](https://github.com/ezy)
- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/axis: 0.0.171 => 0.0.173
 - @vx/demo: 0.0.172 => 0.0.173
 - @vx/heatmap: 0.0.170 => 0.0.173
 - @vx/text: 0.0.165 => 0.0.173
 - @vx/vx: 0.0.172 => 0.0.173
 ```

# v0.0.172

#### :bug: Bug Fix

- [responsive] Avoid `ResizeObserver` loop limit exceeded. The issues surfaces on Chrome version >=64. [#335](https://github.com/hshoff/vx/pull/335)

#### :memo: Documentation

- [network] remove unrelated docs from readme. [#330](https://github.com/hshoff/vx/pull/330)

#### :trophy: Contributors

- [kristw](https://github.com/kristw)
- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/demo: 0.0.171 => 0.0.172
 - @vx/network: 0.0.170 => 0.0.172
 - @vx/responsive: 0.0.165 => 0.0.172
 - @vx/vx: 0.0.171 => 0.0.172
```

# v0.0.171

#### :bug: Bug Fix

- [shape] `<Pie />` allow null sort callbacks. `<Pie pieSort={null} pieSortValues={null} />` isn't ignored. [#327](https://github.com/hshoff/vx/pull/327)

#### :trophy: Contributors

- [Gosha](https://github.com/Gosha)

```
Changes:
 - @vx/annotation: 0.0.170 => 0.0.171
 - @vx/axis: 0.0.170 => 0.0.171
 - @vx/demo: 0.0.170 => 0.0.171
 - @vx/grid: 0.0.170 => 0.0.171
 - @vx/marker: 0.0.170 => 0.0.171
 - @vx/shape: 0.0.170 => 0.0.171
 - @vx/threshold: 0.0.170 => 0.0.171
 - @vx/vx: 0.0.170 => 0.0.171
 ```

# v0.0.170

#### :rocket: Enhancements

- [shape] add `<BarGroupHorizontal />` component. [#320](https://github.com/hshoff/vx/pull/320)
- [shape] add optional `y0` prop to `<AreaClosed />` for custom area fills. [#319](https://github.com/hshoff/vx/pull/319)

#### :bug: Bug Fix

- [group] <possibly breaking change> fix `<Group />` classname. should be `vx-group`, not `cx-group`. [#316](https://github.com/hshoff/vx/pull/316)

#### :memo: Documentation

- [docs] run readme docs sync. [#325](https://github.com/hshoff/vx/pull/325)
- [stats] update `@vx/stats` readme name to stats. [#324](https://github.com/hshoff/vx/pull/324)
- [shape] add docs for `<BarGroup />` and `<BarGroupHorizontal />`. [#320](https://github.com/hshoff/vx/pull/320)

#### :trophy: Contributors

- [sdd](https://github.com/sdd)
- [rjatkinson2](https://github.com/rjatkinson2)
- [spiderbites](https://github.com/spiderbites)
- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/annotation: 0.0.168 => 0.0.170
 - @vx/axis: 0.0.168 => 0.0.170
 - @vx/boxplot: 0.0.165 => 0.0.170
 - @vx/demo: 0.0.169 => 0.0.170
 - @vx/geo: 0.0.166 => 0.0.170
 - @vx/glyph: 0.0.165 => 0.0.170
 - @vx/grid: 0.0.169 => 0.0.170
 - @vx/group: 0.0.165 => 0.0.170
 - @vx/heatmap: 0.0.166 => 0.0.170
 - @vx/hierarchy: 0.0.165 => 0.0.170
 - @vx/legend: 0.0.167 => 0.0.170
 - @vx/marker: 0.0.168 => 0.0.170
 - @vx/network: 0.0.165 => 0.0.170
 - @vx/shape: 0.0.168 => 0.0.170
 - @vx/stats: 0.0.165 => 0.0.170
 - @vx/threshold: 0.0.168 => 0.0.170
 - @vx/voronoi: 0.0.165 => 0.0.170
 - @vx/vx: 0.0.169 => 0.0.170
 ```

# v0.0.169

#### :bug: Bug Fix

- [grid] include `build/` dir in package. [#315](https://github.com/hshoff/vx/pull/315)

#### :trophy: Contributors

- [williaster](https://github.com/williaster)

```
Changes:
 - @vx/demo: 0.0.168 => 0.0.169
 - @vx/grid: 0.0.168 => 0.0.169
 - @vx/vx: 0.0.168 => 0.0.169
 ```

# v0.0.168

#### :rocket: Enhancements

- [shape] add optional render function as child of `<Pie />` to allow more fine grained control of rendering. [#311](https://github.com/hshoff/vx/pull/311)

#### :trophy: Contributors

- [psachs21](https://github.com/psachs21)

```
Changes:
 - @vx/annotation: 0.0.166 => 0.0.168
 - @vx/axis: 0.0.166 => 0.0.168
 - @vx/demo: 0.0.167 => 0.0.168
 - @vx/grid: 0.0.166 => 0.0.168
 - @vx/marker: 0.0.166 => 0.0.168
 - @vx/shape: 0.0.166 => 0.0.168
 - @vx/threshold: 0.0.166 => 0.0.168
 - @vx/vx: 0.0.167 => 0.0.168
```

# v0.0.167

#### :bug: Bug Fix

- [legend] spread style prop on rect legend shape. [#313](https://github.com/hshoff/vx/pull/313)

#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/demo: 0.0.166 => 0.0.167
 - @vx/legend: 0.0.165 => 0.0.167
 - @vx/vx: 0.0.166 => 0.0.167
```

# v0.0.166

#### :rocket: Enhancements

- [chord] add `@vx/chord` - `<Chord />`, `<Ribbon />`. [#308](https://github.com/hshoff/vx/pull/308)
- [demo][shape] add chord demo, fix prop types. [#308](https://github.com/hshoff/vx/pull/308)
- [shape] updated accessors to pass all the arguments from D3 for LinePath, AreaClosed, and Area. [#309](https://github.com/hshoff/vx/pull/309)
- [heatmap] add index + yBin to heatmap circle/rect. [#307](https://github.com/hshoff/vx/pull/307)
- [geo] add Natural Earth (1) projection. [#304](https://github.com/hshoff/vx/pull/304)

#### :memo: Documentation

- [shape] Updated documentation for LinePath and AreaClosed. [#309](https://github.com/hshoff/vx/pull/309)

#### :trophy: Contributors
 
- [davidandrus](https://github.com/davidandrus)
- [JacquiManzi](https://github.com/JacquiManzi)
- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/annotation: 0.0.165 => 0.0.166
 - @vx/axis: 0.0.165 => 0.0.166
 - @vx/chord: 0.0.1 => 0.0.166
 - @vx/demo: 0.0.165 => 0.0.166
 - @vx/geo: 0.0.165 => 0.0.166
 - @vx/grid: 0.0.165 => 0.0.166
 - @vx/heatmap: 0.0.165 => 0.0.166
 - @vx/marker: 0.0.165 => 0.0.166
 - @vx/shape: 0.0.165 => 0.0.166
 - @vx/threshold: 0.0.165 => 0.0.166
 - @vx/vx: 0.0.165 => 0.0.166
 ```

# v0.0.165

#### :rocket: Enhancements

- [text] export getStringWidth() util. [#301](https://github.com/hshoff/vx/pull/301)

#### :house: Internal

- [build] use [rollup](http://rollupjs.org/) for build [#298](https://github.com/hshoff/vx/pull/298)
  - adds `dist/vx-{name}.{umd,es}.js` files
  - adds `module` field to `package.json` that points to `dist/vx-{name}.es.js` for bundlers that support it (webpack, rollup, etc)
  - `main` field points to `dist/vx-{name}.umd.js`
  - removes [`react-fatigue-dev`](https://github.com/tj/react-fatigue-dev) + Makefile build (means you can build on windows now)
  - build targets  `"android": 30, "chrome": 35, "edge": 14, "explorer": 9, "firefox": 52, "safari": 8, "ucandroid": 1` (matching [airbnb-babel-preset](https://github.com/airbnb/babel-preset-airbnb/blob/master/index.js#L9-L17))
  - keeps `build/` with `cjs` babel build files for [deep paths](https://github.com/hshoff/vx/issues/143#issuecomment-367649444) (no breaking changes 🤞)
  
#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/annotation: 0.0.165-beta.1 => 0.0.165
 - @vx/axis: 0.0.165-beta.1 => 0.0.165
 - @vx/bounds: 0.0.165-beta.1 => 0.0.165
 - @vx/boxplot: 0.0.165-beta.1 => 0.0.165
 - @vx/brush: 0.0.165-beta.1 => 0.0.165
 - @vx/clip-path: 0.0.165-beta.1 => 0.0.165
 - @vx/curve: 0.0.165-beta.1 => 0.0.165
 - @vx/demo: 0.0.165-beta.1 => 0.0.165
 - @vx/drag: 0.0.165-beta.1 => 0.0.165
 - @vx/event: 0.0.165-beta.1 => 0.0.165
 - @vx/geo: 0.0.165-beta.1 => 0.0.165
 - @vx/glyph: 0.0.165-beta.1 => 0.0.165
 - @vx/gradient: 0.0.165-beta.1 => 0.0.165
 - @vx/grid: 0.0.165-beta.1 => 0.0.165
 - @vx/group: 0.0.165-beta.1 => 0.0.165
 - @vx/heatmap: 0.0.165-beta.1 => 0.0.165
 - @vx/hierarchy: 0.0.165-beta.1 => 0.0.165
 - @vx/legend: 0.0.165-beta.1 => 0.0.165
 - @vx/marker: 0.0.165-beta.1 => 0.0.165
 - @vx/mock-data: 0.0.165-beta.1 => 0.0.165
 - @vx/network: 0.0.165-beta.1 => 0.0.165
 - @vx/pattern: 0.0.165-beta.1 => 0.0.165
 - @vx/point: 0.0.165-beta.1 => 0.0.165
 - @vx/responsive: 0.0.165-beta.1 => 0.0.165
 - @vx/scale: 0.0.165-beta.1 => 0.0.165
 - @vx/shape: 0.0.165-beta.1 => 0.0.165
 - @vx/stats: 0.0.165-beta.1 => 0.0.165
 - @vx/text: 0.0.165-beta.1 => 0.0.165
 - @vx/threshold: 0.0.165-beta.1 => 0.0.165
 - @vx/tooltip: 0.0.165-beta.1 => 0.0.165
 - @vx/voronoi: 0.0.165-beta.1 => 0.0.165
 - @vx/vx: 0.0.165-beta.1 => 0.0.165
 - @vx/zoom: 0.0.165-beta.1 => 0.0.165
```

# v0.0.164

#### :rocket: Enhancements

- [shape] Add support for `startAngle` and `endAngle` props in the `Pie` component. [#292](https://github.com/hshoff/vx/pull/292)
- [shape] Add support for `pieSortValues` prop. This maps to d3’s `pie.sortValues()` which lets you sort by extracted values instead of data. [#292](https://github.com/hshoff/vx/pull/292)

#### :bug: Bug Fix

- [shape] Add _actual_ support for `startAngle` and `endAngle` props in the `Pie` component. [#292](https://github.com/hshoff/vx/pull/292)
- [shape] Check for `!= null` for numeric props in `Pie` component. [#292](https://github.com/hshoff/vx/pull/292)

#### :memo: Documentation

- [shape] Fix `LineRadial` link. [#297](https://github.com/hshoff/vx/pull/297)
- [shape] Make `<code>` inside headings bigger than `<code>` inside paragraphs so components headings are actually clearer as such… [#297](https://github.com/hshoff/vx/pull/297)
- [shape] Add Pie documentation. [#297](https://github.com/hshoff/vx/pull/297)

#### :white_check_mark: Tests

- [shape] Add tests for sort callbacks in the `Pie` component. [#292](https://github.com/hshoff/vx/pull/292)

#### :trophy: Contributors

- [yuchi](https://github.com/yuchi)

```
Changes:
 - @vx/annotation: 0.0.162 => 0.0.164
 - @vx/axis: 0.0.162 => 0.0.164
 - @vx/demo: 0.0.163 => 0.0.164
 - @vx/grid: 0.0.162 => 0.0.164
 - @vx/marker: 0.0.162 => 0.0.164
 - @vx/shape: 0.0.162 => 0.0.164
 - @vx/threshold: 0.0.162 => 0.0.164
 - @vx/vx: 0.0.163 => 0.0.164
 ```

# v0.0.163

#### :bug: Bug Fix

- [tooltip] don't pass `getRects` func prop from `withBoundingRects` to `Tooltip` [#290](https://github.com/hshoff/vx/pull/290)

#### :trophy: Contributors

- [williaster](https://github.com/williaster)

```
Changes:
 - @vx/demo: 0.0.162 => 0.0.163
 - @vx/tooltip: 0.0.161 => 0.0.163
 - @vx/vx: 0.0.162 => 0.0.163
```

# v0.0.162

#### :rocket: Enhancements

- [threshold] add `<Threshold />` [#285](https://github.com/hshoff/vx/pull/285)
- [grid] add support for band scales [#282](https://github.com/hshoff/vx/pull/282)
- [shape] <Area /> now supports function as children [#285](https://github.com/hshoff/vx/pull/285)

#### :memo: Documentation

- [demo] add /threshold demo [#285](https://github.com/hshoff/vx/pull/285)
- [demo] demo band scale grid on /barstack [#282](https://github.com/hshoff/vx/pull/282)

#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)

```
Changes:
 - @vx/annotation: 0.0.161 => 0.0.162
 - @vx/axis: 0.0.161 => 0.0.162
 - @vx/demo: 0.0.161 => 0.0.162
 - @vx/grid: 0.0.161 => 0.0.162
 - @vx/marker: 0.0.161 => 0.0.162
 - @vx/shape: 0.0.161 => 0.0.162
 - @vx/threshold: 0.0.1 => 0.0.162
 - @vx/vx: 0.0.161 => 0.0.162
```

# v0.0.161

#### :boom: Breaking Changes

- [scale] Removed color scales, recommend users to use [`d3-scale-chromatic`](https://github.com/d3/d3-scale-chromatic), following d3's lead in release [5.0.0](https://github.com/d3/d3/releases/tag/v5.0.0). [#270](https://github.com/hshoff/vx/pull/270)
- [scale] The following files/tests/documentation are no longer part of `@vx/scale`: `schemeCategory10`, `schemeCategory20`, `schemeCategory20b`, `schemeCategory20c`. [#270](https://github.com/hshoff/vx/pull/270)

#### :rocket: Enhancements

- [tooltip] adds an optional `containerProps` as a second HOC "config" argument of `withTooltip(BaseComponent [, containerProps])`. This exposes a hook to enable users to customize any props on the container element. [#272](https://github.com/hshoff/vx/pull/272)
- [tooltip] sets `width` and `height` to `inherit` by default on the container. I'm kind of on the edge with this and am open to removing it because it may be an edge case, but my reasoning is as follows: if a user is combining `withTooltip` and a responsive component like `ParentSize` like this example, they'll have to update the `withTooltip` container `div` to also have full width/height so this would be a "smart default". [#272](https://github.com/hshoff/vx/pull/272)
  
#### :memo: Documentation

- [scale] Added a section on color scales, which goes over how one would use `d3-scale-chromatic` with `vx/scale`. [#270](https://github.com/hshoff/vx/pull/270)
- [tooltip] Adds a readme for `@vx/tooltip` components + enhancer. [#272](https://github.com/hshoff/vx/pull/272)
- [demo] add `<AxisRight />` to /axis demo tile. [#280](https://github.com/hshoff/vx/pull/280)
- [demo] update vx-demo.now.sh doc pages. [#281](https://github.com/hshoff/vx/pull/281)

#### :house: Internal

- Add configuration for [Prettier](https://prettier.io) and format the existing codebase. [#275](https://github.com/hshoff/vx/pull/275)
- Add pre-commit hook to format changed files before commits. [#275](https://github.com/hshoff/vx/pull/275)
- [docs] fix `npm run docs` script. [#281](https://github.com/hshoff/vx/pull/281)

#### :trophy: Contributors

- [sto3psl](https://github.com/sto3psl)
- [williaster](https://github.com/williaster)
- [trainorpj](https://github.com/trainorpj)
- [hshoff](https://github.com/hshoff)

```bash
Changes:
 - @vx/annotation: 0.0.160 => 0.0.161
 - @vx/axis: 0.0.160 => 0.0.161
 - @vx/bounds: 0.0.153 => 0.0.161
 - @vx/boxplot: 0.0.153 => 0.0.161
 - @vx/brush: 0.0.153 => 0.0.161
 - @vx/clip-path: 0.0.153 => 0.0.161
 - @vx/curve: 0.0.153 => 0.0.161
 - @vx/demo: 0.0.160 => 0.0.161
 - @vx/drag: 0.0.157 => 0.0.161
 - @vx/event: 0.0.153 => 0.0.161
 - @vx/geo: 0.0.153 => 0.0.161
 - @vx/glyph: 0.0.153 => 0.0.161
 - @vx/gradient: 0.0.153 => 0.0.161
 - @vx/grid: 0.0.160 => 0.0.161
 - @vx/group: 0.0.153 => 0.0.161
 - @vx/heatmap: 0.0.153 => 0.0.161
 - @vx/hierarchy: 0.0.153 => 0.0.161
 - @vx/legend: 0.0.154 => 0.0.161
 - @vx/marker: 0.0.160 => 0.0.161
 - @vx/mock-data: 0.0.153 => 0.0.161
 - @vx/network: 0.0.153 => 0.0.161
 - @vx/pattern: 0.0.153 => 0.0.161
 - @vx/point: 0.0.153 => 0.0.161
 - @vx/responsive: 0.0.158 => 0.0.161
 - @vx/scale: 0.0.153 => 0.0.161
 - @vx/shape: 0.0.160 => 0.0.161
 - @vx/stats: 0.0.153 => 0.0.161
 - @vx/text: 0.0.159 => 0.0.161
 - @vx/tooltip: 0.0.160 => 0.0.161
 - @vx/voronoi: 0.0.153 => 0.0.161
 - @vx/vx: 0.0.160 => 0.0.161
 - @vx/zoom: 0.0.153 => 0.0.161
```

# v0.0.160

#### :boom: Breaking Changes

- [shape] `<Link* />` components now use `...additionalProps()` everywhere for consistency. So function props get passed data. example: `onClick={event => // stuff}` becomes `onClick={data => event => // stuff}` and now you can stroke/fill/attr based on data `stroke={({ target }) => target.data.children ? 'yellow' : 'blue' }. [#265](https://github.com/hshoff/vx/pull/265)

#### :rocket: Enhancements

- [shape] export link path generators. fixes: [#263](https://github.com/hshoff/vx/issues/263). [#265](https://github.com/hshoff/vx/pull/265)
- [shape] add optional `path` prop so you can pass in path generator function instead of creating the generator every render. [#265](https://github.com/hshoff/vx/pull/265)

#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)

```bash
Changes:
 - @vx/annotation: 0.0.158 => 0.0.160
 - @vx/axis: 0.0.159 => 0.0.160
 - @vx/demo: 0.0.159 => 0.0.160
 - @vx/grid: 0.0.158 => 0.0.160
 - @vx/marker: 0.0.158 => 0.0.160
 - @vx/shape: 0.0.158 => 0.0.160
 - @vx/tooltip: 0.0.158 => 0.0.160
 - @vx/vx: 0.0.159 => 0.0.160
```

# v0.0.159

#### :rocket: Enhancements

- [axis] By default `<Axis />` components now use `@vx/text` to render tick labels. This enables multi line labels and scaling text to fit in a certain amount of space. [#260](https://github.com/hshoff/vx/pull/260)

Example:
```jsx
<Axis 
  {...axisProps}
  tickLabelProps = (tickValue, index) => ({
    textAnchor: 'middle',
    verticalAnchor: 'middle',
    width: 100,
    scaleToFit: true
  })
/>
```

- [axis] `<Axis />` components got a new prop `tickComponent` to enable rendering of custom ticks. With this prop one can completely customize ticks without having to create a new custom `<Axis />` component. [#260](https://github.com/hshoff/vx/pull/260)

Example:
```jsx
<Axis
  {...axisProps}
  tickComponent={({ x, y, formattedValue }) => (
    <g>
      <circle cx={x} cy={y} r={2} fill='rebeccapurple' />
      <text x={x + 4} y={y}>{formattedValue}</text>
    </g>
  )}
/>
```

`tickComponent` accepts a function and gets called with the following attribute:
```js
tickComponent({ x, y, formattedValue, ...tickLabelPropsObj })
```

#### :memo: Documentation

- [axis] update `@vx/axis` documentation. [#260](https://github.com/hshoff/vx/pull/260)
- [demo] fix bargroup example code. [#250](https://github.com/hshoff/vx/pull/250)
- [demo] fix barstack example code. [#249](https://github.com/hshoff/vx/pull/249)
- [text] fix readme.md of `@vx/text` package. [#257](https://https://github.com/hshoff/vx/pull/257)

#### :trophy: Contributors

 - [bulat-f](https://github.com/bulat-f)
 - [sto3psl](https://github.com/sto3psl)
 - [browniefed](https://github.com/browniefed)

```bash
Changes:
 - @vx/axis: 0.0.158 => 0.0.159
 - @vx/demo: 0.0.158 => 0.0.159
 - @vx/text: 0.0.153 => 0.0.159
 - @vx/vx: 0.0.158 => 0.0.159
 ```

# v0.0.158

#### :rocket: Enhancements

- [responsive] add debounceTime prop to `<ParentSize />` with a default of 300ms. [#241](https://github.com/hshoff/vx/pull/241)
- [tooltip] `<TooltipWithBounds />` now also reconsiders window bounds [#240](https://github.com/hshoff/vx/pull/240)

#### :house: Internal

- [demo] fix streamgraph transparent fill [#242](https://github.com/hshoff/vx/pull/242)

#### :trophy: Contributors

- [AlexJuarez](https://github.com/AlexJuarez)
- [manuelrocha88](https://github.com/manuelrocha88)
- [hshoff](https://github.com/hshoff)

```bash
Changes:
 - @vx/annotation: 0.0.153 => 0.0.158
 - @vx/axis: 0.0.153 => 0.0.158
 - @vx/demo: 0.0.157 => 0.0.158
 - @vx/grid: 0.0.153 => 0.0.158
 - @vx/marker: 0.0.153 => 0.0.158
 - @vx/responsive: 0.0.153 => 0.0.158
 - @vx/shape: 0.0.153 => 0.0.158
 - @vx/tooltip: 0.0.153 => 0.0.158
 - @vx/vx: 0.0.157 => 0.0.158
```

# v0.0.157

#### :rocket: Enhancements

- [drag] remove `svg` prop. This was causing hacky problems like calling `forceUpdate` in `cDM`. `localPoint()` now finds svg from the event argument [#233](https://github.com/hshoff/vx/pull/233)

#### :memo: Documentation

- [demo] update drag demos, add `touch-action: none` on drag demos so no scrolling when dragging [#233](https://github.com/hshoff/vx/pull/233)

#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)

```bash
Changes:
 - @vx/demo: 0.0.156 => 0.0.157
 - @vx/drag: 0.0.156 => 0.0.157
 - @vx/vx: 0.0.156 => 0.0.157
```

# v0.0.156

#### :rocket: Enhancements

- [drag] add `resetOnStart` prop (default to false). When true, it will reset drag `x,y` to the start point from the mousedown/touchstart event and `dx,dy` to 0 on drag start [#231](https://github.com/hshoff/vx/pull/231)

#### :memo: Documentation

- [demo] add /drag-ii demo of a drawboard made with drag [#231](https://github.com/hshoff/vx/pull/231)

#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)

```bash
Changes:
 - @vx/demo: 0.0.155 => 0.0.156
 - @vx/drag: 0.0.155 => 0.0.156
 - @vx/vx: 0.0.155 => 0.0.156
```

# v0.0.155

#### :rocket: Enhancements

- [drag] add `<Drag />` component + demo [#229](https://github.com/hshoff/vx/pull/229)

#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)

```bash
Changes:
 - @vx/demo: 0.0.154 => 0.0.155
 - @vx/drag: 0.0.153 => 0.0.155
 - @vx/vx: 0.0.154 => 0.0.155
```

# v0.0.154

#### :rocket: Enhancements

- [legend] make legend items clickable, add `<LegendItem />` propTypes, add click test [#227](https://github.com/hshoff/vx/pull/227)

#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)

```bash
Changes:
 - @vx/demo: 0.0.153 => 0.0.154
 - @vx/legend: 0.0.153 => 0.0.154
 - @vx/vx: 0.0.153 => 0.0.154
```

# v0.0.153

#### :house: Internal

- [internal] add sideEffects: false to pkg for webpack 4 [#225](https://github.com/hshoff/vx/pull/225)

#### :trophy: Contributors

- [hshoff](https://github.com/hshoff)

```bash
Changes:
 - @vx/annotation: 0.0.147 => 0.0.153
 - @vx/axis: 0.0.152 => 0.0.153
 - @vx/bounds: 0.0.147 => 0.0.153
 - @vx/boxplot: 0.0.143 => 0.0.153
 - @vx/brush: 0.0.143 => 0.0.153
 - @vx/clip-path: 0.0.143 => 0.0.153
 - @vx/curve: 0.0.143 => 0.0.153
 - @vx/demo: 0.0.152 => 0.0.153
 - @vx/drag: 0.0.143 => 0.0.153
 - @vx/event: 0.0.143 => 0.0.153
 - @vx/geo: 0.0.150 => 0.0.153
 - @vx/glyph: 0.0.143 => 0.0.153
 - @vx/gradient: 0.0.143 => 0.0.153
 - @vx/grid: 0.0.147 => 0.0.153
 - @vx/group: 0.0.143 => 0.0.153
 - @vx/heatmap: 0.0.143 => 0.0.153
 - @vx/hierarchy: 0.0.144 => 0.0.153
 - @vx/legend: 0.0.143 => 0.0.153
 - @vx/marker: 0.0.147 => 0.0.153
 - @vx/mock-data: 0.0.147 => 0.0.153
 - @vx/network: 0.0.143 => 0.0.153
 - @vx/pattern: 0.0.143 => 0.0.153
 - @vx/point: 0.0.143 => 0.0.153
 - @vx/responsive: 0.0.152 => 0.0.153
 - @vx/scale: 0.0.152 => 0.0.153
 - @vx/shape: 0.0.147 => 0.0.153
 - @vx/stats: 0.0.152 => 0.0.153
 - @vx/text: 0.0.152 => 0.0.153
 - @vx/tooltip: 0.0.148 => 0.0.153
 - @vx/voronoi: 0.0.143 => 0.0.153
 - @vx/vx: 0.0.152 => 0.0.153
 - @vx/zoom: 0.0.143 => 0.0.153
```

# v0.0.152

#### :rocket: Enhancements

- [text] add `fontWeight` option to vx-text demo [#215](https://github.com/hshoff/vx/pull/215)

#### :memo: Documentation

- [demo] add vx-text tile and update /text demo [#214](https://github.com/hshoff/vx/pull/214)
- [responsive] add description and example of each component and enhancer [#217](https://github.com/hshoff/vx/pull/217)

#### :bug: Bug Fix

- [text] fix memoized `getStringWidth` ignoring styles [#215](https://github.com/hshoff/vx/pull/215)
- [text] remove default width and height from measurement SVG [#219](https://github.com/hshoff/vx/pull/219)
- [scale] fix scalePower api to take in exponent instead of base [#223](https://github.com/hshoff/vx/pull/223)

#### :house: Internal

- [travis] fix for travis failing for timing out when [not receiving output for 10min](https://docs.travis-ci.com/user/common-build-problems/#Build-times-out-because-no-output-was-received) [#224](https://github.com/hshoff/vx/pull/224)
- [vx][test] fix `@vx/vx` text test. It was looking for `TextOutline` export which was removed with the [new `@vx/text`](https://github.com/hshoff/vx/pull/208) [#224](https://github.com/hshoff/vx/pull/224)
- [axis] bump `prop-types` dep and use `^` [#224](https://github.com/hshoff/vx/pull/224)

#### :trophy: Contributors

- [techniq](https://github.com/techniq)
- [hshoff](https://github.com/hshoff)
- [katerineknox](https://github.com/katerineknox)
- [crcarlo](https://github.com/crcarlo)

```bash
Changes:
 - @vx/axis: 0.0.151 => 0.0.152
 - @vx/demo: 0.0.151 => 0.0.152
 - @vx/responsive: 0.0.151 => 0.0.152
 - @vx/scale: 0.0.151 => 0.0.152
 - @vx/stats: 0.0.151 => 0.0.152
 - @vx/text: 0.0.151 => 0.0.152
 - @vx/vx: 0.0.151 => 0.0.152
```

# v0.0.151

- ignore this one, v0.0.152 includes what v0.0.151 was supposed be. i messed up the publish.

```bash
Changes:
 - @vx/axis: 0.0.147 => 0.0.151
 - @vx/demo: 0.0.150 => 0.0.151
 - @vx/responsive: 0.0.150 => 0.0.151
 - @vx/scale: 0.0.143 => 0.0.151
 - @vx/stats: 0.0.148 => 0.0.151
 - @vx/text: 0.0.150 => 0.0.151
 - @vx/vx: 0.0.150 => 0.0.151
```

# v0.0.150

#### :boom: Breaking Changes

- [text] Removes `<TextWrap>`, `<TextOutline>` and `<TextBackground>` components, which were incomplete [#208](https://github.com/hshoff/vx/pull/208)

#### :rocket: Enhancements

- [geo] Added pointRadius and fixed center [#213](https://github.com/hshoff/vx/pull/213)
- [text] Add new `<Text>`, with the following features
  - Word-wrapping (when width prop is defined)
  - Vertical alignment (verticalAnchor prop)
  - Rotation (angle prop)
  - Scale-to-fit text (scaleToFit prop)

#### :bug: Bug Fix

- [geo] Fixed center typo [#213](https://github.com/hshoff/vx/pull/213)

#### :memo: Documentation

- [responsive] Backticks import not working so, copy paste broken [#212](https://github.com/hshoff/vx/pull/212)

#### :house: Internal

- [text] Update `vx-text` author to @techniq [#210](https://github.com/hshoff/vx/pull/210)

```bash
Changes:
 - @vx/demo: 0.0.149 => 0.0.150
 - @vx/geo: 0.0.143 => 0.0.150
 - @vx/responsive: 0.0.149 => 0.0.150
 - @vx/text: 0.0.143 => 0.0.150
 - @vx/vx: 0.0.149 => 0.0.150
```

# v0.0.149

#### :rocket: Enhancements

- [responsive] bump `resize-observer-polyfill` [#206](https://github.com/hshoff/vx/pull/206)

#### :bug: Bug Fix

- [demo] add overflow hidden on flex: 1 `<ParentSize />` parents [#206](https://github.com/hshoff/vx/pull/206)

```bash
Changes:
 - @vx/demo: 0.0.148 => 0.0.149
 - @vx/responsive: 0.0.147 => 0.0.149
 - @vx/vx: 0.0.148 => 0.0.149
```

# v0.0.148

#### :bug: Bug Fix

- [stats] [boxplot] fix container props calculation [#203](https://github.com/hshoff/vx/pull/203)
- [tooltip] fix tootlip with bounds offset [#204](https://github.com/hshoff/vx/pull/204)

```bash
Changes:
 - @vx/demo: 0.0.147 => 0.0.148
 - @vx/stats: 0.0.147 => 0.0.148
 - @vx/tooltip: 0.0.147 => 0.0.148
 - @vx/vx: 0.0.147 => 0.0.148
 ```

# v0.0.147

#### :boom: Breaking Changes

- [shape] deep links to `@vx/shape/shapes/Link{Horizontal, Vertical, Radial}.js` => `@vx/shape/shapes/link/diagonal/Link{Horizontal, Vertical, Radial}.js`. [#194](https://github.com/hshoff/vx/pull/194)

#### :rocket: Enhancements

- [tooltip] add offset props to `<TooltipWithBounds />`. [#193](https://github.com/hshoff/vx/pull/193)
- [shape] Add support for step, curve, and line links. [#194](https://github.com/hshoff/vx/pull/194)
- [responsive] add `<ParentSize />` component. [#198](https://github.com/hshoff/vx/pull/198)
- [stats] added vx-stats for statistic related glyphs (boxplot and violinplot). [#197](https://github.com/hshoff/vx/pull/197) **note:** `@vx/boxplot` is deprecated in favor of `@vx/stats` in a future release `@vx/boxplot` will be removed

#### :house: Internal

- [demo] update gallery tiles to use `<ParentSize />`. [#198](https://github.com/hshoff/vx/pull/198)
- [demo] add /responsive gallery tile + page. [#198](https://github.com/hshoff/vx/pull/198)

```bash
Changes:
 - @vx/annotation: 0.0.146 => 0.0.147
 - @vx/axis: 0.0.146 => 0.0.147
 - @vx/bounds: 0.0.143 => 0.0.147
 - @vx/demo: 0.0.146 => 0.0.147
 - @vx/grid: 0.0.146 => 0.0.147
 - @vx/marker: 0.0.146 => 0.0.147
 - @vx/mock-data: 0.0.144 => 0.0.147
 - @vx/responsive: 0.0.143 => 0.0.147
 - @vx/shape: 0.0.146 => 0.0.147
 - @vx/stats: 0.0.143 => 0.0.147
 - @vx/tooltip: 0.0.143 => 0.0.147
 - @vx/vx: 0.0.146 => 0.0.147
```

# v0.0.146

#### :rocket: Enhancements

- [shape] add `<BarStackHorizontal />` [#185](https://github.com/hshoff/vx/pull/185)

#### :memo: Documentation

- [demo] add `<BarStackHorizontal />` [#185](https://github.com/hshoff/vx/pull/185)
- [demo] tile updates [#186](https://github.com/hshoff/vx/pull/186)

#### :house: Internal

- [shape] remove build/index.js [#186](https://github.com/hshoff/vx/pull/186)


```bash
Changes:
 - @vx/annotation: 0.0.145 => 0.0.146
 - @vx/axis: 0.0.145 => 0.0.146
 - @vx/demo: 0.0.145 => 0.0.146
 - @vx/grid: 0.0.145 => 0.0.146
 - @vx/marker: 0.0.145 => 0.0.146
 - @vx/shape: 0.0.145 => 0.0.146
 - @vx/vx: 0.0.145 => 0.0.146
```

# v0.0.145

#### :rocket: Enhancements

- [shape] add `<Area />` and tests [#183](https://github.com/hshoff/vx/pull/183)
- [demo] add Radar chart [#180](https://github.com/hshoff/vx/pull/180)
- [axis] add additional tests [#161](https://github.com/hshoff/vx/pull/161)

#### :bug: Bug Fix

- [axis] less restrictive tickValue propTypes [#184](https://github.com/hshoff/vx/pull/184)

```bash
Changes:
 - @vx/annotation: 0.0.144 => 0.0.145
 - @vx/axis: 0.0.144 => 0.0.145
 - @vx/demo: 0.0.144 => 0.0.145
 - @vx/grid: 0.0.144 => 0.0.145
 - @vx/marker: 0.0.144 => 0.0.145
 - @vx/shape: 0.0.144 => 0.0.145
 - @vx/vx: 0.0.144 => 0.0.145
```

# v0.0.144

#### 💥 Breaking Changes

- [shape] `<Arc />` renamed `<Pie />`, new `<Arc />` not dependent on d3-shape pie generator. [#179](https://github.com/hshoff/vx/pull/179)

#### 🚀 Enhancements

- [demo] add `<Pack />` and `<Treemap />` demo tiles + pages. [#179](https://github.com/hshoff/vx/pull/179)
- [mock] add exoplanets, planets, and shakespeare mocks. [#179](https://github.com/hshoff/vx/pull/179)

#### 🐛 Bug Fix

- [hierarchy] rename `<Partition />` classnames from `vx-pack` => `vx-partition`. [#179](https://github.com/hshoff/vx/pull/179)
- [hierarchy] export partition, treemap, and pack from index. [#179](https://github.com/hshoff/vx/pull/179)

```bash
Changes:
 - @vx/annotation: 0.0.143 => 0.0.144
 - @vx/axis: 0.0.143 => 0.0.144
 - @vx/demo: 0.0.143 => 0.0.144
 - @vx/grid: 0.0.143 => 0.0.144
 - @vx/hierarchy: 0.0.143 => 0.0.144
 - @vx/marker: 0.0.143 => 0.0.144
 - @vx/mock-data: 0.0.143 => 0.0.144
 - @vx/shape: 0.0.143 => 0.0.144
 - @vx/vx: 0.0.143 => 0.0.144
```

# v0.0.143

#### :boom: Breaking Changes

- [hierarchy] `<Tree />` & `<Cluster />` now only pass `data` as an argument to the child render function [#173](https://github.com/hshoff/vx/pull/173)

#### :rocket: Enhancement

- [hierarchy] add `<Pack />`, `<Partition />`, & `<Treemap />` [#173](https://github.com/hshoff/vx/pull/173)

#### :house: Internal

- [deps][tests] use react 16 dev dep, enzyme 3, jest 21. fix tests. [#178](https://github.com/hshoff/vx/pull/178)

```bash
Changes:
 - @vx/annotation: 0.0.142 => 0.0.143
 - @vx/axis: 0.0.142 => 0.0.143
 - @vx/bounds: 0.0.141 => 0.0.143
 - @vx/boxplot: 0.0.140 => 0.0.143
 - @vx/brush: 0.0.140 => 0.0.143
 - @vx/clip-path: 0.0.140 => 0.0.143
 - @vx/curve: 0.0.140 => 0.0.143
 - @vx/demo: 0.0.142 => 0.0.143
 - @vx/drag: 0.0.140 => 0.0.143
 - @vx/event: 0.0.141 => 0.0.143
 - @vx/geo: 0.0.140 => 0.0.143
 - @vx/glyph: 0.0.140 => 0.0.143
 - @vx/gradient: 0.0.140 => 0.0.143
 - @vx/grid: 0.0.142 => 0.0.143
 - @vx/group: 0.0.140 => 0.0.143
 - @vx/heatmap: 0.0.140 => 0.0.143
 - @vx/hierarchy: 0.0.141 => 0.0.143
 - @vx/legend: 0.0.141 => 0.0.143
 - @vx/marker: 0.0.142 => 0.0.143
 - @vx/mock-data: 0.0.136 => 0.0.143
 - @vx/network: 0.0.140 => 0.0.143
 - @vx/pattern: 0.0.140 => 0.0.143
 - @vx/point: 0.0.136 => 0.0.143
 - @vx/responsive: 0.0.140 => 0.0.143
 - @vx/scale: 0.0.140 => 0.0.143
 - @vx/shape: 0.0.142 => 0.0.143
 - @vx/text: 0.0.140 => 0.0.143
 - @vx/tooltip: 0.0.141 => 0.0.143
 - @vx/voronoi: 0.0.140 => 0.0.143
 - @vx/vx: 0.0.142 => 0.0.143
 - @vx/zoom: 0.0.140 => 0.0.143
```

# v0.0.142

#### :rocket: Enhancement

- [shape] add innerRef prop to shapes [#168](https://github.com/hshoff/vx/pull/168)

### :memo: Documentation

- [demo] fix typo on /, fix areas tile details [#169](https://github.com/hshoff/vx/pull/169)

```bash
Changes:
 - @vx/annotation: 0.0.141 => 0.0.142
 - @vx/axis: 0.0.141 => 0.0.142
 - @vx/demo: 0.0.141 => 0.0.142
 - @vx/grid: 0.0.141 => 0.0.142
 - @vx/marker: 0.0.141 => 0.0.142
 - @vx/shape: 0.0.141 => 0.0.142
 - @vx/vx: 0.0.141 => 0.0.142
```

# v0.0.141

#### :rocket: Enhancement

- [hierarchy] add render prop to `<Tree />` + `<Cluster />` [#163](https://github.com/hshoff/vx/pull/163)
- [axis] render prop for axis, full control over rendering [#165](https://github.com/hshoff/vx/pull/165)
- [event] add touch event support to localPoint(), find owner svg for single arity call  [#167](https://github.com/hshoff/vx/pull/167)

#### :bug: Bug Fix

- [shape] fix typo in stack order enum [#164](https://github.com/hshoff/vx/pull/164)
- [legend] fix legend threshold [#166](https://github.com/hshoff/vx/pull/166)

```bash
Changes:
 - @vx/annotation: 0.0.140 => 0.0.141
 - @vx/axis: 0.0.140 => 0.0.141
 - @vx/bounds: 0.0.140 => 0.0.141
 - @vx/demo: 0.0.140 => 0.0.141
 - @vx/event: 0.0.140 => 0.0.141
 - @vx/grid: 0.0.140 => 0.0.141
 - @vx/hierarchy: 0.0.140 => 0.0.141
 - @vx/legend: 0.0.140 => 0.0.141
 - @vx/marker: 0.0.140 => 0.0.141
 - @vx/shape: 0.0.140 => 0.0.141
 - @vx/tooltip: 0.0.140 => 0.0.141
 - @vx/vx: 0.0.140 => 0.0.141
 ```

# v0.0.140
  
### :house: Internal
  - [deps] add react 16 as peer dep, use react-test-renderer [#155](https://github.com/hshoff/vx/pull/155)

```bash
Changes:
 - @vx/annotation: 0.0.139 => 0.0.140
 - @vx/axis: 0.0.139 => 0.0.140
 - @vx/bounds: 0.0.137 => 0.0.140
 - @vx/boxplot: 0.0.136 => 0.0.140
 - @vx/brush: 0.0.136 => 0.0.140
 - @vx/clip-path: 0.0.136 => 0.0.140
 - @vx/curve: 0.0.136 => 0.0.140
 - @vx/demo: 0.0.139 => 0.0.140
 - @vx/drag: 0.0.136 => 0.0.140
 - @vx/event: 0.0.136 => 0.0.140
 - @vx/geo: 0.0.136 => 0.0.140
 - @vx/glyph: 0.0.136 => 0.0.140
 - @vx/gradient: 0.0.136 => 0.0.140
 - @vx/grid: 0.0.139 => 0.0.140
 - @vx/group: 0.0.136 => 0.0.140
 - @vx/heatmap: 0.0.136 => 0.0.140
 - @vx/hierarchy: 0.0.139 => 0.0.140
 - @vx/legend: 0.0.139 => 0.0.140
 - @vx/marker: 0.0.139 => 0.0.140
 - @vx/network: 0.0.136 => 0.0.140
 - @vx/pattern: 0.0.136 => 0.0.140
 - @vx/responsive: 0.0.136 => 0.0.140
 - @vx/scale: 0.0.136 => 0.0.140
 - @vx/shape: 0.0.139 => 0.0.140
 - @vx/text: 0.0.136 => 0.0.140
 - @vx/tooltip: 0.0.137 => 0.0.140
 - @vx/voronoi: 0.0.136 => 0.0.140
 - @vx/vx: 0.0.139 => 0.0.140
 - @vx/zoom: 0.0.136 => 0.0.140
```

# v0.0.139

#### :rocket: Enhancement
  
  - [shape] add `<Stack />` for streamgraphs and other fun + exciting things [#153](https://github.com/hshoff/vx/pull/153)
  
#### :bug: Bug Fix

  - [legend] fix legend style prop [#151](https://github.com/hshoff/vx/pull/151)
  - [hierarchy] fix name collisions [#147](https://github.com/hshoff/vx/pull/147)

### :memo: Documentation
  - [hierarchy] update links and descriptions in readme [#148](https://github.com/hshoff/vx/pull/148)
  
```bash
Changes:
 - @vx/annotation: 0.0.136 => 0.0.139
 - @vx/axis: 0.0.138 => 0.0.139
 - @vx/demo: 0.0.138 => 0.0.139
 - @vx/grid: 0.0.136 => 0.0.139
 - @vx/hierarchy: 0.0.138 => 0.0.139
 - @vx/legend: 0.0.136 => 0.0.139
 - @vx/marker: 0.0.136 => 0.0.139
 - @vx/shape: 0.0.136 => 0.0.139
 - @vx/vx: 0.0.138 => 0.0.139
```

# v0.0.138

### :boom: Breaking Changes

  - [axis] improve `@vx/axis` api, update docs [#142](https://github.com/hshoff/vx/pull/142)

### :memo: Documentation
  - [hierarchy] add readme for vx/hierarchy [#136](https://github.com/hshoff/vx/pull/136)
  
### :house: Internal
  - [vx][pkg] bump lerna 2.0.0-beta.38 => 2.1.2 [#145](https://github.com/hshoff/vx/pull/145)

```bash
Changes:
 - @vx/axis: 0.0.136 => 0.0.138
 - @vx/demo: 0.0.137 => 0.0.138
 - @vx/hierarchy: 0.0.136 => 0.0.138
 - @vx/vx: 0.0.137 => 0.0.138
```

# v0.0.137

- [vx] add one stop install pkg @vx/vx [#131](https://github.com/hshoff/vx/pull/131)
- [bounds] move react-dom to peerDeps [#132](https://github.com/hshoff/vx/pull/132)

```bash
Changes:
- @vx/bounds: 0.0.136 => 0.0.137
- @vx/demo: 0.0.136 => 0.0.137
- @vx/tooltip: 0.0.136 => 0.0.137
- @vx/vx: 1.0.0 => 0.0.137
```

# v0.0.136

- [all] add package-lock=false to .npmrc fixes [#93](https://github.com/hshoff/vx/issues/93) [#129](https://github.com/hshoff/vx/pull/129)
- [demo][docs] sync vx-demo site documentation with packages [#125](https://github.com/hshoff/vx/pull/125)
- [gradient][pattern] fix typos [#121](https://github.com/hshoff/vx/pull/121)
- [demo] updated geo + network tiles [#120](https://github.com/hshoff/vx/pull/120)
- [event] add touch point [#116](https://github.com/hshoff/vx/pull/116)
- [gradient] Add minimal rendering tests [#114](https://github.com/hshoff/vx/pull/114)

```bash
Changes:
- @vx/annotation: 0.0.131 => 0.0.136
- @vx/axis: 0.0.134 => 0.0.136
- @vx/bounds: 0.0.129 => 0.0.136
- @vx/boxplot: 0.0.131 => 0.0.136
- @vx/brush: 0.0.127 => 0.0.136
- @vx/clip-path: 0.0.127 => 0.0.136
- @vx/curve: 0.0.127 => 0.0.136
- @vx/demo: 0.0.135 => 0.0.136
- @vx/drag: 0.0.127 => 0.0.136
- @vx/event: 0.0.127 => 0.0.136
- @vx/geo: 0.0.135 => 0.0.136
- @vx/glyph: 0.0.127 => 0.0.136
- @vx/gradient: 0.0.129 => 0.0.136
- @vx/grid: 0.0.131 => 0.0.136
- @vx/group: 0.0.127 => 0.0.136
- @vx/heatmap: 0.0.127 => 0.0.136
- @vx/hierarchy: 0.0.127 => 0.0.136
- @vx/legend: 0.0.127 => 0.0.136
- @vx/marker: 0.0.131 => 0.0.136
- @vx/mock-data: 0.0.135 => 0.0.136
- @vx/network: 0.0.135 => 0.0.136
- @vx/pattern: 0.0.127 => 0.0.136
- @vx/point: 0.0.127 => 0.0.136
- @vx/responsive: 0.0.127 => 0.0.136
- @vx/scale: 0.0.127 => 0.0.136
- @vx/shape: 0.0.131 => 0.0.136
- @vx/text: 0.0.127 => 0.0.136
- @vx/tooltip: 0.0.134 => 0.0.136
- @vx/voronoi: 0.0.127 => 0.0.136
- @vx/zoom: 0.0.127 => 0.0.136
```

# v0.0.135

- [geo] add graticule [#111](https://github.com/hshoff/vx/pull/111)
- [network] add @vx/network [#113](https://github.com/hshoff/vx/pull/113)
- [demo] fix invalid JSX [#118](https://github.com/hshoff/vx/pull/118)
- [network][geo][demo] polish for v0.0.135 [#119](https://github.com/hshoff/vx/pull/119)

```bash
Changes:
- @vx/demo: 0.0.134 => 0.0.135
- @vx/geo: 0.0.134 => 0.0.135
- @vx/mock-data: 0.0.127 => 0.0.135
- @vx/network: 0.0.127 => 0.0.135
```

# v0.0.134

- [axis] make ticks more customizable [#109](https://github.com/hshoff/vx/pull/109)
- [tooltip] add `<TooltipWithBounds />` and PropTypes to `@vx/tooltip` exports [#108](https://github.com/hshoff/vx/pull/108)
- [demo] use @vx/geo version in deps [#106](https://github.com/hshoff/vx/pull/106)


```bash
Changes:
- @vx/axis: 0.0.133 => 0.0.134
- @vx/demo: 0.0.133 => 0.0.134
- @vx/tooltip: 0.0.133 => 0.0.134
```


# v0.0.133

- ignore this version, lerna got into a bad state.

```bash
Changes:
- @vx/axis: 0.0.131 => 0.0.133
- @vx/demo: 0.0.132 => 0.0.133
- @vx/tooltip: 0.0.127 => 0.0.133
```

# v0.0.132

- [geo] add package geo [#105](https://github.com/hshoff/vx/pull/105)

```bash
Changes:
- @vx/demo: 0.0.131 => 0.0.132
- @vx/geo: 0.0.132 => 0.0.132
```

# v0.0.131

- [shape] LinePath.defined should default to true [#101](https://github.com/hshoff/vx/pull/101)
- [boxplot] add docs [#102](https://github.com/hshoff/vx/pull/102)
- [shape] add x-value mouseover to area demo [#103](https://github.com/hshoff/vx/pull/103)
- [grid] add styles and restProps support for grid lines [#103](https://github.com/hshoff/vx/pull/103)

```bash
Changes:
- @vx/annotation: 0.0.130 => 0.0.131
- @vx/axis: 0.0.130 => 0.0.131
- @vx/boxplot: 0.0.127 => 0.0.131
- @vx/demo: 0.0.130 => 0.0.131
- @vx/grid: 0.0.130 => 0.0.131
- @vx/marker: 0.0.130 => 0.0.131
- @vx/shape: 0.0.130 => 0.0.131
```

# v0.0.130

- [shape] Add tests for Arc, AreaClosed, & Line, fix AreaClosed error [#95](https://github.com/hshoff/vx/pull/95)
- [Axis] Add tests to Axis.test.js [#94](https://github.com/hshoff/vx/pull/94)

```bash
Changes:
- @vx/annotation: 0.0.127 => 0.0.130
- @vx/axis: 0.0.127 => 0.0.130
- @vx/demo: 0.0.129 => 0.0.130
- @vx/grid: 0.0.127 => 0.0.130
- @vx/marker: 0.0.127 => 0.0.130
- @vx/shape: 0.0.127 => 0.0.130
```

# v0.0.129

- [gradient] add <RadialGradient /> [#90](https://github.com/hshoff/vx/pull/90)
- [bounds] add `@vx/bounds` package with `withBoundingRects()` HOC  [#91](https://github.com/hshoff/vx/pull/91)

```bash
Changes:
- @vx/bounds: 0.0.128 => 0.0.129
- @vx/demo: 0.0.128 => 0.0.129
- @vx/gradient: 0.0.128 => 0.0.129
```

# v0.0.128

- ignore this one, `lerna publish` failed midway through

```bash
Changes:
- @vx/bounds: 0.0.0 => 0.0.128
- @vx/demo: 0.0.127 => 0.0.128
- @vx/gradient: 0.0.127 => 0.0.128
```

# v0.0.127

- [boxplot] add `@vx/boxplot` [#89](https://github.com/hshoff/vx/pull/89)
- [mock data] add `genBoxPlot()` [#89](https://github.com/hshoff/vx/pull/89)
- [tooltip] fix pass through style and restProps [#89](https://github.com/hshoff/vx/pull/89)
- [shape] fix BarStack.test.js [#88](https://github.com/hshoff/vx/pull/88)

```bash
Changes:
- @vx/annotation: 0.0.126 => 0.0.127
- @vx/axis: 0.0.126 => 0.0.127
- @vx/boxplot: 1.0.0 => 0.0.127
- @vx/brush: 0.0.126 => 0.0.127
- @vx/clip-path: 0.0.126 => 0.0.127
- @vx/curve: 0.0.126 => 0.0.127
- @vx/demo: 0.0.126 => 0.0.127
- @vx/drag: 0.0.126 => 0.0.127
- @vx/event: 0.0.126 => 0.0.127
- @vx/glyph: 0.0.126 => 0.0.127
- @vx/gradient: 0.0.126 => 0.0.127
- @vx/grid: 0.0.126 => 0.0.127
- @vx/group: 0.0.126 => 0.0.127
- @vx/heatmap: 0.0.126 => 0.0.127
- @vx/hierarchy: 0.0.126 => 0.0.127
- @vx/legend: 0.0.126 => 0.0.127
- @vx/marker: 0.0.126 => 0.0.127
- @vx/mock-data: 0.0.126 => 0.0.127
- @vx/pattern: 0.0.126 => 0.0.127
- @vx/point: 0.0.126 => 0.0.127
- @vx/responsive: 0.0.126 => 0.0.127
- @vx/scale: 0.0.126 => 0.0.127
- @vx/shape: 0.0.126 => 0.0.127
- @vx/text: 0.0.126 => 0.0.127
- @vx/tooltip: 0.0.126 => 0.0.127
- @vx/voronoi: 0.0.126 => 0.0.127
- @vx/zoom: 0.0.126 => 0.0.127
```

# v0.0.126

- [tooltip] add @vx/tooltip [#87](https://github.com/hshoff/vx/pull/87)
- [glyph] put classname on the <path> not on <g> [#87](https://github.com/hshoff/vx/pull/87)
- [mock data] add mock/bitcoinPrice [#87](https://github.com/hshoff/vx/pull/87)
- [demo] add tooltip demo to dots and barstack, add legend to barstack [#87](https://github.com/hshoff/vx/pull/87)
- [shape] update `data` passed to each bar in <BarStack /> [#87](https://github.com/hshoff/vx/pull/87)

# v0.0.125

- ignore this one, `lerna publish` failed midway through

# v0.0.124

- [glyph] add remaining d3 symbols [#84](https://github.com/hshoff/vx/pull/84) + [#81](https://github.com/hshoff/vx/pull/81)
- [gradient] add horizontal linear gradients, make more flexible [#82](https://github.com/hshoff/vx/pull/82)
- [axis] export orientation constants [#80](https://github.com/hshoff/vx/pull/80)
- [legend] fix proptypes check on shape prop [#82](https://github.com/hshoff/vx/pull/82)

```bash
Changes:
- @vx/axis: 0.0.120 => 0.0.124
- @vx/demo: 0.0.123 => 0.0.124
- @vx/glyph: 0.0.121 => 0.0.124
- @vx/gradient: 0.0.120 => 0.0.124
- @vx/legend: 0.0.121 => 0.0.124
```

# v0.0.123

- add `@vx/voronoi` [#78](https://github.com/hshoff/vx/pull/78)

```bash
Changes:
- @vx/demo: 0.0.122 => 0.0.123
- @vx/voronoi: 1.0.0 => 0.0.123
```

# v0.0.122

- ignore this one, I ran `lerna publish --exact` before `lerna bootstrap` and it failed to publish, but managed to increment versions and couldn't figure how to "undo" it so rolling foward to v0.0.123

```bash
Changes:
- @vx/demo: 0.0.122 => 0.0.122
- @vx/voronoi: 0.0.0 => 0.0.122
```

# v0.0.121

- add `@vx/legend` [#77](https://github.com/hshoff/vx/pull/77)
- add `scaleQuantize`, `scaleQuantile`, `scaleThreshold`
- added `GlyphCross` but it's not working yet

```bash
Changes:
- @vx/demo: 0.0.120 => 0.0.121
- @vx/glyph: 0.0.120 => 0.0.121
- @vx/legend: 1.0.0 => 0.0.121
- @vx/scale: 0.0.117 => 0.0.121
```

# v0.0.120

- moved `react` to peerDep & devDep [#75](https://github.com/hshoff/vx/pull/75)
- add missing `restProps` + `additionalProps` to shape & glyph [#76](https://github.com/hshoff/vx/pull/76)
- set AreaClosed `y0` to the range's start not `0` [#45](https://github.com/hshoff/vx/pull/74)
- add strokeDashoffset prop to LinePath [#70](https://github.com/hshoff/vx/pull/70)
- replace lodash per-method packages with scoped imports [#66](https://github.com/hshoff/vx/pull/66)
- add tests for pattern circles [#63](https://github.com/hshoff/vx/pull/63)
- add @vx/clip-path [#61](https://github.com/hshoff/vx/pull/61)
- fix axis label transform [#59](https://github.com/hshoff/vx/pull/59)

```bash
Changes:
- @vx/annotation: 0.0.119 => 0.0.120
- @vx/axis: 0.0.119 => 0.0.120
- @vx/brush: 0.0.114 => 0.0.120
- @vx/clip-path: 0.0.0 => 0.0.120
- @vx/demo: 0.0.119 => 0.0.120
- @vx/drag: 0.0.114 => 0.0.120
- @vx/glyph: 0.0.114 => 0.0.120
- @vx/gradient: 0.0.112 => 0.0.120
- @vx/grid: 0.0.119 => 0.0.120
- @vx/group: 0.0.114 => 0.0.120
- @vx/heatmap: 0.0.116 => 0.0.120
- @vx/hierarchy: 0.0.119 => 0.0.120
- @vx/marker: 0.0.119 => 0.0.120
- @vx/pattern: 0.0.112 => 0.0.120
- @vx/responsive: 0.0.115 => 0.0.120
- @vx/shape: 0.0.119 => 0.0.120
- @vx/text: 0.0.114 => 0.0.120
```


# v0.0.114

### @vx/shape

  - added `<BarGroup />` & `<BarStack />` [#39](https://github.com/hshoff/vx/pull/39)
  
### general

  - added jest + enzyme tests & travis + coveralls ci

# v0.0.113

### @vx/axis

  - axis labels and tickLabels are now passed in as components [#31](https://github.com/hshoff/vx/pull/31) &bull; [example diff](https://github.com/hshoff/vx/pull/31/files#diff-427e08aaa7d707f2374af36902ff0e15)
  
### @vx/group

  - added `transform` prop [#31](https://github.com/hshoff/vx/pull/31)

# v0.0.112

### @vx/curve, @vx/point, @vx/mock-data, @vx/annotation, @vx/group, @vx/pattern, @vx/gradient, @vx/glyph

  - added tests with jest + enzyme [#30](https://github.com/hshoff/vx/pull/30)

### @vx/annotation, @vx/pattern

  - added prop-types [#30](https://github.com/hshoff/vx/pull/30)


================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct

Airbnb has adopted a Code of Conduct that we expect project participants to adhere to. Please
[read the full Code of Conduct text](https://airbnb.io/codeofconduct/) so that you can understand
what actions will and will not be tolerated. Report violations to the maintainers of this project or
to [opensource-conduct@airbnb.com](mailto:opensource-conduct@airbnb.com).

Reports sent to [opensource-conduct@airbnb.com](mailto:opensource-conduct@airbnb.com) are received
by Airbnb's open source code of conductmoderation team, which is composed of Airbnb employees. All
communications are private and confidential.


================================================
FILE: CONTRIBUTING.md
================================================
# Contributing

Contributions welcome! Please follow the [code of conduct](./CODE_OF_CONDUCT.md).

## Overview

[Yarn workspaces](https://yarnpkg.com/lang/en/docs/workspaces/) are used to manage dependencies and
build config across packages in the umbrella `visx` monorepo, and
[lerna](https://github.com/lerna/lerna/) is used to manage versioning.

## Project structure

```
visx/
  lerna.json
  package.json
  packages/
    visx-package-1/
      src/
      test/
      build/
      package.json
      ...
    visx-package-2/
      ...
    ...
```

## Local development

Run the following to setup your local dev environment:

```sh
# Install `yarn`, alternatives at https://yarnpkg.com/en/docs/install
curl -o- -L https://yarnpkg.com/install.sh | bash

# Clone or fork `visx`
git clone git@github.com:airbnb/visx.git # or your fork
cd visx

# install dependencies, and have `yarn` symlink within-`visx` dependencies
yarn

# build packages and generate types for local development
yarn build
```

#### Rebuild specific package(s)

Upon modification of a single `package` you can run the following to rebuild it. Note that you can
specify multiple packages to build this way, and optionally append `--watch` to continuously watch
for changes.

```sh
# build the specified package(s) as cjs + esm versions
# example `PKG=@visx/axis yarn babel:pkg`
PKG=@visx/{package[,package]} yarn babel:pkg

# generate d.ts(definition files) the specified package(s)
# and rebuild any other packages the specified package(s) depend on
# example `PKG=@visx/axis yarn type:pkg`
PKG=@visx/{package[,package]} yarn type:pkg
```

from the `visx` monorepo root to re-build the package with your changes.

#### Running demo pages

You can use the local [`next.js`](https://nextjs.org) dev server within `packages/visx-demo` to view
and iterate on your changes in the gallery. From the `packages/visx-demo` folder run `yarn dev` to
start the next server which (if correctly sym-linked) will also watch for changes you make to other
packages (upon re-building them, see above section).

#### Config generation

`visx` uses [`@airbnb/nimbus`](https://github.com/airbnb/nimbus) to generate build configuration for
`eslint`, `prettier`, `jest`, `babel`, and `typescript`.


================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) 2017-2018 Harrison Shoff

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: PULL_REQUEST_TEMPLATE.md
================================================
#### :boom: Breaking Changes

-

#### :rocket: Enhancements

-

#### :memo: Documentation

-

#### :bug: Bug Fix

-

#### :house: Internal

-


================================================
FILE: README.md
================================================
<p align="center">
  <img src="./assets/visx-geometry.png" />
</p>

<p align="center">
  <a title="npm version" href="https://www.npmjs.com/~visx">
    <img src="https://img.shields.io/npm/v/@visx/demo.svg?style=flat-square" />
  </a>
  <a title="@visx/shape npm downloads" href="https://www.npmjs.com/package/@visx/shape">
    <img src="https://img.shields.io/npm/dm/@visx/shape.svg?style=flat-square" />
  </a>
  <a href="https://lerna.js.org/" alt="lerna">
     <img src="https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg"/>
  </a>
</p>

### visx

visx is a collection of reusable low-level visualization components. visx combines the power of d3
to generate your visualization with the benefits of react for updating the DOM.

<br />

<p align="center">
  <strong>
    <a href="https://airbnb.io/visx">Docs</a>
  </strong>
  &bull;
  <strong>
    <a href="https://airbnb.io/visx/gallery">Gallery</a>
  </strong>
  &bull;
  <strong>
    <a href="https://medium.com/vx-code/getting-started-with-vx-1756bb661410">Blog</a>
  </strong>
  &bull;
  <strong>
    <a href="https://github.com/airbnb/visx/discussions">Discussions</a>
  </strong>
  &bull;
  <strong>
    <a href="./CHANGELOG.md">Changelog</a>
  </strong>
  &bull;
  <strong>
    <a href="https://medium.com/vx-code/getting-started-with-vx-1756bb661410">Getting started tutorial</a>
  </strong>
</p>

<p align="center">
  <a href="https://airbnb.io/visx/gallery">
    <img src="./assets/visx-gallery.png" />
  </a>
</p>

## Usage

Let's make a simple bar graph.

First we'll install the relevant packages:

```bash
npm install --save @visx/mock-data @visx/group @visx/shape @visx/scale
```

<img src="./assets/simplebar.png" height="150" />

```javascript
import React from 'react';
import { letterFrequency } from '@visx/mock-data';
import { Group } from '@visx/group';
import { Bar } from '@visx/shape';
import { scaleLinear, scaleBand } from '@visx/scale';

// We'll use some mock data from `@visx/mock-data` for this.
const data = letterFrequency;

// Define the graph dimensions and margins
const width = 500;
const height = 500;
const margin = { top: 20, bottom: 20, left: 20, right: 20 };

// Then we'll create some bounds
const xMax = width - margin.left - margin.right;
const yMax = height - margin.top - margin.bottom;

// We'll make some helpers to get at the data we want
const x = (d) => d.letter;
const y = (d) => +d.frequency * 100;

// And then scale the graph by our data
const xScale = scaleBand({
  range: [0, xMax],
  round: true,
  domain: data.map(x),
  padding: 0.4,
});
const yScale = scaleLinear({
  range: [yMax, 0],
  round: true,
  domain: [0, Math.max(...data.map(y))],
});

// Compose together the scale and accessor functions to get point functions
const compose = (scale, accessor) => (data) => scale(accessor(data));
const xPoint = compose(xScale, x);
const yPoint = compose(yScale, y);

// Finally we'll embed it all in an SVG
function BarGraph(props) {
  return (
    <svg width={width} height={height}>
      {data.map((d, i) => {
        const barHeight = yMax - yPoint(d);
        return (
          <Group key={`bar-${i}`}>
            <Bar
              x={xPoint(d)}
              y={yMax - barHeight}
              height={barHeight}
              width={xScale.bandwidth()}
              fill="#fc2e1c"
            />
          </Group>
        );
      })}
    </svg>
  );
}

// ... somewhere else, render it ...
// <BarGraph />
```

For more examples using `visx`, check out the [gallery](https://airbnb.io/visx/gallery).

## Motivation

**Goal**

The goal is to create a library of components you can use to make both your own reusable chart
library or your slick custom one-off chart. visx is largely unopinionated and is meant to be built
upon. Keep your bundle sizes down and use only the packages you need.

**How?**

Under the hood, visx is using d3 for the calculations and math. If you're creating your own awesome
chart library on top of visx, it's easy to create a component api that hides d3 entirely. Meaning
your team could create charts as easily as using reusable react components.

**But why?**

Mixing two mental models for updating the DOM is never a good time. Copy and pasting d3 code into
`componentDidMount()` is just that. This collection of components lets you easily build your own
reusable visualization charts or library without having to learn d3. No more selections or
`enter()`/`exit()`/`update()`.

## In the wild

- [williaster/data-ui](https://github.com/williaster/data-ui)
  ([Demo](https://williaster.github.io/data-ui/))
- [dylanmoz/trello](https://github.com/DylanMoz/dylanmoz.github.io/blob/source/src/pages/trello/TrelloGraph.js)
  ([Demo](http://dylanmoz.github.io/trello/))
  ([How to Make Beautiful Graphs With vx and React-Motion](https://devblog.classy.org/how-to-make-beautiful-graphs-with-vx-and-react-motion-6ffe7aecf6f3))
- [gkunthara/Crypto-Chart](https://github.com/gkunthara/Crypto-Chart)
  ([Tutorial](https://medium.com/@georgekunthara/after-the-tutorial-the-first-react-app-4dce6645634e))
- Collapsible tree with [`react-move`](https://github.com/react-tools/react-move) by
  [@techniq](https://github.com/techniq) ([Demo](https://codesandbox.io/s/n3w687vmqj))
  ([Radial demo](https://codesandbox.io/s/vmqwrkl395))
  ([More info](https://github.com/airbnb/visx/issues/162#issuecomment-335029517))
- Bitcoin 30-day price by [@hshoff](https://github.com/hshoff)
  ([Github](https://github.com/hshoff/viewsource#1-bitcoin-price-chart))
  ([YouTube](https://www.youtube.com/watch?v=oeE2tuspdHg))
- Ethereum candlestick chart by [@hshoff](https://github.com/hshoff)
  ([Github](https://github.com/hshoff/viewsource#2-ethereum-candlestick-chart))
- Song data visualization through spotify by [@bother7](https://github.com/bother7)
  ([Github](https://github.com/bother7/spotalyzer_frontend))
- Investment Calculator ([website](https://investmentcalculator.io/))
- Animation with [`react-spring`](https://github.com/drcmda/react-spring/) by
  [@drcmda](https://github.com/drcmda) ([Demo](https://codesandbox.io/embed/j3x61vjz5v))
- Code Coverage Dashboard by [@ezy](https://github.com/ezy)
  ([Github](https://github.com/ezy/code-coverage-dashboard))
- Ethereum Portfolio Toolkit by [@JayWelsh](https://github.com/JayWelsh)
  ([Demo](https://cryptocape.com/)) ([Github](https://github.com/JayWelsh/CryptoCape))
- Family tree by [@vkallore](https://github.com/vkallore)
  ([Github](https://github.com/vkallore/d3-vx-family-tree))
- South African Coronavirus Data Visuals by [@JayWelsh](https://github.com/JayWelsh)
  ([Demo](https://coronamap.co.za/)) ([Github](https://github.com/JayWelsh/coronamap))
- [CNN: Tracking America's Recovery](https://www.cnn.com/business/us-economic-recovery-coronavirus)
- [Wall Street Journal: Americans Familiarize Themselves with the Word ‘Forbearance’](https://blogs.wsj.com/dailyshot/2020/04/13/the-daily-shot-americans-familiarize-themselves-with-the-word-forbearance/)
  by [@rayshan](https://github.com/rayshan)
  ([Demo](https://finance.shan.io/recessions-bear-markets-compared))
- Dollar to food emoji caculator by [@gmlwo530](https://github.com/gmlwo530)
  ([Demo](https://dollar-to-food-emoji.web.app/))
  ([Github](https://github.com/gmlwo530/dollar-to-food-emoji))
- [zh-TW] Taiwan Real-time Air Quality Index by
  [@ArvinH](https://github.com/ArvinH)([Demo](https://codesandbox.io/s/simpleradar-aqi-with-tooltip-select-data-react-spring-item3?file=/Radar.tsx))([Tutorial](https://blog.arvinh.info/tech/datavis-visx))
- tokenized BTC on ethereum stacked chart with brush by [@sakulstra](https://github.com/sakulstra)
- [Escape From Tarkov Ammo Chart](https://eft.monster/) by
  [@codenomial](https://github.com/codenomial)
- [Pry](https://pry.co) Finance for Founders (dashboard by [@valtism](https://github.com/valtism))
- [Data 2 the People](https://www.data2thepeople.org/) Donation Efficacy Analysis for Downballot
  Races ([Demo](https://donate.data2thepeople.org/))
  ([Github](https://github.com/Data-2-the-People/skyfall/blob/master/components/Scatterplot.jsx))
- [Augora](https://augora.fr) Display information of french deputies
  ([Demo](https://augora.fr/statistiques))([Github](https://github.com/Augora/Augora))
- WHO Coronavirus (COVID-19) Dashboard is built on top of `vx`, earlier version of `visx`.
  ([Demo](https://covid19.who.int/))
- [Fig Stats](https://fig-stats.com) - Figma community plugin & widget analytics
- [Physician.FYI](https://physician.fyi) - Explore physicians' disciplinary history
- [Index by Superstardle](https://index.superstardle.com),
  [Salaries by Superstardle](https://salaries.superstardle.com), &
  [Pack'Em by Superstardle](https://playoffs.superstardle.com) - Explore professional sports teams
  and superstars in the world of underdogs, salaries, and playoff performances.
- Ridgeline chart visualizing shuffling probabilities by [@jmssnr](https://github.com/jmssnr)
  ([Demo](https://shuffling-probability.vercel.app/))
  ([Github](https://github.com/jmssnr/shuffling-probability))
- [UCSF Data Library](https://datalibrary.ucsf.edu) - Landing page for disease research tools
  ([Github](https://github.com/mountetna/monoetna/tree/master/vesta/ui))

Have a project that's using `visx`? Open a pull request and we'll add it to the list.

## FAQ

1. What does `visx` stand for?

   > visx stands for visualization components.

1. Do you plan on supporting animation/transitions?

   > A common criticism of visx is it doesn't have animation baked in, but this was a conscious
   > choice. It's a powerful feature to not bake it in.
   >
   > Imagine your app already bundles `react-motion`, adding a hypothetical `@visx/animation` is
   > bloat. Since visx is react, it already supports all react animation libs.
   >
   > Charting libraries are like style guides. Each org or app will eventually want full control
   > over their own implementation.
   >
   > visx makes this easier for everyone. No need to reinvent the wheel each time.
   >
   > more info: https://github.com/airbnb/visx/issues/6
   >
   > examples:
   >
   > - Collapsible tree with [`react-move`](https://github.com/react-tools/react-move) by
   >   [@techniq](https://github.com/techniq) ([Demo](https://codesandbox.io/s/n3w687vmqj))
   >   ([Radial demo](https://codesandbox.io/s/vmqwrkl395))
   > - Animation with `react-spring` by [@drcmda](https://github.com/drcmda)
   >   ([Demo](https://codesandbox.io/embed/j3x61vjz5v))

1. Do I have to use every package to make a chart?

   > nope! pick and choose the packages you need.

1. Can I use this to create my own library of charts for my team?

   > Please do.

1. Does visx work with [preact](https://preactjs.com/)?

   > yup! need to alias `react` + `react-dom` and use `preact-compat`.

1. I like using d3.

   > Me too.

## Development

Please see [CONTRIBUTING.md](./CONTRIBUTING.md)

:v:

[MIT](./LICENSE)


================================================
FILE: babel.config.js
================================================
const esm = process.env.ESM;

const envOptions = {
  loose: false,
  modules: esm ? false : 'commonjs',
  shippedProposals: true,
  targets: {
    browsers: [
      'chrome >= 108',
      'edge >= 108',
      'firefox >= 133',
      'safari >= 15.6',
      'ios_saf >= 15.6',
      'samsung >= 27',
    ],
  },
  bugfixes: false,
};

const presets = [
  ['@babel/preset-env', envOptions],
  ['@babel/preset-react', { runtime: 'automatic', useBuiltIns: true, useSpread: true }],
  '@babel/preset-typescript',
];

const plugins = [];

const ignore = [
  'coverage/',
  'public/',
  'esm/',
  'lib/',
  'tmp/',
  'dist/',
  '*.d.ts',
  '__tests__',
  '__mocks__',
];

switch (process.env.NODE_ENV) {
  case 'test': {
    envOptions.modules = 'commonjs';
    envOptions.targets = { node: 'current' };
    plugins.push('babel-plugin-dynamic-import-node');
    break;
  }

  case 'development':
  case 'production':
  default: {
    break;
  }
}

module.exports = {
  ignore,
  plugins,
  presets,
};


================================================
FILE: config-eslint/base.js
================================================
const EXTS = ['.ts', '.tsx', '.js', '.jsx', '.json'];
const EXTS_GROUP = '{ts,tsx,js,jsx}';
const ASSET_EXT_PATTERN = /\.(ttf|eot|otf|svg|woff|woff2|mp3|png|jpg|jpeg|gif|ico)$/;

module.exports = {
  parser: '@babel/eslint-parser',

  parserOptions: {
    requireConfigFile: false,
  },

  extends: ['airbnb', 'plugin:jsx-a11y/recommended'],

  plugins: ['import', 'react', 'react-hooks'],

  globals: {
    // Metrics and analytics providers
    ga: 'readonly',
    // Mostly for easier compatibility between browsers, workers, etc
    global: 'readonly',
    // Mostly references to `process.env.NODE_ENV`
    process: 'readonly',
  },

  env: {
    browser: true,
    node: false,
  },

  reportUnusedDisableDirectives: true,

  settings: {
    propWrapperFunctions: ['forbidExtraProps', 'exact', 'Object.freeze'],
    'import/ignore': ['node_modules', '\\.json$', ASSET_EXT_PATTERN.source],
    'import/extensions': EXTS,
    'import/resolver': {
      node: {
        extensions: EXTS,
      },
    },
  },

  rules: {
    'react-hooks/exhaustive-deps': 'error',
    'react-hooks/rules-of-hooks': 'error',
  },

  overrides: [
    {
      files: [`*.test.${EXTS_GROUP}`],
      plugins: [],
      globals: {
        // vitest globals
        describe: 'readonly',
        it: 'readonly',
        test: 'readonly',
        expect: 'readonly',
        assert: 'readonly',
        vitest: 'readonly',
        vi: 'readonly',
        beforeAll: 'readonly',
        beforeEach: 'readonly',
        afterAll: 'readonly',
        afterEach: 'readonly',
        // other globals
        jsdom: 'readonly',
      },
      env: {
        node: true,
      },
      rules: {
        'max-classes-per-file': 'off',
        'no-magic-numbers': 'off',
        'sort-keys': 'off',

        // REACT
        'react/function-component-definition': 'off',
      },
    },
  ],
};


================================================
FILE: config-eslint/next.js
================================================
const EXTS_GROUP = '{ts,tsx,js,jsx}';

module.exports = {
  parser: '@babel/eslint-parser',

  plugins: ['promise', 'unicorn'],

  rules: {
    // Not enabled in Airbnb
    'default-param-last': 'error',
    'func-name-matching': [
      'error',
      'always',
      {
        considerPropertyDescriptor: true,
        includeCommonJSModuleExports: false,
      },
    ],
    'jsx-quotes': ['error', 'prefer-double'],
    'multiline-comment-style': 'off',
    'multiline-ternary': ['error', 'never'],
    'no-constant-condition': 'error',
    'no-constructor-return': 'error',
    'no-div-regex': 'error',
    'no-dupe-else-if': 'error',
    'no-implicit-coercion': 'error',
    'no-import-assign': 'error',
    'no-native-reassign': 'error',
    'no-negated-condition': 'error',
    'no-setter-return': 'error',
    'no-useless-call': 'error',
    'prefer-exponentiation-operator': 'error',
    'prefer-regex-literals': 'error',
    'require-atomic-updates': 'error',

    // Replaced with new proposals
    'react/jsx-props-no-spreading': 'off',
    'react/state-in-constructor': 'off',
    'react/static-property-placement': 'off',

    // IMPORT
    'import/default': 'error',
    'import/namespace': 'error',
    'import/no-unused-modules': 'off', // Super broken at the moment
    'import/imports-first': 'error',

    // PROMISE
    'promise/no-callback-in-promise': 'error',
    'promise/no-new-statics': 'error',
    'promise/no-promise-in-callback': 'error',
    'promise/no-return-in-finally': 'error',
    'promise/no-return-wrap': ['error', { allowReject: true }],
    'promise/param-names': 'error',
    'promise/valid-params': 'error',

    // REACT
    'react/destructuring-assignment': 'off', // Broken with class properties
    'react/forbid-prop-types': ['error', { forbid: ['any', 'array'] }],
    'react/jsx-handler-names': [
      'error',
      {
        eventHandlerPrefix: 'handle',
        eventHandlerPropPrefix: 'on',
      },
    ],
    'react/jsx-key': 'error',
    'react/jsx-no-literals': 'error',
    'react/jsx-no-useless-fragment': 'error',
    'react/jsx-no-script-url': 'error',
    'react/jsx-sort-default-props': [
      'error',
      {
        ignoreCase: true,
      },
    ],
    'react/jsx-sort-props': [
      'error',
      {
        callbacksLast: true,
        shorthandFirst: true,
        noSortAlphabetically: true,
        reservedFirst: true,
      },
    ],
    'react/no-did-mount-set-state': 'error',
    'react/no-direct-mutation-state': 'error',
    'react/no-unknown-property': [
      2,
      {
        ignore: ['jsx', 'global'], // used by next
      },
    ],
    'react/sort-comp': 'off',
    'react/sort-prop-types': [
      'error',
      {
        ignoreCase: true,
        callbacksLast: true,
        requiredFirst: false,
        sortShapeProp: true,
      },
    ],

    // UNICORN
    'unicorn/better-regex': 'error',
    'unicorn/catch-error-name': 'error',
    'unicorn/consistent-function-scoping': 'error',
    'unicorn/custom-error-definition': 'error',
    'unicorn/error-message': 'error',
    'unicorn/escape-case': 'error',
    'unicorn/explicit-length-check': 'error',
    'unicorn/filename-case': 'off',
    'unicorn/import-index': 'error',
    'unicorn/new-for-builtins': 'error',
    'unicorn/no-abusive-eslint-disable': 'off',
    'unicorn/no-array-instanceof': 'error',
    'unicorn/no-hex-escape': 'error',
    'unicorn/no-fn-reference-in-iterator': 'error',
    'unicorn/no-for-loop': 'error',
    'unicorn/no-new-buffer': 'error',
    'unicorn/no-process-exit': 'error',
    'unicorn/no-zero-fractions': 'error',
    'unicorn/number-literal-case': 'error',
    'unicorn/prefer-add-event-listener': 'error',
    'unicorn/prefer-dataset': 'error',
    'unicorn/prefer-event-key': 'error',
    'unicorn/prefer-flat-map': 'error',
    'unicorn/prefer-includes': 'error',
    'unicorn/prefer-modern-dom-apis': 'error',
    'unicorn/prefer-negative-index': 'error',
    'unicorn/prefer-node-append': 'error',
    'unicorn/prefer-node-remove': 'error',
    'unicorn/prefer-starts-ends-with': 'error',
    'unicorn/prefer-string-slice': 'error',
    'unicorn/prefer-spread': 'off', // Currently broken
    'unicorn/prefer-text-content': 'error',
    'unicorn/prefer-trim-start-end': 'error',
    'unicorn/prefer-type-error': 'error',
    'unicorn/throw-new-error': 'error',
  },

  overrides: [
    {
      files: [`*.test.${EXTS_GROUP}`],
      rules: {
        'unicorn/no-fn-reference-in-iterator': 'off',
        'unicorn/consistent-function-scoping': 'off',
      },
    },
  ],
};


================================================
FILE: config-eslint/prettier.js
================================================
module.exports = {
  extends: ['prettier'],

  plugins: ['prettier'],

  rules: {
    'prettier/prettier': 'error',
  },
};


================================================
FILE: config-eslint/typescript.js
================================================
const EXTS_GROUP = '{ts,tsx,js,jsx}';

// In TS, all arguments are required for type information,
// so we need to override the base JS setting.
const noUnused = { vars: 'all', args: 'none', ignoreRestSiblings: true };

const project = 'tsconfig.eslint.json';

module.exports = {
  settings: {
    'import/parsers': {
      '@typescript-eslint/parser': ['.ts', '.tsx'],
    },
  },

  parserOptions: {
    project,
  },

  overrides: [
    {
      files: ['*.{ts,tsx}'],

      parser: '@typescript-eslint/parser',

      plugins: ['@typescript-eslint'],

      rules: {
        'func-call-spacing': 'off',
        'no-restricted-globals': 'off',
        'no-unused-vars': 'off',

        // IMPORT (Conflicts with TS patterns)
        'no-duplicate-imports': 'off', // Disabled in favor of import/no-duplicates
        'import/export': 'off', // TypeScript allows same name for type and value exports
        'import/extensions': [
          'error',
          'never',
          {
            json: 'always',
          },
        ],
        'import/named': 'off',
        'import/no-cycle': 'off',
        'import/no-duplicates': 'error', // Handles TS type/value namespace separation
        'import/no-named-as-default': 'off',
        'import/no-extraneous-dependencies': [
          'error',
          {
            devDependencies: [
              `test/**/*.${EXTS_GROUP}`,
              `tests/**/*.${EXTS_GROUP}`,
              `**/*.test.${EXTS_GROUP}`,
              `**/jest.config.${EXTS_GROUP}`,
              `**/webpack.config.${EXTS_GROUP}`,
              `**/webpack.config.*.${EXTS_GROUP}`,
            ],
            optionalDependencies: false,
          },
        ],

        // REACT (We dont use prop types)
        'react/default-props-match-prop-types': 'off',
        'react/jsx-filename-extension': [
          'error',
          {
            extensions: ['.tsx'],
          },
        ],
        'react/no-unused-prop-types': 'off',
        'react/prop-types': 'off',
        'react/require-default-props': 'off',

        // UNICORN
        'unicorn/no-fn-reference-in-iterator': 'off',

        // TYPESCRIPT
        '@typescript-eslint/adjacent-overload-signatures': 'error',
        '@typescript-eslint/await-thenable': 'error',
        '@typescript-eslint/camelcase': 'off', // broken
        '@typescript-eslint/class-name-casing': 'off', // broken
        '@typescript-eslint/consistent-type-assertions': [
          'error',
          { assertionStyle: 'as', objectLiteralTypeAssertions: 'allow-as-parameter' },
        ],
        '@typescript-eslint/consistent-type-exports': ['error', { fixMixedExportsWithInlineTypeSpecifier: true }],
        '@typescript-eslint/consistent-type-imports': ['error', { prefer: 'type-imports' }],
        '@typescript-eslint/explicit-function-return-type': 'off', // Allow inferrence
        '@typescript-eslint/func-call-spacing': ['error', 'never'],
        '@typescript-eslint/member-delimiter-style': 'error',
        '@typescript-eslint/member-ordering': 'off', // Prefer react/sort-comp
        '@typescript-eslint/no-array-constructor': 'error',
        '@typescript-eslint/no-empty-function': 'off', // Default props are usually empty
        '@typescript-eslint/no-empty-interface': 'error',
        '@typescript-eslint/no-explicit-any': [
          'warn',
          { fixToUnknown: false, ignoreRestArgs: true },
        ],
        '@typescript-eslint/no-extra-parens': 'error',
        '@typescript-eslint/no-for-in-array': 'error',
        '@typescript-eslint/no-misused-new': 'error',
        '@typescript-eslint/no-misused-promises': 'error',
        '@typescript-eslint/no-require-imports': 'error',
        '@typescript-eslint/no-unnecessary-boolean-literal-compare': 'error',
        '@typescript-eslint/no-unsafe-call': 'warn',
        '@typescript-eslint/no-unsafe-member-access': 'warn',
        '@typescript-eslint/no-unsafe-return': 'warn',
        '@typescript-eslint/no-unused-vars': ['error', noUnused],
        '@typescript-eslint/no-use-before-define': 'error',
        '@typescript-eslint/prefer-as-const': 'error',
        '@typescript-eslint/prefer-for-of': 'error',
        '@typescript-eslint/prefer-namespace-keyword': 'error',
        '@typescript-eslint/prefer-nullish-coalescing': 'off', // Lots of false positives
        '@typescript-eslint/prefer-optional-chain': 'error',
        '@typescript-eslint/promise-function-async': 'off', // Conflicts with other async rules
        '@typescript-eslint/require-await': 'error',
        '@typescript-eslint/switch-exhaustiveness-check': 'error',
        '@typescript-eslint/triple-slash-reference': 'error',
        '@typescript-eslint/type-annotation-spacing': 'error',
        '@typescript-eslint/unified-signatures': 'error',
      },
    },
  ],
};


================================================
FILE: lerna.json
================================================
{
  "packages": [
    "packages/*"
  ],
  "version": "4.0.1-alpha.0",
  "command": {
    "publish": {
      "allowBranch": "master"
    }
  },
  "$schema": "node_modules/lerna/schemas/lerna-schema.json"
}

================================================
FILE: package.json
================================================
{
  "name": "@visx/root",
  "license": "MIT",
  "version": "0.0.0",
  "description": "Low-level visualization components",
  "keywords": [
    "react",
    "d3",
    "visualization",
    "visx",
    "charts"
  ],
  "engines": {
    "node": ">=22.0.0",
    "yarn": ">=4.0.0"
  },
  "contributors": [
    {
      "name": "Harrison Shoff",
      "url": "https://github.com/hshoff"
    },
    {
      "name": "Chris Williams",
      "url": "https://github.com/williaster"
    },
    {
      "name": "Krist Wongsuphasawat",
      "url": "https://github.com/kristw"
    }
  ],
  "private": true,
  "scripts": {
    "build:vendor": "yarn run ts ./packages/visx-vendor/scripts/buildVendor",
    "babel": "yarn run babel:cjs && yarn run babel:esm",
    "babel:cjs": "lerna exec --ignore '@visx/{demo,vendor}' --parallel -- babel --root-mode upward --delete-dir-on-start src/ --out-dir lib --extensions .ts,.tsx",
    "babel:esm": "ESM=true lerna exec --ignore '@visx/{demo,vendor}' --parallel -- babel --root-mode upward --delete-dir-on-start src/ --out-dir esm --extensions .ts,.tsx",
    "babel:pkg": "lerna exec --scope $PKG -- babel --root-mode upward --delete-dir-on-start src/ --out-dir lib --extensions .ts,.tsx && lerna exec --scope $PKG -- ESM=true babel --root-mode upward --delete-dir-on-start src/ --out-dir esm --extensions .ts,.tsx",
    "build": "yarn run build:vendor && yarn run babel && yarn run type",
    "build:sizes": "yarn run ts ./scripts/computeBuildSizes.ts",
    "build:release": "yarn run ts ./scripts/performRelease/index.ts",
    "dev:demo": "yarn run docs:generate && yarn workspace @visx/demo dev",
    "check:sizes": "yarn run ts ./scripts/compareBuildSizes.ts",
    "clean": "rm -rf ./packages/**/{lib,esm}",
    "docs:generate": "yarn run ts ./scripts/generateDocs.ts",
    "format": "lerna exec --parallel -- prettier --write --ignore-path ../../.prettierignore .",
    "lint": "eslint packages/ --quiet",
    "lint:fix": "yarn run lint --fix",
    "postinstall": "yarn run ts ./scripts/postInstall.ts",
    "prepare-release": "git checkout master && git pull --rebase origin master && lerna updated",
    "release": "yarn run prepare-release && lerna publish --exact",
    "setup": "yarn run build",
    "test": "yarn run vitest run",
    "test:watch": "yarn run vitest watch",
    "vitest": "vitest",
    "vitest:ui": "vitest --ui",
    "ts": "ts-node --project ./tsconfig.node.json",
    "type": "yarn type:clean && yarn type:build",
    "type:build": "lerna exec -- tsc --build",
    "type:clean": "find . -type f -name 'tsconfig.tsbuildinfo' -delete",
    "type:pkg": "lerna exec --scope $PKG -- tsc --build --verbose",
    "type:update-refs": "yarn run ts ./scripts/updateTsReferences.ts",
    "vendor-check": "yarn run ts ./packages/visx-vendor/scripts/flagVendorRequirements.ts"
  },
  "devDependencies": {
    "@babel/cli": "^7.26.4",
    "@babel/core": "^7.26.0",
    "@babel/eslint-parser": "^7.25.9",
    "@babel/preset-env": "^7.26.0",
    "@babel/preset-react": "^7.26.3",
    "@babel/preset-typescript": "^7.26.0",
    "@octokit/openapi-types": "18.0.0",
    "@octokit/rest": "18.1.0",
    "@testing-library/dom": "^10.4.0",
    "@testing-library/jest-dom": "^6.6.0",
    "@testing-library/react": "^16.1.0",
    "@testing-library/user-event": "^13.5.0",
    "@types/jsdom": "27.0.0",
    "@types/node": "^22.10.2",
    "@types/react": "^19.0.0",
    "@types/react-dom": "^19.0.0",
    "@typescript-eslint/eslint-plugin": "^8.18.1",
    "@typescript-eslint/parser": "^8.18.1",
    "@vitest/coverage-v8": "4",
    "@vitest/eslint-plugin": "^1.4.0",
    "@vitest/ui": "4",
    "airbnb-js-shims": "^2.2.1",
    "chalk": "4.1.0",
    "eslint": "^8.57.0",
    "eslint-config-airbnb": "^19.0.4",
    "eslint-config-prettier": "^8.5.0",
    "eslint-plugin-import": "^2.26.0",
    "eslint-plugin-jsx-a11y": "^6.6.1",
    "eslint-plugin-prettier": "^4.2.1",
    "eslint-plugin-promise": "^6.1.1",
    "eslint-plugin-react": "^7.31.11",
    "eslint-plugin-react-hooks": "^4.6.0",
    "eslint-plugin-unicorn": "^45.0.2",
    "fast-glob": "3.2.5",
    "filesize": "6.1.0",
    "jsdom": "27.0.0",
    "lerna": "^9.0.0",
    "prettier": "^2.8.1",
    "react": "^16.14.0 || ^17.0.0-0 || ^18.0.0-0 || ^19.0.0-0",
    "react-dom": "^16.14.0 || ^17.0.0-0 || ^18.0.0-0 || ^19.0.0-0",
    "timezone-mock": "^1.1.0",
    "ts-node": "^10.9.1",
    "typescript": "^5.7.0",
    "vitest": "4"
  },
  "packageManager": "yarn@4.10.3",
  "workspaces": {
    "packages": [
      "./packages/*"
    ]
  },
  "resolutions": {
    "react": "^19.0.0",
    "react-dom": "^19.0.0",
    "@types/react": "^19.0.0",
    "@types/react-dom": "^19.0.0"
  }
}


================================================
FILE: packages/sizes.json
================================================
{"visx-annotation":{"esm":19643,"lib":23755},"visx-axis":{"esm":13359,"lib":18132},"visx-bounds":{"esm":1493,"lib":1915},"visx-brush":{"esm":41994,"lib":44001},"visx-chord":{"esm":1901,"lib":2683},"visx-clip-path":{"esm":1507,"lib":2713},"visx-curve":{"esm":351,"lib":2594},"visx-delaunay":{"esm":1466,"lib":2489},"visx-demo":{"esm":0,"lib":0},"visx-drag":{"esm":9053,"lib":11025},"visx-event":{"esm":3548,"lib":5257},"visx-geo":{"esm":8057,"lib":11674},"visx-glyph":{"esm":7192,"lib":11421},"visx-gradient":{"esm":6872,"lib":11581},"visx-grid":{"esm":9592,"lib":12892},"visx-group":{"esm":499,"lib":1030},"visx-heatmap":{"esm":3490,"lib":4564},"visx-hierarchy":{"esm":8639,"lib":13458},"visx-legend":{"esm":14799,"lib":20754},"visx-marker":{"esm":3822,"lib":6120},"visx-mock-data":{"esm":325638,"lib":330728},"visx-network":{"esm":3058,"lib":5105},"visx-pattern":{"esm":7349,"lib":10317},"visx-point":{"esm":776,"lib":1901},"visx-react-spring":{"esm":8697,"lib":11009},"visx-responsive":{"esm":9041,"lib":11514},"visx-sankey":{"esm":2498,"lib":3894},"visx-scale":{"esm":18819,"lib":30918},"visx-shape":{"esm":51809,"lib":74614},"visx-stats":{"esm":9249,"lib":10690},"visx-text":{"esm":5953,"lib":7453},"visx-threshold":{"esm":2064,"lib":2758},"visx-tooltip":{"esm":9173,"lib":13672},"visx-vendor":{"esm":2974,"lib":3226},"visx-visx":{"esm":1538,"lib":3999},"visx-voronoi":{"esm":1298,"lib":2088},"visx-wordcloud":{"esm":1987,"lib":2995},"visx-xychart":{"esm":125113,"lib":155595},"visx-zoom":{"esm":12499,"lib":14835}}

================================================
FILE: packages/visx-annotation/.npmrc
================================================
package-lock=false

================================================
FILE: packages/visx-annotation/Readme.md
================================================
# @visx/annotation

<p>
  <a title="@visx/annotation npm downloads" href="https://www.npmjs.com/package/@visx/annotation">
    <img src="https://img.shields.io/npm/dm/@visx/annotation.svg?style=flat-square" />
  </a>
</p>

SVG `Annotation`s enable you to label points, thresholds, or regions of a visualization to provide
additional context to for your chart consumer. This package is heavily inspired by
[Susie Lu](https://github.com/susielu/)'s
[`react-annotation`](https://github.com/susielu/react-annotation) library.

Each annotation consists of three (optional) parts:

1. `Subject` (`CircleSubject`, `LineSubject`, more 🔜) – what part of a chart is being annotated
   (point, line, region)

2. `Label` – the text component for the annotation. Handles SVG text wrapping using `@visx/text`,
   and supports `title` and `subtitle` customization as well as vertical & horizontal anchors /
   alignment

3. `Connector` – line connecting a subject and label

The `Annotation` or `EditableAnnotation` component wrappers allow you to compose these components
and simplify their individual positioning:

```tsx
<EditableAnnotation
  x={subjectX}
  y={subjectY}
  dx={labelDx} // x offset of label from subject
  dy={labelDy} // y offset of label from subject
  onDragEnd={({ x, y, dx, dy }) => ...}
>
  <Connector />
  <CircleSubject />
  <Label title="Context about this point" subtitle="More deets">
</EditableAnnotation>
```

Components can also be used in isolation, in which case you must specify exact positions for each
item:

```tsx
() => (
  <g>
    <Connector x={subjectX} y={subjectY} dx={labelDx} dy={labelDy} />
    <CircleSubject x={subjectX} y={subjectY} />
    <Label x={subjectX + labelDx} y={subjectY + labelDy} title="...">
  </g>
)
```

##### ⚠️ `ResizeObserver` dependency

The `Label` component relies on `ResizeObserver`s for auto-sizing. If you need a polyfill, you can
either polute the `window` object or inject it cleanly through props:

```tsx
import { ResizeObserver } from 'your-favorite-polyfill';

function App() {
  return <Label resizeObserverPolyfill={ResizeObserver} {...} />
```

## Installation

```
Download .txt
gitextract_s3xwcrx5/

├── .eslintignore
├── .eslintrc.js
├── .github/
│   └── workflows/
│       ├── pull_request.yml
│       └── push.yml
├── .gitignore
├── .npmignore
├── .npmrc
├── .nvmrc
├── .prettierignore
├── .yarnrc.yml
├── ATTRIBUTION.md
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── PULL_REQUEST_TEMPLATE.md
├── README.md
├── babel.config.js
├── config-eslint/
│   ├── base.js
│   ├── next.js
│   ├── prettier.js
│   └── typescript.js
├── lerna.json
├── package.json
├── packages/
│   ├── sizes.json
│   ├── visx-annotation/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── components/
│   │   │   │   ├── Annotation.tsx
│   │   │   │   ├── CircleSubject.tsx
│   │   │   │   ├── Connector.tsx
│   │   │   │   ├── EditableAnnotation.tsx
│   │   │   │   ├── HtmlLabel.tsx
│   │   │   │   ├── Label.tsx
│   │   │   │   ├── LabelAnchorLine.tsx
│   │   │   │   └── LineSubject.tsx
│   │   │   ├── context/
│   │   │   │   └── AnnotationContext.tsx
│   │   │   ├── index.ts
│   │   │   └── types/
│   │   │       └── index.ts
│   │   ├── test/
│   │   │   ├── Annotation.test.tsx
│   │   │   ├── CircleSubject.test.tsx
│   │   │   ├── Connector.test.tsx
│   │   │   ├── EditableAnnotation.test.tsx
│   │   │   ├── HtmlLabel.test.tsx
│   │   │   ├── Label.test.tsx
│   │   │   ├── LineSubject.test.tsx
│   │   │   ├── svgMock.ts
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-axis/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── axis/
│   │   │   │   ├── Axis.tsx
│   │   │   │   ├── AxisBottom.tsx
│   │   │   │   ├── AxisLeft.tsx
│   │   │   │   ├── AxisRenderer.tsx
│   │   │   │   ├── AxisRight.tsx
│   │   │   │   ├── AxisTop.tsx
│   │   │   │   └── Ticks.tsx
│   │   │   ├── constants/
│   │   │   │   └── orientation.ts
│   │   │   ├── index.ts
│   │   │   ├── types.ts
│   │   │   └── utils/
│   │   │       ├── createPoint.ts
│   │   │       ├── getAxisRangePaddingConfig.ts
│   │   │       ├── getLabelTransform.ts
│   │   │       ├── getTickFormatter.ts
│   │   │       └── getTickPosition.ts
│   │   ├── test/
│   │   │   ├── Axis.test.tsx
│   │   │   ├── AxisBottom.test.tsx
│   │   │   ├── AxisLeft.test.tsx
│   │   │   ├── AxisRight.test.tsx
│   │   │   ├── AxisTop.test.tsx
│   │   │   ├── Orientation.test.ts
│   │   │   ├── scales.test.tsx
│   │   │   ├── svgMock.ts
│   │   │   ├── tsconfig.json
│   │   │   └── utils/
│   │   │       ├── getAxisRangePaddingConfig.test.ts
│   │   │       └── getTickPosition.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-bounds/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── enhancers/
│   │   │   │   └── withBoundingRects.tsx
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── tsconfig.json
│   │   │   └── withBoundingRects.test.tsx
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-brush/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── BaseBrush.tsx
│   │   │   ├── Brush.tsx
│   │   │   ├── BrushCorner.tsx
│   │   │   ├── BrushHandle.tsx
│   │   │   ├── BrushOverlay.tsx
│   │   │   ├── BrushSelection.tsx
│   │   │   ├── index.ts
│   │   │   ├── types.ts
│   │   │   └── utils.ts
│   │   ├── test/
│   │   │   ├── Brush.test.tsx
│   │   │   ├── tsconfig.json
│   │   │   └── utils.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-chord/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Chord.tsx
│   │   │   ├── Ribbon.tsx
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Chord.test.tsx
│   │   │   ├── Ribbon.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-clip-path/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── clip-paths/
│   │   │   │   ├── CircleClipPath.tsx
│   │   │   │   ├── ClipPath.tsx
│   │   │   │   └── RectClipPath.tsx
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── ClipPaths.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-curve/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── curve.test.ts
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-delaunay/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── components/
│   │   │   │   └── Polygon.tsx
│   │   │   ├── delaunay.ts
│   │   │   ├── index.ts
│   │   │   └── voronoi.ts
│   │   ├── test/
│   │   │   ├── Polygon.test.tsx
│   │   │   ├── delaunay.test.ts
│   │   │   ├── tsconfig.json
│   │   │   └── voronoi.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-demo/
│   │   ├── .gitignore
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── next-env.d.ts
│   │   ├── next.config.js
│   │   ├── package.json
│   │   ├── public/
│   │   │   └── static/
│   │   │       ├── doc_styles.css
│   │   │       ├── prism/
│   │   │       │   ├── prism-funky.css
│   │   │       │   └── prism-line-numbers.css
│   │   │       ├── style.css
│   │   │       └── visx-geo/
│   │   │           └── world-topo.json
│   │   ├── src/
│   │   │   ├── components/
│   │   │   │   ├── ApiTable.tsx
│   │   │   │   ├── CodeSandboxLink.tsx
│   │   │   │   ├── Codeblock.tsx
│   │   │   │   ├── DocPage.tsx
│   │   │   │   ├── Footer.tsx
│   │   │   │   ├── Gallery/
│   │   │   │   │   ├── .eslintrc
│   │   │   │   │   ├── AnnotationTile.tsx
│   │   │   │   │   ├── AreaTile.tsx
│   │   │   │   │   ├── AxisTile.tsx
│   │   │   │   │   ├── BarGroupHorizontalTile.tsx
│   │   │   │   │   ├── BarGroupTile.tsx
│   │   │   │   │   ├── BarStackHorizontalTile.tsx
│   │   │   │   │   ├── BarStackTile.tsx
│   │   │   │   │   ├── BarsTile.tsx
│   │   │   │   │   ├── BrushTile.tsx
│   │   │   │   │   ├── ChordTile.tsx
│   │   │   │   │   ├── CurvesTile.tsx
│   │   │   │   │   ├── DelaunayTriangulationTile.tsx
│   │   │   │   │   ├── DelaunayVoronoiTile.tsx
│   │   │   │   │   ├── DendrogramsTile.tsx
│   │   │   │   │   ├── DotsTile.tsx
│   │   │   │   │   ├── DragIITile.tsx
│   │   │   │   │   ├── DragITile.tsx
│   │   │   │   │   ├── GeoAlbersUsaTile.tsx
│   │   │   │   │   ├── GeoCustomTile.tsx
│   │   │   │   │   ├── GeoMercatorTile.tsx
│   │   │   │   │   ├── GlyphsTile.tsx
│   │   │   │   │   ├── GradientsTile.tsx
│   │   │   │   │   ├── HeatmapsTile.tsx
│   │   │   │   │   ├── LegendsTile.tsx
│   │   │   │   │   ├── LineRadialTile.tsx
│   │   │   │   │   ├── LinkTypesTile.tsx
│   │   │   │   │   ├── NetworkTile.tsx
│   │   │   │   │   ├── PackTile.tsx
│   │   │   │   │   ├── PatternsTile.tsx
│   │   │   │   │   ├── PiesTile.tsx
│   │   │   │   │   ├── PolygonsTile.tsx
│   │   │   │   │   ├── RadarTile.tsx
│   │   │   │   │   ├── RadialBarsTile.tsx
│   │   │   │   │   ├── ResponsiveTile.tsx
│   │   │   │   │   ├── SankeyTile.tsx
│   │   │   │   │   ├── SplitLinePathTile.tsx
│   │   │   │   │   ├── StackedAreasTile.tsx
│   │   │   │   │   ├── StatsPlotTile.tsx
│   │   │   │   │   ├── StreamGraphTile.tsx
│   │   │   │   │   ├── TextTile.tsx
│   │   │   │   │   ├── ThresholdTile.tsx
│   │   │   │   │   ├── TooltipTile.tsx
│   │   │   │   │   ├── TreemapTile.tsx
│   │   │   │   │   ├── TreesTile.tsx
│   │   │   │   │   ├── VoronoiTile.tsx
│   │   │   │   │   ├── WordcloudTile.tsx
│   │   │   │   │   ├── XYChartTile.tsx
│   │   │   │   │   ├── ZoomITile.tsx
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── GalleryTile.tsx
│   │   │   │   ├── Logo.tsx
│   │   │   │   ├── Meta.tsx
│   │   │   │   ├── Nav.tsx
│   │   │   │   ├── NavItem.tsx
│   │   │   │   ├── NoSsr.tsx
│   │   │   │   ├── PackageList.tsx
│   │   │   │   ├── Page.tsx
│   │   │   │   ├── Show.tsx
│   │   │   │   ├── VisxDocLink.tsx
│   │   │   │   ├── icons/
│   │   │   │   │   ├── Belo.tsx
│   │   │   │   │   ├── GitHub.tsx
│   │   │   │   │   ├── Instagram.tsx
│   │   │   │   │   ├── Medium.tsx
│   │   │   │   │   └── Twitter.tsx
│   │   │   │   └── util/
│   │   │   │       ├── drawData.ts
│   │   │   │       ├── extractVisxDepsFromPackageJson.ts
│   │   │   │       └── format.ts
│   │   │   ├── next-env.d.ts
│   │   │   ├── pages/
│   │   │   │   ├── .eslintrc
│   │   │   │   ├── _app.tsx
│   │   │   │   ├── _document.tsx
│   │   │   │   ├── annotation.tsx
│   │   │   │   ├── areas.tsx
│   │   │   │   ├── axis.tsx
│   │   │   │   ├── bargroup.tsx
│   │   │   │   ├── bargrouphorizontal.tsx
│   │   │   │   ├── bars.tsx
│   │   │   │   ├── barstack.tsx
│   │   │   │   ├── barstackhorizontal.tsx
│   │   │   │   ├── brush.tsx
│   │   │   │   ├── chord.tsx
│   │   │   │   ├── curves.tsx
│   │   │   │   ├── delaunay-triangulation.tsx
│   │   │   │   ├── delaunay-voronoi.tsx
│   │   │   │   ├── dendrograms.tsx
│   │   │   │   ├── docs/
│   │   │   │   │   ├── .eslintrc
│   │   │   │   │   ├── annotation.tsx
│   │   │   │   │   ├── axis.tsx
│   │   │   │   │   ├── bounds.tsx
│   │   │   │   │   ├── brush.tsx
│   │   │   │   │   ├── chord.tsx
│   │   │   │   │   ├── clip-path.tsx
│   │   │   │   │   ├── curve.tsx
│   │   │   │   │   ├── delaunay.tsx
│   │   │   │   │   ├── drag.tsx
│   │   │   │   │   ├── event.tsx
│   │   │   │   │   ├── geo.tsx
│   │   │   │   │   ├── glyph.tsx
│   │   │   │   │   ├── gradient.tsx
│   │   │   │   │   ├── grid.tsx
│   │   │   │   │   ├── group.tsx
│   │   │   │   │   ├── heatmap.tsx
│   │   │   │   │   ├── hierarchy.tsx
│   │   │   │   │   ├── legend.tsx
│   │   │   │   │   ├── marker.tsx
│   │   │   │   │   ├── mock-data.tsx
│   │   │   │   │   ├── network.tsx
│   │   │   │   │   ├── pattern.tsx
│   │   │   │   │   ├── point.tsx
│   │   │   │   │   ├── react-spring.tsx
│   │   │   │   │   ├── responsive.tsx
│   │   │   │   │   ├── sankey.tsx
│   │   │   │   │   ├── scale.tsx
│   │   │   │   │   ├── shape.tsx
│   │   │   │   │   ├── stats.tsx
│   │   │   │   │   ├── text.tsx
│   │   │   │   │   ├── threshold.tsx
│   │   │   │   │   ├── tooltip.tsx
│   │   │   │   │   ├── visx.tsx
│   │   │   │   │   ├── voronoi.tsx
│   │   │   │   │   ├── wordcloud.tsx
│   │   │   │   │   ├── xychart.tsx
│   │   │   │   │   └── zoom.tsx
│   │   │   │   ├── docs.tsx
│   │   │   │   ├── dots.tsx
│   │   │   │   ├── drag-i.tsx
│   │   │   │   ├── drag-ii.tsx
│   │   │   │   ├── gallery.tsx
│   │   │   │   ├── geo-albers-usa.tsx
│   │   │   │   ├── geo-custom.tsx
│   │   │   │   ├── geo-mercator.tsx
│   │   │   │   ├── glyphs.tsx
│   │   │   │   ├── gradients.tsx
│   │   │   │   ├── heatmaps.tsx
│   │   │   │   ├── home.tsx
│   │   │   │   ├── index.tsx
│   │   │   │   ├── legends.tsx
│   │   │   │   ├── lineradial.tsx
│   │   │   │   ├── linktypes.tsx
│   │   │   │   ├── network.tsx
│   │   │   │   ├── pack.tsx
│   │   │   │   ├── patterns.tsx
│   │   │   │   ├── pies.tsx
│   │   │   │   ├── polygons.tsx
│   │   │   │   ├── radar.tsx
│   │   │   │   ├── radial-bars.tsx
│   │   │   │   ├── responsive.tsx
│   │   │   │   ├── sankey.tsx
│   │   │   │   ├── splitlinepath.tsx
│   │   │   │   ├── stacked-areas.tsx
│   │   │   │   ├── statsplot.tsx
│   │   │   │   ├── streamgraph.tsx
│   │   │   │   ├── text.tsx
│   │   │   │   ├── threshold.tsx
│   │   │   │   ├── tooltip.tsx
│   │   │   │   ├── treemap.tsx
│   │   │   │   ├── trees.tsx
│   │   │   │   ├── voronoi.tsx
│   │   │   │   ├── wordcloud.tsx
│   │   │   │   ├── xychart.tsx
│   │   │   │   └── zoom-i.tsx
│   │   │   ├── sandboxes/
│   │   │   │   ├── .eslintrc
│   │   │   │   ├── README.md
│   │   │   │   ├── exampleToVisxDependencyLookup.ts
│   │   │   │   ├── template/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-annotation/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── ExampleControls.tsx
│   │   │   │   │   ├── findNearestDatum.ts
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-area/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-axis/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-bargroup/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-bargroup-horizontal/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-bars/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-barstack/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-barstack-horizontal/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-brush/
│   │   │   │   │   ├── AreaChart.tsx
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-chord/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-curve/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-delaunay-triangulation/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-delaunay-voronoi/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-dendrogram/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-dots/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-drag-i/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── generateCircles.ts
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-drag-ii/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-geo-albers-usa/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── sandbox-styles.css
│   │   │   │   │   ├── us-abbr.json
│   │   │   │   │   ├── usa-topo.d.ts
│   │   │   │   │   └── usa-topo.json
│   │   │   │   ├── visx-geo-custom/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── sandbox-styles.css
│   │   │   │   │   ├── world-topo.d.ts
│   │   │   │   │   └── world-topo.json
│   │   │   │   ├── visx-geo-mercator/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── sandbox-styles.css
│   │   │   │   │   ├── world-topo.d.ts
│   │   │   │   │   └── world-topo.json
│   │   │   │   ├── visx-glyph/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-gradient/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-heatmap/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-legend/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-linktypes/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── LinkControls.tsx
│   │   │   │   │   ├── getLinkComponent.ts
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── sandbox-styles.css
│   │   │   │   │   └── useForceUpdate.ts
│   │   │   │   ├── visx-network/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-pack/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-pattern/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-polygons/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-radar/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-radial-bars/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-responsive/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── Lines.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-sankey/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── energy.json
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-shape-line-radial/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-shape-pie/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-shape-splitlinepath/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── generateSinPoints.ts
│   │   │   │   │   ├── generateSinSegments.ts
│   │   │   │   │   ├── generateSnakePath.ts
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-stacked-areas/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-stats/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-streamgraph/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── generateData.ts
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── sandbox-styles.css
│   │   │   │   │   └── useForceUpdate.ts
│   │   │   │   ├── visx-threshold/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-tooltip/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-tree/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-treemap/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-voronoi/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   └── sandbox-styles.css
│   │   │   │   ├── visx-wordcloud/
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── sandbox-styles.css
│   │   │   │   │   └── text.fixture.ts
│   │   │   │   ├── visx-xychart/
│   │   │   │   │   ├── CustomChartBackground.tsx
│   │   │   │   │   ├── Example.tsx
│   │   │   │   │   ├── ExampleControls.tsx
│   │   │   │   │   ├── customTheme.ts
│   │   │   │   │   ├── getAnimatedOrUnanimatedComponents.ts
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── sandbox-styles.css
│   │   │   │   │   └── userPrefersReducedMotion.ts
│   │   │   │   └── visx-zoom-i/
│   │   │   │       ├── Example.tsx
│   │   │   │       ├── index.tsx
│   │   │   │       ├── package.json
│   │   │   │       └── sandbox-styles.css
│   │   │   ├── types/
│   │   │   │   ├── index.ts
│   │   │   │   └── raw-loader.d.ts
│   │   │   └── utils/
│   │   │       ├── getDocGenInfo.ts
│   │   │       └── getGitHubUrl.ts
│   │   ├── tsconfig.json
│   │   └── vercel.json
│   ├── visx-drag/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Drag.tsx
│   │   │   ├── index.ts
│   │   │   ├── useDrag.ts
│   │   │   └── util/
│   │   │       ├── clampNumber.ts
│   │   │       ├── getClosestPoint.ts
│   │   │       ├── raise.ts
│   │   │       ├── restrictPoint.ts
│   │   │       ├── useSamplesAlongPath.ts
│   │   │       └── useStateWithCallback.ts
│   │   ├── test/
│   │   │   ├── Drag.test.ts
│   │   │   ├── raise.test.ts
│   │   │   ├── tsconfig.json
│   │   │   ├── useDrag.test.tsx
│   │   │   └── useStateWithCallback.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-event/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── getXAndYFromEvent.ts
│   │   │   ├── index.ts
│   │   │   ├── localPoint.ts
│   │   │   ├── localPointGeneric.ts
│   │   │   ├── touchPoint.ts
│   │   │   ├── typeGuards.ts
│   │   │   └── types.ts
│   │   ├── test/
│   │   │   ├── getXandYFromEvent.test.ts
│   │   │   ├── localPoint.test.ts
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-geo/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── graticule/
│   │   │   │   └── Graticule.tsx
│   │   │   ├── index.ts
│   │   │   ├── projections/
│   │   │   │   ├── Albers.tsx
│   │   │   │   ├── AlbersUsa.tsx
│   │   │   │   ├── CustomProjection.tsx
│   │   │   │   ├── EqualEarth.tsx
│   │   │   │   ├── Mercator.tsx
│   │   │   │   ├── NaturalEarth.tsx
│   │   │   │   ├── Orthographic.tsx
│   │   │   │   └── Projection.tsx
│   │   │   └── types.ts
│   │   ├── test/
│   │   │   ├── Albers.test.tsx
│   │   │   ├── AlbersUsa.test.tsx
│   │   │   ├── CustomProjection.test.tsx
│   │   │   ├── EqualEarth.test.tsx
│   │   │   ├── Mercator.test.tsx
│   │   │   ├── Orthographic.test.tsx
│   │   │   ├── Projection.test.tsx
│   │   │   ├── topo.json
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-glyph/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── glyphs/
│   │   │   │   ├── Glyph.tsx
│   │   │   │   ├── GlyphCircle.tsx
│   │   │   │   ├── GlyphCross.tsx
│   │   │   │   ├── GlyphDiamond.tsx
│   │   │   │   ├── GlyphDot.tsx
│   │   │   │   ├── GlyphSquare.tsx
│   │   │   │   ├── GlyphStar.tsx
│   │   │   │   ├── GlyphTriangle.tsx
│   │   │   │   └── GlyphWye.tsx
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Circle.test.tsx
│   │   │   ├── Cross.test.tsx
│   │   │   ├── Diamond.test.tsx
│   │   │   ├── Dot.test.tsx
│   │   │   ├── Glyph.test.tsx
│   │   │   ├── Square.test.tsx
│   │   │   ├── Star.test.tsx
│   │   │   ├── Triangle.test.tsx
│   │   │   ├── Wye.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-gradient/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── gradients/
│   │   │   │   ├── GradientDarkgreenGreen.tsx
│   │   │   │   ├── GradientLightgreenGreen.tsx
│   │   │   │   ├── GradientOrangeRed.tsx
│   │   │   │   ├── GradientPinkBlue.tsx
│   │   │   │   ├── GradientPinkRed.tsx
│   │   │   │   ├── GradientPurpleOrange.tsx
│   │   │   │   ├── GradientPurpleRed.tsx
│   │   │   │   ├── GradientPurpleTeal.tsx
│   │   │   │   ├── GradientSteelPurple.tsx
│   │   │   │   ├── GradientTealBlue.tsx
│   │   │   │   ├── LinearGradient.tsx
│   │   │   │   └── RadialGradient.tsx
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Gradients.test.tsx
│   │   │   ├── LinearGradient.test.tsx
│   │   │   ├── RadialGradient.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-grid/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── grids/
│   │   │   │   ├── Grid.tsx
│   │   │   │   ├── GridAngle.tsx
│   │   │   │   ├── GridColumns.tsx
│   │   │   │   ├── GridPolar.tsx
│   │   │   │   ├── GridRadial.tsx
│   │   │   │   └── GridRows.tsx
│   │   │   ├── index.ts
│   │   │   ├── types.ts
│   │   │   └── utils/
│   │   │       ├── getScaleBandwidth.ts
│   │   │       └── polarToCartesian.ts
│   │   ├── test/
│   │   │   ├── Grid.test.tsx
│   │   │   ├── GridAngle.test.tsx
│   │   │   ├── GridColumns.test.tsx
│   │   │   ├── GridPolar.test.tsx
│   │   │   ├── GridRadial.test.tsx
│   │   │   ├── GridRows.test.tsx
│   │   │   ├── tsconfig.json
│   │   │   └── utils.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-group/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Group.tsx
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Group.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-heatmap/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── heatmaps/
│   │   │   │   ├── HeatmapCircle.tsx
│   │   │   │   └── HeatmapRect.tsx
│   │   │   ├── index.ts
│   │   │   └── types.ts
│   │   ├── test/
│   │   │   ├── HeatmapCircle.test.tsx
│   │   │   ├── HeatmapRect.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-hierarchy/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── HierarchyDefaultLink.tsx
│   │   │   ├── HierarchyDefaultNode.tsx
│   │   │   ├── HierarchyDefaultRectNode.tsx
│   │   │   ├── hierarchies/
│   │   │   │   ├── Cluster.tsx
│   │   │   │   ├── Pack.tsx
│   │   │   │   ├── Partition.tsx
│   │   │   │   ├── Tree.tsx
│   │   │   │   └── Treemap.tsx
│   │   │   ├── index.ts
│   │   │   ├── types.ts
│   │   │   └── utils/
│   │   │       └── setNumOrNumAccessor.ts
│   │   ├── test/
│   │   │   ├── Cluster.test.tsx
│   │   │   ├── Defaults.test.tsx
│   │   │   ├── Tree.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-legend/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── index.ts
│   │   │   ├── legends/
│   │   │   │   ├── Legend/
│   │   │   │   │   ├── LegendItem.tsx
│   │   │   │   │   ├── LegendLabel.tsx
│   │   │   │   │   ├── LegendShape.tsx
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── Linear.tsx
│   │   │   │   ├── Ordinal.tsx
│   │   │   │   ├── Quantile.tsx
│   │   │   │   ├── Size.tsx
│   │   │   │   └── Threshold.tsx
│   │   │   ├── shapes/
│   │   │   │   ├── Circle.tsx
│   │   │   │   ├── Line.tsx
│   │   │   │   └── Rect.tsx
│   │   │   ├── types/
│   │   │   │   └── index.ts
│   │   │   └── util/
│   │   │       ├── defaultDomain.ts
│   │   │       ├── identity.ts
│   │   │       ├── labelTransformFactory.ts
│   │   │       ├── renderShape.ts
│   │   │       └── valueOrIdentity.ts
│   │   ├── test/
│   │   │   ├── Legend.test.tsx
│   │   │   ├── LegendLinear.test.tsx
│   │   │   ├── LegendOrdinal.test.tsx
│   │   │   ├── LegendQuantile.test.tsx
│   │   │   ├── LegendSize.test.tsx
│   │   │   ├── LegendThreshold.test.tsx
│   │   │   ├── scales.test.tsx
│   │   │   ├── svgMock.ts
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-marker/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── index.ts
│   │   │   └── markers/
│   │   │       ├── Arrow.tsx
│   │   │       ├── Circle.tsx
│   │   │       ├── Cross.tsx
│   │   │       ├── Line.tsx
│   │   │       ├── Marker.tsx
│   │   │       └── X.tsx
│   │   ├── test/
│   │   │   ├── Arrow.test.tsx
│   │   │   ├── Circle.test.tsx
│   │   │   ├── Cross.test.tsx
│   │   │   ├── Line.test.tsx
│   │   │   ├── Marker.test.tsx
│   │   │   ├── X.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-mock-data/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── generators/
│   │   │   │   ├── genBin.ts
│   │   │   │   ├── genBins.ts
│   │   │   │   ├── genDateValue.ts
│   │   │   │   ├── genPhyllotaxis.ts
│   │   │   │   ├── genRandomNormalPoints.ts
│   │   │   │   ├── genStats.ts
│   │   │   │   └── getSeededRandom.ts
│   │   │   ├── index.ts
│   │   │   └── mocks/
│   │   │       ├── appleStock.ts
│   │   │       ├── bitcoinPrice.ts
│   │   │       ├── browserUsage.ts
│   │   │       ├── cityTemperature.ts
│   │   │       ├── exoplanets.ts
│   │   │       ├── groupDateValue.ts
│   │   │       ├── lesMiserables.ts
│   │   │       ├── letterFrequency.ts
│   │   │       ├── planets.ts
│   │   │       └── shakespeare.ts
│   │   ├── test/
│   │   │   ├── appleStock.test.ts
│   │   │   ├── browserUsage.test.ts
│   │   │   ├── cityTemperature.test.ts
│   │   │   ├── genBin.test.ts
│   │   │   ├── genBins.test.ts
│   │   │   ├── genDateValue.test.ts
│   │   │   ├── genPhyllotaxis.test.ts
│   │   │   ├── genRandomNormalPoints.test.ts
│   │   │   ├── genStats.test.ts
│   │   │   ├── getSeededRandom.test.ts
│   │   │   ├── groupDateValue.test.ts
│   │   │   ├── letterFrequency.test.ts
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-network/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── DefaultLink.tsx
│   │   │   ├── DefaultNode.tsx
│   │   │   ├── Graph.tsx
│   │   │   ├── Links.tsx
│   │   │   ├── Nodes.tsx
│   │   │   ├── index.ts
│   │   │   └── types.ts
│   │   ├── test/
│   │   │   ├── Graph.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-pattern/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── constants/
│   │   │   │   └── index.ts
│   │   │   ├── index.ts
│   │   │   └── patterns/
│   │   │       ├── Circles.tsx
│   │   │       ├── Hexagons.tsx
│   │   │       ├── Lines.tsx
│   │   │       ├── Path.tsx
│   │   │       ├── Pattern.tsx
│   │   │       └── Waves.tsx
│   │   ├── test/
│   │   │   ├── Pattern.test.tsx
│   │   │   ├── PatternCircles.test.tsx
│   │   │   ├── PatternHexagons.test.tsx
│   │   │   ├── PatternLines.test.tsx
│   │   │   ├── PatternPath.test.tsx
│   │   │   ├── PatternWaves.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-point/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Point.ts
│   │   │   ├── index.ts
│   │   │   ├── subtractPoints.ts
│   │   │   └── sumPoints.ts
│   │   ├── test/
│   │   │   ├── point.test.ts
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-react-spring/
│   │   ├── README.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── axis/
│   │   │   │   ├── AnimatedAxis.tsx
│   │   │   │   └── AnimatedTicks.tsx
│   │   │   ├── grid/
│   │   │   │   ├── AnimatedGridColumns.tsx
│   │   │   │   ├── AnimatedGridLines.tsx
│   │   │   │   └── AnimatedGridRows.tsx
│   │   │   ├── index.ts
│   │   │   ├── spring-configs/
│   │   │   │   └── useLineTransitionConfig.ts
│   │   │   └── types/
│   │   │       └── index.ts
│   │   ├── test/
│   │   │   ├── AnimatedAxis.test.tsx
│   │   │   ├── AnimatedGridColumns.test.tsx
│   │   │   ├── AnimatedGridRows.test.tsx
│   │   │   ├── AnimatedTicks.test.tsx
│   │   │   ├── svgMock.ts
│   │   │   ├── tsconfig.json
│   │   │   └── useLineTransitionConfig.test.tsx
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-responsive/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── components/
│   │   │   │   ├── ParentSize.tsx
│   │   │   │   └── ScaleSVG.tsx
│   │   │   ├── enhancers/
│   │   │   │   ├── withParentSize.tsx
│   │   │   │   └── withScreenSize.tsx
│   │   │   ├── hooks/
│   │   │   │   ├── useParentSize.ts
│   │   │   │   └── useScreenSize.ts
│   │   │   ├── index.ts
│   │   │   └── types/
│   │   │       └── index.ts
│   │   ├── test/
│   │   │   ├── ParentSize.test.tsx
│   │   │   ├── ScaleSVG.test.tsx
│   │   │   ├── tsconfig.json
│   │   │   ├── useScreenSize.test.ts
│   │   │   ├── withParentSize.test.tsx
│   │   │   └── withScreenSize.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-sankey/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Sankey.tsx
│   │   │   ├── index.ts
│   │   │   └── types.ts
│   │   ├── test/
│   │   │   └── Sankey.test.tsx
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-scale/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── createScale.ts
│   │   │   ├── index.ts
│   │   │   ├── operators/
│   │   │   │   ├── align.ts
│   │   │   │   ├── base.ts
│   │   │   │   ├── clamp.ts
│   │   │   │   ├── constant.ts
│   │   │   │   ├── domain.ts
│   │   │   │   ├── exponent.ts
│   │   │   │   ├── interpolate.ts
│   │   │   │   ├── nice.ts
│   │   │   │   ├── padding.ts
│   │   │   │   ├── range.ts
│   │   │   │   ├── reverse.ts
│   │   │   │   ├── round.ts
│   │   │   │   ├── scaleOperator.ts
│   │   │   │   ├── unknown.ts
│   │   │   │   └── zero.ts
│   │   │   ├── scales/
│   │   │   │   ├── band.ts
│   │   │   │   ├── linear.ts
│   │   │   │   ├── log.ts
│   │   │   │   ├── ordinal.ts
│   │   │   │   ├── point.ts
│   │   │   │   ├── power.ts
│   │   │   │   ├── quantile.ts
│   │   │   │   ├── quantize.ts
│   │   │   │   ├── radial.ts
│   │   │   │   ├── squareRoot.ts
│   │   │   │   ├── symlog.ts
│   │   │   │   ├── threshold.ts
│   │   │   │   ├── time.ts
│   │   │   │   └── utc.ts
│   │   │   ├── types/
│   │   │   │   ├── Base.ts
│   │   │   │   ├── BaseScaleConfig.ts
│   │   │   │   ├── Nice.ts
│   │   │   │   ├── Scale.ts
│   │   │   │   ├── ScaleConfig.ts
│   │   │   │   └── ScaleInterpolate.ts
│   │   │   ├── updateScale.ts
│   │   │   └── utils/
│   │   │       ├── coerceNumber.ts
│   │   │       ├── createColorInterpolator.ts
│   │   │       ├── getTicks.ts
│   │   │       ├── inferScaleType.ts
│   │   │       ├── isUtcScale.ts
│   │   │       ├── scaleCanBeZeroed.ts
│   │   │       └── toString.ts
│   │   ├── test/
│   │   │   ├── createScale.test.ts
│   │   │   ├── scaleBand.test.ts
│   │   │   ├── scaleLinear.test.ts
│   │   │   ├── scaleLog.test.ts
│   │   │   ├── scaleOrdinal.test.ts
│   │   │   ├── scalePoint.test.ts
│   │   │   ├── scalePower.test.ts
│   │   │   ├── scaleQuantile.test.ts
│   │   │   ├── scaleQuantize.test.ts
│   │   │   ├── scaleRadial.test.ts
│   │   │   ├── scaleSqrt.test.ts
│   │   │   ├── scaleSymlog.test.ts
│   │   │   ├── scaleThreshold.test.ts
│   │   │   ├── scaleTime.test.ts
│   │   │   ├── scaleUtc.test.ts
│   │   │   ├── tsconfig.json
│   │   │   ├── updateScale.test.ts
│   │   │   └── utils/
│   │   │       ├── coerceNumber.test.ts
│   │   │       ├── getTicks.test.ts
│   │   │       ├── inferScaleType.test.ts
│   │   │       ├── isUtcScale.test.ts
│   │   │       ├── scaleCanBeZeroed.test.ts
│   │   │       └── toString.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-shape/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── index.ts
│   │   │   ├── shapes/
│   │   │   │   ├── Arc.tsx
│   │   │   │   ├── Area.tsx
│   │   │   │   ├── AreaClosed.tsx
│   │   │   │   ├── AreaStack.tsx
│   │   │   │   ├── Bar.tsx
│   │   │   │   ├── BarGroup.tsx
│   │   │   │   ├── BarGroupHorizontal.tsx
│   │   │   │   ├── BarRounded.tsx
│   │   │   │   ├── BarStack.tsx
│   │   │   │   ├── BarStackHorizontal.tsx
│   │   │   │   ├── Circle.tsx
│   │   │   │   ├── Line.tsx
│   │   │   │   ├── LinePath.tsx
│   │   │   │   ├── LineRadial.tsx
│   │   │   │   ├── Pie.tsx
│   │   │   │   ├── Polygon.tsx
│   │   │   │   ├── SplitLinePath.tsx
│   │   │   │   ├── Stack.tsx
│   │   │   │   └── link/
│   │   │   │       ├── curve/
│   │   │   │       │   ├── LinkHorizontalCurve.tsx
│   │   │   │       │   ├── LinkRadialCurve.tsx
│   │   │   │       │   └── LinkVerticalCurve.tsx
│   │   │   │       ├── diagonal/
│   │   │   │       │   ├── LinkHorizontal.tsx
│   │   │   │       │   ├── LinkRadial.tsx
│   │   │   │       │   └── LinkVertical.tsx
│   │   │   │       ├── line/
│   │   │   │       │   ├── LinkHorizontalLine.tsx
│   │   │   │       │   ├── LinkRadialLine.tsx
│   │   │   │       │   └── LinkVerticalLine.tsx
│   │   │   │       └── step/
│   │   │   │           ├── LinkHorizontalStep.tsx
│   │   │   │           ├── LinkRadialStep.tsx
│   │   │   │           └── LinkVerticalStep.tsx
│   │   │   ├── types/
│   │   │   │   ├── D3ShapeConfig.ts
│   │   │   │   ├── accessor.ts
│   │   │   │   ├── area.ts
│   │   │   │   ├── barGroup.ts
│   │   │   │   ├── barStack.ts
│   │   │   │   ├── base.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── link.ts
│   │   │   │   └── stack.ts
│   │   │   └── util/
│   │   │       ├── D3ShapeFactories.ts
│   │   │       ├── accessors.ts
│   │   │       ├── getBandwidth.ts
│   │   │       ├── getOrCreateMeasurementElement.ts
│   │   │       ├── getSplitLineSegments.ts
│   │   │       ├── setNumberOrNumberAccessor.ts
│   │   │       ├── stackOffset.ts
│   │   │       ├── stackOrder.ts
│   │   │       └── trigonometry.ts
│   │   ├── test/
│   │   │   ├── Arc.test.tsx
│   │   │   ├── Area.test.tsx
│   │   │   ├── AreaClosed.test.tsx
│   │   │   ├── AreaStack.test.tsx
│   │   │   ├── Bar.test.tsx
│   │   │   ├── BarGroup.test.tsx
│   │   │   ├── BarGroupHorizontal.test.tsx
│   │   │   ├── BarRounded.test.tsx
│   │   │   ├── BarStack.test.tsx
│   │   │   ├── BarStackHorizontal.test.tsx
│   │   │   ├── Circle.test.tsx
│   │   │   ├── Line.test.tsx
│   │   │   ├── LinePath.test.tsx
│   │   │   ├── LineRadial.test.tsx
│   │   │   ├── LinkHorizontal.test.tsx
│   │   │   ├── LinkRadial.test.tsx
│   │   │   ├── LinkVertical.test.tsx
│   │   │   ├── Pie.test.tsx
│   │   │   ├── Polygon.test.tsx
│   │   │   ├── Stack.test.tsx
│   │   │   ├── stackOffset.test.ts
│   │   │   ├── stackOrder.test.ts
│   │   │   ├── svgMock.ts
│   │   │   ├── tsconfig.json
│   │   │   └── utils/
│   │   │       ├── D3ShapeFactories.test.ts
│   │   │       └── getBandwidth.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-stats/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── BoxPlot.tsx
│   │   │   ├── ViolinPlot.tsx
│   │   │   ├── index.ts
│   │   │   ├── types.ts
│   │   │   └── util/
│   │   │       └── computeStats.ts
│   │   ├── test/
│   │   │   ├── BoxPlot.test.tsx
│   │   │   ├── ViolinPlot.test.tsx
│   │   │   ├── computeStats.test.ts
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-text/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Text.tsx
│   │   │   ├── hooks/
│   │   │   │   └── useText.ts
│   │   │   ├── index.ts
│   │   │   ├── types.ts
│   │   │   └── util/
│   │   │       └── getStringWidth.ts
│   │   ├── test/
│   │   │   ├── Text.test.tsx
│   │   │   ├── svgMock.ts
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   ├── types/
│   │   │   └── reduce-css-calc/
│   │   │       └── index.d.ts
│   │   └── vitest.config.ts
│   ├── visx-threshold/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Threshold.tsx
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   ├── Threshold.test.tsx
│   │   │   └── tsconfig.json
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-tooltip/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Portal.tsx
│   │   │   ├── context/
│   │   │   │   └── TooltipPositionContext.tsx
│   │   │   ├── enhancers/
│   │   │   │   └── withTooltip.tsx
│   │   │   ├── hooks/
│   │   │   │   ├── useTooltip.ts
│   │   │   │   └── useTooltipInPortal.tsx
│   │   │   ├── index.ts
│   │   │   └── tooltips/
│   │   │       ├── Tooltip.tsx
│   │   │       └── TooltipWithBounds.tsx
│   │   ├── test/
│   │   │   ├── Portal.test.tsx
│   │   │   ├── Tooltip.test.tsx
│   │   │   ├── TooltipWithBounds.test.tsx
│   │   │   ├── tsconfig.json
│   │   │   ├── useTooltip.test.tsx
│   │   │   ├── useTooltipInPortal.test.tsx
│   │   │   └── withTooltip.test.tsx
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-vendor/
│   │   ├── .eslintrc.js
│   │   ├── .gitignore
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── scripts/
│   │   │   ├── buildVendor/
│   │   │   │   ├── babel.config.js
│   │   │   │   ├── index.ts
│   │   │   │   └── utils.ts
│   │   │   └── flagVendorRequirements.ts
│   │   ├── test/
│   │   │   ├── .eslintrc
│   │   │   ├── d3-array.test.ts
│   │   │   ├── d3-color.test.ts
│   │   │   ├── d3-format.test.ts
│   │   │   ├── d3-geo.test.ts
│   │   │   ├── d3-interpolate.test.ts
│   │   │   ├── d3-scale.test.ts
│   │   │   ├── d3-time-format.test.ts
│   │   │   ├── d3-time.test.ts
│   │   │   └── internmap.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-visx/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   └── index.ts
│   │   ├── test/
│   │   │   └── index.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-voronoi/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── components/
│   │   │   │   └── VoronoiPolygon.tsx
│   │   │   ├── index.ts
│   │   │   └── voronoi.ts
│   │   ├── test/
│   │   │   ├── VoronoiPolygon.test.tsx
│   │   │   ├── tsconfig.json
│   │   │   └── voronoi.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-wordcloud/
│   │   ├── .npmrc
│   │   ├── Readme.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Wordcloud.tsx
│   │   │   ├── d3-cloud.d.ts
│   │   │   ├── index.ts
│   │   │   ├── types.ts
│   │   │   └── useWordcloud.ts
│   │   ├── test/
│   │   │   ├── Wordcloud.test.tsx
│   │   │   ├── tsconfig.json
│   │   │   └── useWordcloud.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   ├── visx-xychart/
│   │   ├── README.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── classes/
│   │   │   │   └── DataRegistry.ts
│   │   │   ├── components/
│   │   │   │   ├── Tooltip.tsx
│   │   │   │   ├── XYChart.tsx
│   │   │   │   ├── annotation/
│   │   │   │   │   ├── AnimatedAnnotation.tsx
│   │   │   │   │   ├── Annotation.tsx
│   │   │   │   │   ├── AnnotationCircleSubject.tsx
│   │   │   │   │   ├── AnnotationConnector.tsx
│   │   │   │   │   ├── AnnotationLabel.tsx
│   │   │   │   │   ├── AnnotationLineSubject.tsx
│   │   │   │   │   └── private/
│   │   │   │   │       └── BaseAnnotation.tsx
│   │   │   │   ├── axis/
│   │   │   │   │   ├── AnimatedAxis.tsx
│   │   │   │   │   ├── Axis.tsx
│   │   │   │   │   └── BaseAxis.tsx
│   │   │   │   ├── grid/
│   │   │   │   │   ├── AnimatedGrid.tsx
│   │   │   │   │   ├── BaseGrid.tsx
│   │   │   │   │   └── Grid.tsx
│   │   │   │   └── series/
│   │   │   │       ├── AnimatedAreaSeries.tsx
│   │   │   │       ├── AnimatedAreaStack.tsx
│   │   │   │       ├── AnimatedBarGroup.tsx
│   │   │   │       ├── AnimatedBarSeries.tsx
│   │   │   │       ├── AnimatedBarStack.tsx
│   │   │   │       ├── AnimatedGlyphSeries.tsx
│   │   │   │       ├── AnimatedLineSeries.tsx
│   │   │   │       ├── AreaSeries.tsx
│   │   │   │       ├── AreaStack.tsx
│   │   │   │       ├── BarGroup.tsx
│   │   │   │       ├── BarSeries.tsx
│   │   │   │       ├── BarStack.tsx
│   │   │   │       ├── GlyphSeries.tsx
│   │   │   │       ├── LineSeries.tsx
│   │   │   │       └── private/
│   │   │   │           ├── AnimatedBars.tsx
│   │   │   │           ├── AnimatedGlyphs.tsx
│   │   │   │           ├── AnimatedPath.tsx
│   │   │   │           ├── Bars.tsx
│   │   │   │           ├── BaseAreaSeries.tsx
│   │   │   │           ├── BaseAreaStack.tsx
│   │   │   │           ├── BaseBarGroup.tsx
│   │   │   │           ├── BaseBarSeries.tsx
│   │   │   │           ├── BaseBarStack.tsx
│   │   │   │           ├── BaseGlyphSeries.tsx
│   │   │   │           ├── BaseLineSeries.tsx
│   │   │   │           └── defaultRenderGlyph.tsx
│   │   │   ├── constants.ts
│   │   │   ├── context/
│   │   │   │   ├── DataContext.tsx
│   │   │   │   ├── EventEmitterContext.tsx
│   │   │   │   ├── ThemeContext.tsx
│   │   │   │   └── TooltipContext.tsx
│   │   │   ├── hooks/
│   │   │   │   ├── useDataRegistry.ts
│   │   │   │   ├── useDimensions.ts
│   │   │   │   ├── useEventEmitter.ts
│   │   │   │   ├── useEventEmitters.ts
│   │   │   │   ├── useEventHandlers.ts
│   │   │   │   ├── useScales.ts
│   │   │   │   ├── useSeriesEvents.ts
│   │   │   │   └── useStackedData.ts
│   │   │   ├── index.ts
│   │   │   ├── providers/
│   │   │   │   ├── DataProvider.tsx
│   │   │   │   ├── EventEmitterProvider.tsx
│   │   │   │   ├── ThemeProvider.tsx
│   │   │   │   └── TooltipProvider.tsx
│   │   │   ├── theme/
│   │   │   │   ├── buildChartTheme.ts
│   │   │   │   ├── colors.ts
│   │   │   │   └── themes/
│   │   │   │       ├── dark.ts
│   │   │   │       └── light.ts
│   │   │   ├── typeguards/
│   │   │   │   ├── events.ts
│   │   │   │   └── isValidNumber.ts
│   │   │   ├── types/
│   │   │   │   ├── axis.ts
│   │   │   │   ├── data.ts
│   │   │   │   ├── event.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── series.ts
│   │   │   │   ├── theme.ts
│   │   │   │   └── tooltip.ts
│   │   │   └── utils/
│   │   │       ├── cleanColorString.ts
│   │   │       ├── combineBarStackData.ts
│   │   │       ├── findNearestDatumSingleDimension.ts
│   │   │       ├── findNearestDatumX.ts
│   │   │       ├── findNearestDatumXY.ts
│   │   │       ├── findNearestDatumY.ts
│   │   │       ├── findNearestGroupDatum.ts
│   │   │       ├── findNearestStackDatum.ts
│   │   │       ├── getBarStackRegistryData.ts
│   │   │       ├── getChildrenAndGrandchildrenWithProps.ts
│   │   │       ├── getScaleBandwidth.ts
│   │   │       ├── getScaleBaseline.ts
│   │   │       ├── getScaledValueFactory.ts
│   │   │       └── isDiscreteScale.ts
│   │   ├── test/
│   │   │   ├── __mocks__/
│   │   │   │   └── @visx/
│   │   │   │       └── event.ts
│   │   │   ├── classes/
│   │   │   │   └── DataRegistry.test.ts
│   │   │   ├── components/
│   │   │   │   ├── Annotation.test.tsx
│   │   │   │   ├── AnnotationCircleSubject.test.tsx
│   │   │   │   ├── AnnotationConnector.test.tsx
│   │   │   │   ├── AnnotationLabel.test.tsx
│   │   │   │   ├── AnnotationLineSubject.test.tsx
│   │   │   │   ├── AreaSeries.test.tsx
│   │   │   │   ├── AreaStack.test.tsx
│   │   │   │   ├── Axis.test.tsx
│   │   │   │   ├── BarGroup.test.tsx
│   │   │   │   ├── BarSeries.test.tsx
│   │   │   │   ├── BarStack.test.tsx
│   │   │   │   ├── GlyphSeries.test.tsx
│   │   │   │   ├── Grid.test.tsx
│   │   │   │   ├── LineSeries.test.tsx
│   │   │   │   ├── Tooltip.test.tsx
│   │   │   │   └── XYChart.test.tsx
│   │   │   ├── hooks/
│   │   │   │   ├── useDataRegistry.test.tsx
│   │   │   │   ├── useEventEmitter.test.tsx
│   │   │   │   ├── useEventEmitters.test.tsx
│   │   │   │   ├── useEventHandlers.test.tsx
│   │   │   │   ├── useScales.test.tsx
│   │   │   │   └── useStackedData.test.tsx
│   │   │   ├── mocks/
│   │   │   │   ├── getDataContext.ts
│   │   │   │   ├── setupTooltipTest.tsx
│   │   │   │   └── svgMock.ts
│   │   │   ├── providers/
│   │   │   │   ├── DataProvider.test.tsx
│   │   │   │   ├── EventEmitterProvider.test.tsx
│   │   │   │   ├── ThemeProvider.test.tsx
│   │   │   │   └── TooltipProvider.test.tsx
│   │   │   ├── theme.test.tsx
│   │   │   ├── tsconfig.json
│   │   │   └── utils/
│   │   │       ├── cleanColorString.test.ts
│   │   │       ├── combineBarStackData.test.tsx
│   │   │       ├── findNearestDatum.test.ts
│   │   │       ├── getScaleBaseline.test.ts
│   │   │       └── isDiscreteScale.test.ts
│   │   ├── tsconfig.json
│   │   └── vitest.config.ts
│   └── visx-zoom/
│       ├── .npmrc
│       ├── Readme.md
│       ├── package.json
│       ├── src/
│       │   ├── Zoom.tsx
│       │   ├── index.ts
│       │   ├── types.ts
│       │   └── util/
│       │       └── matrix.ts
│       ├── test/
│       │   ├── Zoom.test.tsx
│       │   └── tsconfig.json
│       ├── tsconfig.json
│       └── vitest.config.ts
├── prettier.config.js
├── scripts/
│   ├── compareBuildSizes.ts
│   ├── computeBuildSizes.ts
│   ├── generateDocs.ts
│   ├── performRelease/
│   │   ├── constants.ts
│   │   ├── createGithubRelease.ts
│   │   ├── fetchCommitsSinceTag.ts
│   │   ├── fetchPRsForCommits.ts
│   │   ├── fetchTags.ts
│   │   ├── index.ts
│   │   ├── performLernaRelease.ts
│   │   ├── postReleaseOnPrs.ts
│   │   ├── types.ts
│   │   └── updateChangelog/
│   │       ├── getChangelogAddition.ts
│   │       ├── index.ts
│   │       └── mergeUpdateIntoChangelog.ts
│   ├── postInstall.ts
│   ├── updateTsReferences.ts
│   └── utils/
│       ├── getGitHubClient.ts
│       ├── getPullRequestNumber.ts
│       ├── getRepoContext.ts
│       └── upsertPullRequestComment.ts
├── tsconfig.eslint.json
├── tsconfig.json
├── tsconfig.node.json
├── tsconfig.options.json
└── vitest.config.ts
Download .txt
SYMBOL INDEX (1449 symbols across 661 files)

FILE: config-eslint/base.js
  constant EXTS (line 1) | const EXTS = ['.ts', '.tsx', '.js', '.jsx', '.json'];
  constant EXTS_GROUP (line 2) | const EXTS_GROUP = '{ts,tsx,js,jsx}';
  constant ASSET_EXT_PATTERN (line 3) | const ASSET_EXT_PATTERN = /\.(ttf|eot|otf|svg|woff|woff2|mp3|png|jpg|jpe...

FILE: config-eslint/next.js
  constant EXTS_GROUP (line 1) | const EXTS_GROUP = '{ts,tsx,js,jsx}';

FILE: config-eslint/typescript.js
  constant EXTS_GROUP (line 1) | const EXTS_GROUP = '{ts,tsx,js,jsx}';

FILE: packages/visx-annotation/src/components/Annotation.tsx
  type AnnotationProps (line 5) | type AnnotationProps = Pick<AnnotationContextType, 'x' | 'y' | 'dx' | 'd...
  function Annotation (line 10) | function Annotation({ x, y, dx, dy, children }: AnnotationProps) {

FILE: packages/visx-annotation/src/components/CircleSubject.tsx
  type CircleSubjectProps (line 6) | type CircleSubjectProps = Pick<AnnotationContextType, 'x' | 'y'> & {
  function CircleSubject (line 15) | function CircleSubject({

FILE: packages/visx-annotation/src/components/Connector.tsx
  type ConnectorProps (line 9) | type ConnectorProps = Pick<AnnotationContextType, 'x' | 'y' | 'dx' | 'dy...
  function Connector (line 20) | function Connector({

FILE: packages/visx-annotation/src/components/EditableAnnotation.tsx
  type EditableAnnotationProps (line 9) | type EditableAnnotationProps = Pick<AnnotationContextType, 'x' | 'y' | '...
  type HandlerArgs (line 32) | type HandlerArgs = {
  function EditableAnnotation (line 48) | function EditableAnnotation({

FILE: packages/visx-annotation/src/components/HtmlLabel.tsx
  type HtmlLabelProps (line 12) | type HtmlLabelProps = Pick<
  function HtmlLabel (line 28) | function HtmlLabel({

FILE: packages/visx-annotation/src/components/Label.tsx
  type LabelProps (line 12) | type LabelProps = {
  constant DEFAULT_PADDING (line 63) | const DEFAULT_PADDING = { top: 12, right: 12, bottom: 12, left: 12 };
  function getCompletePadding (line 65) | function getCompletePadding(padding: LabelProps['backgroundPadding']) {
  function Label (line 73) | function Label({

FILE: packages/visx-annotation/src/components/LabelAnchorLine.tsx
  type AnchorLineProps (line 3) | interface AnchorLineProps {
  function AnchorLine (line 12) | function AnchorLine({

FILE: packages/visx-annotation/src/components/LineSubject.tsx
  type LineSubjectProps (line 6) | type LineSubjectProps = {
  function LineSubject (line 25) | function LineSubject({

FILE: packages/visx-annotation/src/types/index.ts
  type AnnotationContextType (line 1) | type AnnotationContextType = {

FILE: packages/visx-annotation/test/Annotation.test.tsx
  function AnnotationChild (line 13) | function AnnotationChild() {

FILE: packages/visx-annotation/test/EditableAnnotation.test.tsx
  type EditableAnnotationProps (line 10) | type EditableAnnotationProps = React.ComponentProps<typeof EditableAnnot...
  function renderComponent (line 22) | function renderComponent(props?: Partial<EditableAnnotationProps>) {

FILE: packages/visx-annotation/test/svgMock.ts
  function addMock (line 8) | function addMock() {
  function removeMock (line 22) | function removeMock() {

FILE: packages/visx-axis/src/axis/Axis.tsx
  type AxisProps (line 13) | type AxisProps<Scale extends AxisScale> = SharedAxisProps<Scale> & {
  function Axis (line 17) | function Axis<Scale extends AxisScale>({

FILE: packages/visx-axis/src/axis/AxisBottom.tsx
  function AxisBottom (line 14) | function AxisBottom<Scale extends AxisScale>({

FILE: packages/visx-axis/src/axis/AxisLeft.tsx
  function AxisLeft (line 15) | function AxisLeft<Scale extends AxisScale>({

FILE: packages/visx-axis/src/axis/AxisRenderer.tsx
  function AxisRenderer (line 18) | function AxisRenderer<Scale extends AxisScale>({

FILE: packages/visx-axis/src/axis/AxisRight.tsx
  type AxisRightProps (line 6) | type AxisRightProps<Scale extends AxisScale> = SharedAxisProps<Scale>;
  function AxisRight (line 17) | function AxisRight<Scale extends AxisScale>({

FILE: packages/visx-axis/src/axis/AxisTop.tsx
  type AxisTopProps (line 6) | type AxisTopProps<Scale extends AxisScale> = SharedAxisProps<Scale>;
  function AxisTop (line 16) | function AxisTop<Scale extends AxisScale>({

FILE: packages/visx-axis/src/axis/Ticks.tsx
  function Ticks (line 9) | function Ticks<Scale extends AxisScale>({

FILE: packages/visx-axis/src/constants/orientation.ts
  type OrientationType (line 10) | type OrientationType = ValueOf<typeof Orientation>;

FILE: packages/visx-axis/src/types.ts
  type AxisScaleOutput (line 8) | type AxisScaleOutput = number | NumberLike | undefined;
  type AxisScale (line 11) | type AxisScale<Output extends AxisScaleOutput = AxisScaleOutput> =
  type LineProps (line 14) | type LineProps = Omit<SVGProps<SVGLineElement>, 'to' | 'from' | 'ref'>;
  type FormattedValue (line 16) | type FormattedValue = string | undefined;
  type TickFormatter (line 18) | type TickFormatter<T> = (
  type TickLabelProps (line 24) | type TickLabelProps<T> =
  type TickRendererProps (line 28) | type TickRendererProps = Partial<TextProps> & {
  type TicksRendererProps (line 34) | type TicksRendererProps<Scale extends AxisScale> = {
  type CommonProps (line 51) | type CommonProps<Scale extends AxisScale> = {
  type Point (line 100) | interface Point {
  type ComputedTick (line 105) | type ComputedTick<Scale extends AxisScale> = {
  type AxisRendererProps (line 113) | type AxisRendererProps<Scale extends AxisScale> = CommonProps<Scale> & {
  type SharedAxisProps (line 130) | type SharedAxisProps<Scale extends AxisScale> = CommonProps<Scale> & {

FILE: packages/visx-axis/src/utils/createPoint.ts
  function createPoint (line 3) | function createPoint({ x, y }: Partial<Point>, horizontal: boolean) {

FILE: packages/visx-axis/src/utils/getAxisRangePaddingConfig.ts
  function getAxisRangePaddingConfig (line 5) | function getAxisRangePaddingConfig(

FILE: packages/visx-axis/src/utils/getLabelTransform.ts
  type TransformArgs (line 6) | interface TransformArgs {
  function getLabelTransform (line 15) | function getLabelTransform({

FILE: packages/visx-axis/src/utils/getTickFormatter.ts
  function getTickFormatter (line 8) | function getTickFormatter<Scale extends AxisScale>(scale: Scale) {

FILE: packages/visx-axis/src/utils/getTickPosition.ts
  function getTickPosition (line 7) | function getTickPosition<Scale extends AxisScale>(

FILE: packages/visx-axis/test/svgMock.ts
  function addMock (line 8) | function addMock() {
  function removeMock (line 22) | function removeMock() {

FILE: packages/visx-bounds/src/enhancers/withBoundingRects.tsx
  type rectShape (line 14) | type rectShape = {
  type WithBoundingRectsProps (line 23) | type WithBoundingRectsProps = {
  function withBoundingRects (line 30) | function withBoundingRects<Props extends object = {}>(

FILE: packages/visx-bounds/src/index.ts
  type WithBoundingRectsProps (line 6) | type WithBoundingRectsProps = WithBoundingRectsPropsType;

FILE: packages/visx-bounds/test/withBoundingRects.test.tsx
  type RectShape (line 11) | type RectShape = {
  type BoundingRectsComponentProps (line 34) | type BoundingRectsComponentProps = {
  function BoundingRectsComponent (line 44) | function BoundingRectsComponent({

FILE: packages/visx-brush/src/BaseBrush.tsx
  type PointerHandlerEvent (line 23) | type PointerHandlerEvent = PointerEvent<SVGRectElement>;
  type BaseBrushProps (line 25) | type BaseBrushProps = {
  type BaseBrushState (line 51) | type BaseBrushState = BrushShape & {
  type UpdateBrush (line 58) | type UpdateBrush =
  class BaseBrush (line 62) | class BaseBrush extends Component<BaseBrushProps, BaseBrushState> {
    method constructor (line 63) | constructor(props: BaseBrushProps) {
    method componentDidUpdate (line 143) | componentDidUpdate(prevProps: BaseBrushProps) {
    method componentDidMount (line 180) | componentDidMount() {
    method componentWillUnmount (line 187) | componentWillUnmount() {
    method render (line 571) | render() {

FILE: packages/visx-brush/src/Brush.tsx
  constant SAFE_PIXEL (line 16) | const SAFE_PIXEL = 2;
  constant DEFAULT_COLOR (line 17) | const DEFAULT_COLOR = 'steelblue';
  type BrushProps (line 19) | type BrushProps = {
  class Brush (line 72) | class Brush extends Component<BrushProps> {
    method convertRangeToDomain (line 123) | convertRangeToDomain(brush: BaseBrushState) {
    method render (line 173) | render() {

FILE: packages/visx-brush/src/BrushCorner.tsx
  type BrushCornerProps (line 9) | type BrushCornerProps = {
  type BrushCornerState (line 20) | type BrushCornerState = {};
  class BrushCorner (line 22) | class BrushCorner extends Component<BrushCornerProps, BrushCornerState> {
    method render (line 141) | render() {

FILE: packages/visx-brush/src/BrushHandle.tsx
  type HandleProps (line 10) | type HandleProps = {
  type BrushHandleProps (line 17) | type BrushHandleProps = {
  type BrushHandleRenderProps (line 32) | type BrushHandleRenderProps = HandleProps & {
  class BrushHandle (line 39) | class BrushHandle extends Component<BrushHandleProps> {
    method render (line 154) | render() {

FILE: packages/visx-brush/src/BrushOverlay.tsx
  type BrushOverlayProps (line 4) | type BrushOverlayProps = {
  function BrushOverlay (line 16) | function BrushOverlay(props: BrushOverlayProps) {

FILE: packages/visx-brush/src/BrushSelection.tsx
  constant DRAGGING_OVERLAY_STYLES (line 11) | const DRAGGING_OVERLAY_STYLES = { cursor: 'move' };
  type PointerHandler (line 13) | type PointerHandler = (event: PointerEvent<SVGRectElement>) => void;
  type BrushSelectionProps (line 15) | type BrushSelectionProps = {
  class BrushSelection (line 35) | class BrushSelection extends Component<
    method render (line 119) | render() {

FILE: packages/visx-brush/src/types.ts
  type Point (line 3) | type Point = {
  type Bounds (line 8) | type Bounds = {
  type MarginShape (line 17) | interface MarginShape {
  type BrushShape (line 24) | interface BrushShape extends BrushStartEnd {
  type BrushStartEnd (line 29) | interface BrushStartEnd {
  type PartialBrushStartEnd (line 34) | interface PartialBrushStartEnd {
  type ResizeTriggerAreas (line 39) | type ResizeTriggerAreas =
  type BrushingType (line 49) | type BrushingType = 'move' | 'select' | ResizeTriggerAreas;
  type BrushPageOffset (line 50) | type BrushPageOffset = {
  type BrushScaleOutput (line 57) | type BrushScaleOutput = number | NumberLike | undefined;
  type Scale (line 60) | type Scale<Output extends BrushScaleOutput = BrushScaleOutput> =

FILE: packages/visx-brush/src/utils.ts
  function scaleInvert (line 5) | function scaleInvert(scale: Scale, value: number) {
  function getDomainFromExtent (line 29) | function getDomainFromExtent(
  function getPageCoordinates (line 59) | function getPageCoordinates(event: MouseTouchOrPointerEvent) {
  function debounce (line 74) | function debounce<T extends Function>(func: T, delay: number): (...args:...

FILE: packages/visx-chord/src/Chord.tsx
  type DefaultSortComporator (line 5) | type DefaultSortComporator = (a: number, b: number) => number;
  type ChordProps (line 7) | type ChordProps = {
  function Chord (line 22) | function Chord({

FILE: packages/visx-chord/src/Ribbon.tsx
  type NumAccessor (line 6) | type NumAccessor = (d: ChordSubgroup) => number;
  type RibbonProps (line 8) | type RibbonProps = {
  function setNumberOrNumberAccessor (line 28) | function setNumberOrNumberAccessor(
  function Ribbon (line 36) | function Ribbon({

FILE: packages/visx-clip-path/src/clip-paths/CircleClipPath.tsx
  type CircleClipPathProps (line 4) | type CircleClipPathProps = {
  function CircleClipPath (line 16) | function CircleClipPath({

FILE: packages/visx-clip-path/src/clip-paths/ClipPath.tsx
  type ClipPathProps (line 3) | type ClipPathProps = {
  function ClipPath (line 11) | function ClipPath({

FILE: packages/visx-clip-path/src/clip-paths/RectClipPath.tsx
  type RectClipPathProps (line 4) | type RectClipPathProps = {
  function RectClipPath (line 17) | function RectClipPath({

FILE: packages/visx-delaunay/src/components/Polygon.tsx
  type PolygonProps (line 4) | type PolygonProps = {
  function Polygon (line 13) | function Polygon({

FILE: packages/visx-delaunay/src/delaunay.ts
  type Config (line 3) | interface Config<Datum> {
  function delaunay (line 15) | function delaunay<Datum>({ data = [], x, y }: Config<Datum>) {

FILE: packages/visx-delaunay/src/voronoi.ts
  constant CLIP_PADDING (line 3) | const CLIP_PADDING = 1;
  type Config (line 5) | interface Config<Datum> {
  function voronoi (line 22) | function voronoi<Datum>({ data = [], width = 0, height = 0, x, y }: Conf...

FILE: packages/visx-demo/src/components/ApiTable.tsx
  type Props (line 7) | type Props = {
  function ApiTable (line 14) | function ApiTable({ docgenInfo }: Props) {

FILE: packages/visx-demo/src/components/CodeSandboxLink.tsx
  type Props (line 24) | type Props = {
  function CodeSandboxLink (line 29) | function CodeSandboxLink({ branch = 'master', exampleDirectoryName }: Pr...

FILE: packages/visx-demo/src/components/Codeblock.tsx
  function Lines (line 9) | function Lines({ lines }: { lines: number[] }) {

FILE: packages/visx-demo/src/components/DocPage.tsx
  type Props (line 12) | type Props = {
  function DocPage (line 19) | function DocPage({ components, examples, visxPackage, readme }: Props) {

FILE: packages/visx-demo/src/components/Footer.tsx
  function Footer (line 6) | function Footer() {

FILE: packages/visx-demo/src/components/Gallery/AnnotationTile.tsx
  function AnnotationTile (line 18) | function AnnotationTile() {

FILE: packages/visx-demo/src/components/Gallery/AreaTile.tsx
  function AreaTile (line 11) | function AreaTile() {

FILE: packages/visx-demo/src/components/Gallery/AxisTile.tsx
  function AxisTile (line 12) | function AxisTile() {

FILE: packages/visx-demo/src/components/Gallery/BarGroupHorizontalTile.tsx
  function BarGroupHorizontalTile (line 15) | function BarGroupHorizontalTile() {

FILE: packages/visx-demo/src/components/Gallery/BarGroupTile.tsx
  function BarGroupTile (line 11) | function BarGroupTile() {

FILE: packages/visx-demo/src/components/Gallery/BarStackHorizontalTile.tsx
  function BarStackHorizontalTile (line 14) | function BarStackHorizontalTile() {

FILE: packages/visx-demo/src/components/Gallery/BarStackTile.tsx
  function BarStackTile (line 11) | function BarStackTile() {

FILE: packages/visx-demo/src/components/Gallery/BarsTile.tsx
  function BarsTile (line 11) | function BarsTile() {

FILE: packages/visx-demo/src/components/Gallery/BrushTile.tsx
  function BrushTile (line 12) | function BrushTile() {

FILE: packages/visx-demo/src/components/Gallery/ChordTile.tsx
  function ChordTile (line 11) | function ChordTile() {

FILE: packages/visx-demo/src/components/Gallery/CurvesTile.tsx
  function CurvesTile (line 12) | function CurvesTile() {

FILE: packages/visx-demo/src/components/Gallery/DelaunayTriangulationTile.tsx
  function DelaunayTriangulationTile (line 15) | function DelaunayTriangulationTile() {

FILE: packages/visx-demo/src/components/Gallery/DelaunayVoronoiTile.tsx
  function DelaunayTile (line 15) | function DelaunayTile() {

FILE: packages/visx-demo/src/components/Gallery/DendrogramsTile.tsx
  function DendrogramsTile (line 12) | function DendrogramsTile() {

FILE: packages/visx-demo/src/components/Gallery/DotsTile.tsx
  function DotsTile (line 12) | function DotsTile() {

FILE: packages/visx-demo/src/components/Gallery/DragIITile.tsx
  function DragIITile (line 13) | function DragIITile() {

FILE: packages/visx-demo/src/components/Gallery/DragITile.tsx
  function DragITile (line 11) | function DragITile() {

FILE: packages/visx-demo/src/components/Gallery/GeoAlbersUsaTile.tsx
  function GeoAlbersUsaTile (line 11) | function GeoAlbersUsaTile() {

FILE: packages/visx-demo/src/components/Gallery/GeoCustomTile.tsx
  function GeoCustomTile (line 12) | function GeoCustomTile() {

FILE: packages/visx-demo/src/components/Gallery/GeoMercatorTile.tsx
  function GeoMercatorTile (line 11) | function GeoMercatorTile() {

FILE: packages/visx-demo/src/components/Gallery/GlyphsTile.tsx
  function GlyphsTile (line 12) | function GlyphsTile() {

FILE: packages/visx-demo/src/components/Gallery/GradientsTile.tsx
  function GradientsTile (line 11) | function GradientsTile() {

FILE: packages/visx-demo/src/components/Gallery/HeatmapsTile.tsx
  function HeatmapsTile (line 11) | function HeatmapsTile() {

FILE: packages/visx-demo/src/components/Gallery/LegendsTile.tsx
  function LegendsTile (line 10) | function LegendsTile() {

FILE: packages/visx-demo/src/components/Gallery/LineRadialTile.tsx
  function LineRadialTile (line 12) | function LineRadialTile() {

FILE: packages/visx-demo/src/components/Gallery/LinkTypesTile.tsx
  function LinkTypesTile (line 11) | function LinkTypesTile() {

FILE: packages/visx-demo/src/components/Gallery/NetworkTile.tsx
  function NetworkTile (line 10) | function NetworkTile() {

FILE: packages/visx-demo/src/components/Gallery/PackTile.tsx
  function PackTile (line 11) | function PackTile() {

FILE: packages/visx-demo/src/components/Gallery/PatternsTile.tsx
  function PatternsTile (line 11) | function PatternsTile() {

FILE: packages/visx-demo/src/components/Gallery/PiesTile.tsx
  function PiesTile (line 12) | function PiesTile() {

FILE: packages/visx-demo/src/components/Gallery/PolygonsTile.tsx
  function PolygonsTile (line 12) | function PolygonsTile() {

FILE: packages/visx-demo/src/components/Gallery/RadarTile.tsx
  function RadarTile (line 11) | function RadarTile() {

FILE: packages/visx-demo/src/components/Gallery/RadialBarsTile.tsx
  function BarsTile (line 12) | function BarsTile() {

FILE: packages/visx-demo/src/components/Gallery/ResponsiveTile.tsx
  function ResponsiveTile (line 18) | function ResponsiveTile() {

FILE: packages/visx-demo/src/components/Gallery/SankeyTile.tsx
  function SankeyTile (line 12) | function SankeyTile() {

FILE: packages/visx-demo/src/components/Gallery/SplitLinePathTile.tsx
  function SplitLinePathTile (line 13) | function SplitLinePathTile() {

FILE: packages/visx-demo/src/components/Gallery/StackedAreasTile.tsx
  function StackedAreasTile (line 11) | function StackedAreasTile() {

FILE: packages/visx-demo/src/components/Gallery/StatsPlotTile.tsx
  function StatsPlotTile (line 11) | function StatsPlotTile() {

FILE: packages/visx-demo/src/components/Gallery/StreamGraphTile.tsx
  function StreamGraphTile (line 12) | function StreamGraphTile() {

FILE: packages/visx-demo/src/components/Gallery/TextTile.tsx
  function Text (line 11) | function Text() {
  function TextTile (line 32) | function TextTile() {

FILE: packages/visx-demo/src/components/Gallery/ThresholdTile.tsx
  function ThresholdTile (line 12) | function ThresholdTile() {

FILE: packages/visx-demo/src/components/Gallery/TooltipTile.tsx
  function DotsTile (line 14) | function DotsTile() {

FILE: packages/visx-demo/src/components/Gallery/TreemapTile.tsx
  function TreemapTile (line 12) | function TreemapTile() {

FILE: packages/visx-demo/src/components/Gallery/TreesTile.tsx
  function TreesTile (line 12) | function TreesTile() {

FILE: packages/visx-demo/src/components/Gallery/VoronoiTile.tsx
  function VoronoiTile (line 15) | function VoronoiTile() {

FILE: packages/visx-demo/src/components/Gallery/WordcloudTile.tsx
  function WordcloudTile (line 12) | function WordcloudTile() {

FILE: packages/visx-demo/src/components/Gallery/XYChartTile.tsx
  function XYChartWrapper (line 6) | function XYChartWrapper(props) {
  function XYChartITile (line 15) | function XYChartITile() {

FILE: packages/visx-demo/src/components/Gallery/ZoomITile.tsx
  function ZoomITile (line 11) | function ZoomITile() {

FILE: packages/visx-demo/src/components/Gallery/index.tsx
  function Gallery (line 107) | function Gallery() {

FILE: packages/visx-demo/src/components/GalleryTile.tsx
  type Props (line 6) | type Props<ExampleProps extends WidthAndHeight> = {
  function useEverVisible (line 31) | function useEverVisible() {
  function GalleryTile (line 65) | function GalleryTile<ExampleProps extends WidthAndHeight>({

FILE: packages/visx-demo/src/components/Logo.tsx
  function Logo (line 3) | function Logo() {

FILE: packages/visx-demo/src/components/Meta.tsx
  function Meta (line 12) | function Meta({ title = 'visualization components' }) {

FILE: packages/visx-demo/src/components/Nav.tsx
  function Nav (line 8) | function Nav() {

FILE: packages/visx-demo/src/components/NavItem.tsx
  type NavItemProps (line 4) | type NavItemProps = {
  function NavItem (line 12) | function NavItem({ id, href, children, className, external }: NavItemPro...

FILE: packages/visx-demo/src/components/NoSsr.tsx
  function NoSsr (line 4) | function NoSsr({ children }: { children: React.ReactNode }) {

FILE: packages/visx-demo/src/components/Page.tsx
  function Page (line 6) | function Page({

FILE: packages/visx-demo/src/components/Show.tsx
  type Component (line 12) | type Component<P = {}> = React.FC<P> | React.ComponentClass<P>;
  type ShowProps (line 14) | type ShowProps = {

FILE: packages/visx-demo/src/components/VisxDocLink.tsx
  function getDocUrlFromVXPackageName (line 4) | function getDocUrlFromVXPackageName(visxPackage: string) {
  type Props (line 9) | type Props = {
  function VisxDocLink (line 13) | function VisxDocLink({ packageName }: Props) {

FILE: packages/visx-demo/src/components/icons/Belo.tsx
  function Belo (line 3) | function Belo() {

FILE: packages/visx-demo/src/components/icons/GitHub.tsx
  function GitHub (line 3) | function GitHub() {

FILE: packages/visx-demo/src/components/icons/Instagram.tsx
  function Instagram (line 3) | function Instagram() {

FILE: packages/visx-demo/src/components/icons/Medium.tsx
  function Medium (line 3) | function Medium() {

FILE: packages/visx-demo/src/components/icons/Twitter.tsx
  function Twitter (line 3) | function Twitter() {

FILE: packages/visx-demo/src/components/util/extractVisxDepsFromPackageJson.ts
  function extractVisxDepsFromPackageJson (line 3) | function extractVisxDepsFromPackageJson(packageJson?: PackageJson) {

FILE: packages/visx-demo/src/components/util/format.ts
  function toExportName (line 1) | function toExportName(displayName: string) {

FILE: packages/visx-demo/src/pages/_app.tsx
  function MyApp (line 6) | function MyApp({ Component, pageProps }: AppProps) {

FILE: packages/visx-demo/src/pages/_document.tsx
  class VisxDocument (line 5) | class VisxDocument extends Document {
    method getInitialProps (line 6) | static async getInitialProps(ctx: DocumentContext) {
    method render (line 11) | render() {

FILE: packages/visx-demo/src/pages/annotation.tsx
  function AnnotationPage (line 7) | function AnnotationPage() {

FILE: packages/visx-demo/src/pages/areas.tsx
  function AreasPage (line 7) | function AreasPage() {

FILE: packages/visx-demo/src/pages/axis.tsx
  function AxisPage (line 7) | function AxisPage() {

FILE: packages/visx-demo/src/pages/bargroup.tsx
  function BarGroupPage (line 7) | function BarGroupPage() {

FILE: packages/visx-demo/src/pages/bargrouphorizontal.tsx
  function BarGroupHorizontalPage (line 7) | function BarGroupHorizontalPage() {

FILE: packages/visx-demo/src/pages/bars.tsx
  function BarsPage (line 7) | function BarsPage() {

FILE: packages/visx-demo/src/pages/barstack.tsx
  function BarStackPage (line 7) | function BarStackPage() {

FILE: packages/visx-demo/src/pages/barstackhorizontal.tsx
  function BarStackHorizontalPage (line 7) | function BarStackHorizontalPage() {

FILE: packages/visx-demo/src/pages/brush.tsx
  function BrushPage (line 7) | function BrushPage() {

FILE: packages/visx-demo/src/pages/chord.tsx
  function ChordPage (line 7) | function ChordPage() {

FILE: packages/visx-demo/src/pages/curves.tsx
  function CurvesPage (line 7) | function CurvesPage() {

FILE: packages/visx-demo/src/pages/delaunay-triangulation.tsx
  function DelaunayTriangulationPage (line 7) | function DelaunayTriangulationPage() {

FILE: packages/visx-demo/src/pages/delaunay-voronoi.tsx
  function DelaunayVoronoiPage (line 7) | function DelaunayVoronoiPage() {

FILE: packages/visx-demo/src/pages/dendrograms.tsx
  function DendrogramsPage (line 7) | function DendrogramsPage() {

FILE: packages/visx-demo/src/pages/docs.tsx
  function Docs (line 6) | function Docs() {

FILE: packages/visx-demo/src/pages/docs/annotation.tsx
  function AnnotationDocs (line 17) | function AnnotationDocs() {

FILE: packages/visx-demo/src/pages/docs/axis.tsx
  function AxisDocs (line 19) | function AxisDocs() {

FILE: packages/visx-demo/src/pages/docs/bounds.tsx
  function BoundsDocs (line 5) | function BoundsDocs() {

FILE: packages/visx-demo/src/pages/docs/brush.tsx
  function BrushDocs (line 17) | function BrushDocs() {

FILE: packages/visx-demo/src/pages/docs/chord.tsx
  function ChordDocs (line 17) | function ChordDocs() {

FILE: packages/visx-demo/src/pages/docs/clip-path.tsx
  function ClipPathDocs (line 14) | function ClipPathDocs() {

FILE: packages/visx-demo/src/pages/docs/curve.tsx
  function CurveDocs (line 8) | function CurveDocs() {

FILE: packages/visx-demo/src/pages/docs/delaunay.tsx
  function DelaunayDocs (line 18) | function DelaunayDocs() {

FILE: packages/visx-demo/src/pages/docs/drag.tsx
  function DragDocs (line 18) | function DragDocs() {

FILE: packages/visx-demo/src/pages/docs/event.tsx
  function EventDocs (line 10) | function EventDocs() {

FILE: packages/visx-demo/src/pages/docs/geo.tsx
  function GeoDocs (line 19) | function GeoDocs() {

FILE: packages/visx-demo/src/pages/docs/glyph.tsx
  function GlyphDocs (line 22) | function GlyphDocs() {

FILE: packages/visx-demo/src/pages/docs/gradient.tsx
  function GradientDocs (line 32) | function GradientDocs() {

FILE: packages/visx-demo/src/pages/docs/grid.tsx
  function GridDocs (line 20) | function GridDocs() {

FILE: packages/visx-demo/src/pages/docs/group.tsx
  function GroupDocs (line 22) | function GroupDocs() {

FILE: packages/visx-demo/src/pages/docs/heatmap.tsx
  function HeatmapDocs (line 17) | function HeatmapDocs() {

FILE: packages/visx-demo/src/pages/docs/hierarchy.tsx
  function HierarchyDocs (line 21) | function HierarchyDocs() {

FILE: packages/visx-demo/src/pages/docs/legend.tsx
  function LegendDocs (line 17) | function LegendDocs() {

FILE: packages/visx-demo/src/pages/docs/marker.tsx
  function MarkerDocs (line 14) | function MarkerDocs() {

FILE: packages/visx-demo/src/pages/docs/mock-data.tsx
  function MockDataDocs (line 13) | function MockDataDocs() {

FILE: packages/visx-demo/src/pages/docs/network.tsx
  function NetworkDocs (line 17) | function NetworkDocs() {

FILE: packages/visx-demo/src/pages/docs/pattern.tsx
  function PatternDocs (line 19) | function PatternDocs() {

FILE: packages/visx-demo/src/pages/docs/point.tsx
  function PointDocs (line 8) | function PointDocs() {

FILE: packages/visx-demo/src/pages/docs/react-spring.tsx
  function ReactSpringDocs (line 17) | function ReactSpringDocs() {

FILE: packages/visx-demo/src/pages/docs/responsive.tsx
  function ResponsiveDocs (line 17) | function ResponsiveDocs() {

FILE: packages/visx-demo/src/pages/docs/sankey.tsx
  function SankeyDocs (line 17) | function SankeyDocs() {

FILE: packages/visx-demo/src/pages/docs/scale.tsx
  function ScaleDocs (line 20) | function ScaleDocs() {

FILE: packages/visx-demo/src/pages/docs/shape.tsx
  function ShapeDocs (line 39) | function ShapeDocs() {

FILE: packages/visx-demo/src/pages/docs/stats.tsx
  function StatsDocs (line 17) | function StatsDocs() {

FILE: packages/visx-demo/src/pages/docs/text.tsx
  function TextDocs (line 17) | function TextDocs() {

FILE: packages/visx-demo/src/pages/docs/threshold.tsx
  function ThresholdDocs (line 17) | function ThresholdDocs() {

FILE: packages/visx-demo/src/pages/docs/tooltip.tsx
  function TooltipDocs (line 22) | function TooltipDocs() {

FILE: packages/visx-demo/src/pages/docs/visx.tsx
  function VisxDocs (line 5) | function VisxDocs() {

FILE: packages/visx-demo/src/pages/docs/voronoi.tsx
  function VoronoiDocs (line 17) | function VoronoiDocs() {

FILE: packages/visx-demo/src/pages/docs/wordcloud.tsx
  function WordcloudDocs (line 17) | function WordcloudDocs() {

FILE: packages/visx-demo/src/pages/docs/xychart.tsx
  function XYChartDocs (line 15) | function XYChartDocs() {

FILE: packages/visx-demo/src/pages/docs/zoom.tsx
  function ZoomDocs (line 17) | function ZoomDocs() {

FILE: packages/visx-demo/src/pages/dots.tsx
  function DotsPage (line 7) | function DotsPage() {

FILE: packages/visx-demo/src/pages/drag-i.tsx
  function DragIPage (line 7) | function DragIPage() {

FILE: packages/visx-demo/src/pages/drag-ii.tsx
  function DragIIPage (line 7) | function DragIIPage() {

FILE: packages/visx-demo/src/pages/gallery.tsx
  function GalleryPage (line 5) | function GalleryPage() {

FILE: packages/visx-demo/src/pages/geo-albers-usa.tsx
  function GeoAlbersUsaPage (line 7) | function GeoAlbersUsaPage() {

FILE: packages/visx-demo/src/pages/geo-custom.tsx
  function GeoCustomPage (line 7) | function GeoCustomPage() {

FILE: packages/visx-demo/src/pages/geo-mercator.tsx
  function GeoMercatorPage (line 7) | function GeoMercatorPage() {

FILE: packages/visx-demo/src/pages/glyphs.tsx
  function GlyphsPage (line 7) | function GlyphsPage() {

FILE: packages/visx-demo/src/pages/gradients.tsx
  function GradientsPage (line 7) | function GradientsPage() {

FILE: packages/visx-demo/src/pages/heatmaps.tsx
  function HeatmapsPage (line 7) | function HeatmapsPage() {

FILE: packages/visx-demo/src/pages/home.tsx
  function Home (line 36) | function Home() {

FILE: packages/visx-demo/src/pages/legends.tsx
  function LegendsPage (line 7) | function LegendsPage() {

FILE: packages/visx-demo/src/pages/lineradial.tsx
  function LineRadialPage (line 7) | function LineRadialPage() {

FILE: packages/visx-demo/src/pages/linktypes.tsx
  function LinkTypesPage (line 7) | function LinkTypesPage() {

FILE: packages/visx-demo/src/pages/network.tsx
  function NetworkPage (line 7) | function NetworkPage() {

FILE: packages/visx-demo/src/pages/pack.tsx
  function PackPage (line 7) | function PackPage() {

FILE: packages/visx-demo/src/pages/patterns.tsx
  function PatternsPage (line 7) | function PatternsPage() {

FILE: packages/visx-demo/src/pages/pies.tsx
  function PiesPage (line 7) | function PiesPage() {

FILE: packages/visx-demo/src/pages/polygons.tsx
  function PolygonsPage (line 7) | function PolygonsPage() {

FILE: packages/visx-demo/src/pages/radar.tsx
  function RadarPage (line 7) | function RadarPage() {

FILE: packages/visx-demo/src/pages/radial-bars.tsx
  function BarsRadialPage (line 7) | function BarsRadialPage() {

FILE: packages/visx-demo/src/pages/responsive.tsx
  function ResponsivePage (line 7) | function ResponsivePage() {

FILE: packages/visx-demo/src/pages/sankey.tsx
  function SankeyPage (line 7) | function SankeyPage() {

FILE: packages/visx-demo/src/pages/splitlinepath.tsx
  function SplitLinePathPage (line 7) | function SplitLinePathPage() {

FILE: packages/visx-demo/src/pages/stacked-areas.tsx
  function StackedAreasPage (line 7) | function StackedAreasPage() {

FILE: packages/visx-demo/src/pages/statsplot.tsx
  function StatsPlotPage (line 7) | function StatsPlotPage() {

FILE: packages/visx-demo/src/pages/streamgraph.tsx
  function StreamgraphPage (line 7) | function StreamgraphPage() {

FILE: packages/visx-demo/src/pages/text.tsx
  function TextDemo (line 22) | function TextDemo() {
  function TextPage (line 604) | function TextPage() {

FILE: packages/visx-demo/src/pages/threshold.tsx
  function Description (line 7) | function Description({ width }: { width: number }) {
  function ThresholdPage (line 20) | function ThresholdPage() {

FILE: packages/visx-demo/src/pages/tooltip.tsx
  function TooltipPage (line 7) | function TooltipPage() {

FILE: packages/visx-demo/src/pages/treemap.tsx
  function TreemapPage (line 7) | function TreemapPage() {

FILE: packages/visx-demo/src/pages/trees.tsx
  function TreesPage (line 7) | function TreesPage() {

FILE: packages/visx-demo/src/pages/voronoi.tsx
  function VoronoiPage (line 7) | function VoronoiPage() {

FILE: packages/visx-demo/src/pages/wordcloud.tsx
  function WordcloudPage (line 12) | function WordcloudPage() {

FILE: packages/visx-demo/src/pages/xychart.tsx
  function XYChartPage (line 7) | function XYChartPage() {

FILE: packages/visx-demo/src/pages/zoom-i.tsx
  function ZoomIPage (line 7) | function ZoomIPage() {

FILE: packages/visx-demo/src/sandboxes/template/Example.tsx
  type Props (line 3) | type Props = {
  function Example (line 8) | function Example({ width, height }: Props) {

FILE: packages/visx-demo/src/sandboxes/visx-annotation/Example.tsx
  type AnnotationProps (line 8) | type AnnotationProps = {
  function Example (line 17) | function Example({ width, height, compact = false }: AnnotationProps) {

FILE: packages/visx-demo/src/sandboxes/visx-annotation/ExampleControls.tsx
  type ExampleControlsProps (line 11) | type ExampleControlsProps = AnnotationProps & {
  type AnnotationPosition (line 15) | type AnnotationPosition = { x: number; y: number; dx: number; dy: number };
  type ProvidedProps (line 17) | type ProvidedProps = {
  function ExampleControls (line 47) | function ExampleControls({

FILE: packages/visx-demo/src/sandboxes/visx-annotation/findNearestDatum.ts
  function findNearestDatum (line 5) | function findNearestDatum({

FILE: packages/visx-demo/src/sandboxes/visx-area/Example.tsx
  type TooltipData (line 15) | type TooltipData = AppleStock;
  type AreaProps (line 37) | type AreaProps = {

FILE: packages/visx-demo/src/sandboxes/visx-axis/Example.tsx
  type AxisProps (line 40) | type AxisProps = {
  type AnimationTrajectory (line 46) | type AnimationTrajectory = 'outside' | 'center' | 'min' | 'max' | undefi...
  type AxisComponentType (line 48) | type AxisComponentType = React.FC<
  type GridRowsComponentType (line 53) | type GridRowsComponentType = React.FC<
  type GridColumnsComponentType (line 58) | type GridColumnsComponentType = React.FC<
  function Example (line 64) | function Example({

FILE: packages/visx-demo/src/sandboxes/visx-bargroup-horizontal/Example.tsx
  type BarGroupHorizontalProps (line 10) | type BarGroupHorizontalProps = {
  type CityName (line 17) | type CityName = 'New York' | 'San Francisco' | 'Austin';
  function max (line 28) | function max<D>(arr: D[], fn: (d: D) => number) {
  function Example (line 55) | function Example({

FILE: packages/visx-demo/src/sandboxes/visx-bargroup/Example.tsx
  type BarGroupProps (line 10) | type BarGroupProps = {
  type CityName (line 17) | type CityName = 'New York' | 'San Francisco' | 'Austin';
  function Example (line 52) | function Example({

FILE: packages/visx-demo/src/sandboxes/visx-bars/Example.tsx
  type BarsProps (line 16) | type BarsProps = {
  function Example (line 22) | function Example({ width, height, events = false }: BarsProps) {

FILE: packages/visx-demo/src/sandboxes/visx-barstack-horizontal/Example.tsx
  type CityName (line 14) | type CityName = 'New York' | 'San Francisco' | 'Austin';
  type TooltipData (line 16) | type TooltipData = {
  type BarStackHorizontalProps (line 27) | type BarStackHorizontalProps = {

FILE: packages/visx-demo/src/sandboxes/visx-barstack/Example.tsx
  type CityName (line 14) | type CityName = 'New York' | 'San Francisco' | 'Austin';
  type TooltipData (line 16) | type TooltipData = {
  type BarStackProps (line 27) | type BarStackProps = {
  function Example (line 81) | function Example({

FILE: packages/visx-demo/src/sandboxes/visx-brush/AreaChart.tsx
  function AreaChart (line 31) | function AreaChart({

FILE: packages/visx-demo/src/sandboxes/visx-brush/Example.tsx
  constant PATTERN_ID (line 24) | const PATTERN_ID = 'brush_pattern';
  constant GRADIENT_ID (line 25) | const GRADIENT_ID = 'brush_gradient';
  type BrushProps (line 38) | type BrushProps = {
  function BrushChart (line 45) | function BrushChart({
  function BrushHandle (line 214) | function BrushHandle({ x, height, isBrushActive }: BrushHandleRenderProp...

FILE: packages/visx-demo/src/sandboxes/visx-chord/Example.tsx
  function descending (line 25) | function descending(a: number, b: number): number {
  type ChordProps (line 34) | type ChordProps = {
  function Example (line 41) | function Example({ width, height, centerSize = 20, events = false }: Cho...

FILE: packages/visx-demo/src/sandboxes/visx-curve/Example.tsx
  type CurveType (line 11) | type CurveType = keyof typeof allCurves;
  type CurveProps (line 35) | type CurveProps = {
  function Example (line 41) | function Example({ width, height, showControls = true }: CurveProps) {

FILE: packages/visx-demo/src/sandboxes/visx-delaunay-triangulation/Example.tsx
  type Datum (line 9) | type Datum = {
  type DelaunayTriangulationProps (line 30) | type DelaunayTriangulationProps = {
  function Example (line 36) | function Example({ width, height, margin = defaultMargin }: DelaunayTria...

FILE: packages/visx-demo/src/sandboxes/visx-delaunay-voronoi/Example.tsx
  type Datum (line 9) | type Datum = {
  type VoronoiProps (line 30) | type VoronoiProps = {
  function Example (line 36) | function Example({ width, height, margin = defaultMargin }: VoronoiProps) {

FILE: packages/visx-demo/src/sandboxes/visx-dendrogram/Example.tsx
  type NodeShape (line 15) | interface NodeShape {
  function RootNode (line 53) | function RootNode({ node }: { node: HierarchyPointNode<NodeShape> }) {
  function Node (line 76) | function Node({ node }: { node: HierarchyPointNode<NodeShape> }) {
  type DendrogramProps (line 110) | type DendrogramProps = {
  function Example (line 116) | function Example({ width, height, margin = defaultMargin }: DendrogramPr...

FILE: packages/visx-demo/src/sandboxes/visx-dots/Example.tsx
  type DotsProps (line 18) | type DotsProps = {

FILE: packages/visx-demo/src/sandboxes/visx-drag-i/Example.tsx
  type DragIProps (line 25) | type DragIProps = {
  function DragI (line 30) | function DragI({ width, height }: DragIProps) {

FILE: packages/visx-demo/src/sandboxes/visx-drag-i/generateCircles.ts
  type Circle (line 3) | interface Circle {

FILE: packages/visx-demo/src/sandboxes/visx-drag-ii/Example.tsx
  type Line (line 7) | type Line = { x: number; y: number }[];
  type Lines (line 8) | type Lines = Line[];
  type DragIIProps (line 10) | type DragIIProps = {
  function DragII (line 16) | function DragII({ data = [], width, height }: DragIIProps) {

FILE: packages/visx-demo/src/sandboxes/visx-geo-albers-usa/Example.tsx
  type GeoAlbersUsaProps (line 10) | type GeoAlbersUsaProps = {
  type FeatureShape (line 16) | interface FeatureShape {
  function GeoAlbersUsa (line 53) | function GeoAlbersUsa({ width, height, fullSize = true }: GeoAlbersUsaPr...

FILE: packages/visx-demo/src/sandboxes/visx-geo-custom/Example.tsx
  type GeoCustomProps (line 18) | type GeoCustomProps = {
  type FeatureShape (line 24) | interface FeatureShape {
  constant PROJECTIONS (line 33) | const PROJECTIONS: { [projection: string]: Projection } = {
  function GeoCustom (line 69) | function GeoCustom({ width, height, events = true }: GeoCustomProps) {

FILE: packages/visx-demo/src/sandboxes/visx-geo-mercator/Example.tsx
  type GeoMercatorProps (line 9) | type GeoMercatorProps = {
  type FeatureShape (line 15) | interface FeatureShape {

FILE: packages/visx-demo/src/sandboxes/visx-glyph/Example.tsx
  type GlyphProps (line 64) | type GlyphProps = {
  function Example (line 70) | function Example({ width, height, margin = defaultMargin }: GlyphProps) {

FILE: packages/visx-demo/src/sandboxes/visx-gradient/Example.tsx
  type GradientProps (line 36) | type GradientProps = {
  function Example (line 42) | function Example({ width, height, margin = defaultMargin }: GradientProp...

FILE: packages/visx-demo/src/sandboxes/visx-heatmap/Example.tsx
  function max (line 23) | function max<Datum>(data: Datum[], value: (d: Datum) => number): number {
  function min (line 27) | function min<Datum>(data: Datum[], value: (d: Datum) => number): number {
  type HeatmapProps (line 58) | type HeatmapProps = {
  function Example (line 68) | function Example({

FILE: packages/visx-demo/src/sandboxes/visx-legend/Example.tsx
  function LegendDemo (line 68) | function LegendDemo({ title, children }: { title: string; children: Reac...
  function Example (line 97) | function Example({ events = false }: { events?: boolean }) {

FILE: packages/visx-demo/src/sandboxes/visx-linktypes/Example.tsx
  type TreeNode (line 10) | interface TreeNode {
  type LinkTypesProps (line 59) | type LinkTypesProps = {
  function Example (line 65) | function Example({

FILE: packages/visx-demo/src/sandboxes/visx-linktypes/LinkControls.tsx
  type Props (line 5) | type Props = {
  function LinkControls (line 16) | function LinkControls({

FILE: packages/visx-demo/src/sandboxes/visx-linktypes/getLinkComponent.ts
  function getLinkComponent (line 17) | function getLinkComponent({

FILE: packages/visx-demo/src/sandboxes/visx-linktypes/useForceUpdate.ts
  function useForceUpdate (line 3) | function useForceUpdate() {

FILE: packages/visx-demo/src/sandboxes/visx-network/Example.tsx
  type NetworkProps (line 5) | type NetworkProps = {
  type CustomNode (line 10) | interface CustomNode {
  type CustomLink (line 16) | interface CustomLink {
  function Example (line 41) | function Example({ width, height }: NetworkProps) {

FILE: packages/visx-demo/src/sandboxes/visx-pack/Example.tsx
  function extent (line 8) | function extent<D>(allData: D[], value: (d: D) => number): [number, numb...
  type PackProps (line 33) | type PackProps = {
  function Example (line 39) | function Example({ width, height, margin = defaultMargin }: PackProps) {

FILE: packages/visx-demo/src/sandboxes/visx-pattern/Example.tsx
  type PatternProps (line 18) | type PatternProps = {
  function Example (line 128) | function Example({ width, height, margin = defaultMargin }: PatternProps) {

FILE: packages/visx-demo/src/sandboxes/visx-polygons/Example.tsx
  type PolygonProps (line 39) | type PolygonProps = {

FILE: packages/visx-demo/src/sandboxes/visx-radar/Example.tsx
  function genPolygonPoints (line 32) | function genPolygonPoints<Datum>(
  type RadarProps (line 53) | type RadarProps = {
  function Example (line 60) | function Example({ width, height, levels = 5, margin = defaultMargin }: ...

FILE: packages/visx-demo/src/sandboxes/visx-radial-bars/Example.tsx
  type RadialBarsProps (line 25) | type RadialBarsProps = {
  function Example (line 31) | function Example({ width, height, showControls = true }: RadialBarsProps) {

FILE: packages/visx-demo/src/sandboxes/visx-responsive/Example.tsx
  type ResponsiveProps (line 6) | type ResponsiveProps = {
  function Nav (line 11) | function Nav() {
  function Example (line 27) | function Example({ width, height }: ResponsiveProps) {

FILE: packages/visx-demo/src/sandboxes/visx-responsive/Lines.tsx
  type Props (line 25) | type Props = {
  function Lines (line 30) | function Lines({ width, height }: Props) {

FILE: packages/visx-demo/src/sandboxes/visx-sankey/Example.tsx
  type NodeDatum (line 14) | type NodeDatum = { name: string };
  type LinkDatum (line 15) | type LinkDatum = {};
  type SankeyDemoProps (line 26) | type SankeyDemoProps = {
  function SankeyDemo (line 33) | function SankeyDemo({

FILE: packages/visx-demo/src/sandboxes/visx-shape-line-radial/Example.tsx
  function extent (line 29) | function extent<Datum>(data: Datum[], value: (d: Datum) => number) {
  type LineRadialProps (line 55) | type LineRadialProps = {
  function Example (line 61) | function Example({ width, height, animate = true }: LineRadialProps) {

FILE: packages/visx-demo/src/sandboxes/visx-shape-pie/Example.tsx
  type BrowserNames (line 13) | type BrowserNames = keyof Browsers;
  type BrowserUsage (line 15) | interface BrowserUsage {
  type PieProps (line 51) | type PieProps = {
  function Example (line 58) | function Example({
  type AnimatedStyles (line 148) | type AnimatedStyles = { startAngle: number; endAngle: number; opacity: n...
  type AnimatedPieProps (line 162) | type AnimatedPieProps<Datum> = ProvidedProps<Datum> & {
  function AnimatedPie (line 170) | function AnimatedPie<Datum>({

FILE: packages/visx-demo/src/sandboxes/visx-shape-splitlinepath/Example.tsx
  type Point (line 10) | type Point = { x: number; y: number };
  type SplitLinePathExampleProps (line 17) | type SplitLinePathExampleProps = {
  constant PADDING (line 60) | const PADDING = 30;
  function SplitLinePathExample (line 62) | function SplitLinePathExample({

FILE: packages/visx-demo/src/sandboxes/visx-shape-splitlinepath/generateSinPoints.ts
  function generateSinPoints (line 2) | function generateSinPoints({

FILE: packages/visx-demo/src/sandboxes/visx-shape-splitlinepath/generateSinSegments.ts
  type Point (line 3) | type Point = { x: number; y: number };
  function generateSinSegments (line 5) | function generateSinSegments({

FILE: packages/visx-demo/src/sandboxes/visx-shape-splitlinepath/generateSnakePath.ts
  type Point (line 1) | interface Point {
  function distance (line 8) | function distance(a: Point, b: Point) {
  function generateSnakePath (line 13) | function generateSnakePath({

FILE: packages/visx-demo/src/sandboxes/visx-stacked-areas/Example.tsx
  type BrowserNames (line 10) | type BrowserNames = keyof BrowserUsage;
  type StackedAreasProps (line 21) | type StackedAreasProps = {
  function Example (line 28) | function Example({

FILE: packages/visx-demo/src/sandboxes/visx-stats/Example.tsx
  type TooltipData (line 26) | interface TooltipData {
  type StatsPlotProps (line 35) | type StatsPlotProps = {

FILE: packages/visx-demo/src/sandboxes/visx-streamgraph/Example.tsx
  constant NUM_LAYERS (line 17) | const NUM_LAYERS = 20;
  constant SAMPLES_PER_LAYER (line 18) | const SAMPLES_PER_LAYER = 200;
  constant BUMPS_PER_LAYER (line 19) | const BUMPS_PER_LAYER = 10;
  constant BACKGROUND (line 20) | const BACKGROUND = '#ffdede';
  type Datum (line 44) | type Datum = number[];
  type StreamGraphProps (line 48) | type StreamGraphProps = {
  function Streamgraph (line 54) | function Streamgraph({ width, height, animate = true }: StreamGraphProps) {

FILE: packages/visx-demo/src/sandboxes/visx-streamgraph/useForceUpdate.ts
  function useForceUpdate (line 3) | function useForceUpdate() {

FILE: packages/visx-demo/src/sandboxes/visx-threshold/Example.tsx
  type ThresholdProps (line 32) | type ThresholdProps = {
  function Theshold (line 38) | function Theshold({ width, height, margin = defaultMargin }: ThresholdPr...

FILE: packages/visx-demo/src/sandboxes/visx-tooltip/Example.tsx
  type TooltipProps (line 10) | type TooltipProps = {
  type TooltipData (line 16) | type TooltipData = string;
  function Example (line 29) | function Example({ width, height, showControls = true }: TooltipProps) {

FILE: packages/visx-demo/src/sandboxes/visx-tree/Example.tsx
  type TreeNode (line 17) | interface TreeNode {
  type HierarchyNode (line 22) | type HierarchyNode = HierarchyPointNode<TreeNode>;
  function RootNode (line 65) | function RootNode({ node }: { node: HierarchyNode }) {
  function ParentNode (line 83) | function ParentNode({ node }: { node: HierarchyNode }) {
  function Node (line 118) | function Node({ node }: { node: HierarchyNode }) {
  type TreeProps (line 162) | type TreeProps = {
  function Example (line 168) | function Example({ width, height, margin = defaultMargin }: TreeProps) {

FILE: packages/visx-demo/src/sandboxes/visx-treemap/Example.tsx
  type TreemapProps (line 45) | type TreemapProps = {
  function TreemapDemo (line 51) | function TreemapDemo({ width, height, margin = defaultMargin }: TreemapP...

FILE: packages/visx-demo/src/sandboxes/visx-voronoi/Example.tsx
  type Datum (line 9) | type Datum = {
  type VoronoiProps (line 32) | type VoronoiProps = {
  function Example (line 38) | function Example({ width, height, margin = defaultMargin }: VoronoiProps) {

FILE: packages/visx-demo/src/sandboxes/visx-wordcloud/Example.tsx
  type ExampleProps (line 7) | interface ExampleProps {
  type WordData (line 13) | interface WordData {
  function wordFreq (line 20) | function wordFreq(text: string): WordData[] {
  function getRotationDegree (line 31) | function getRotationDegree() {
  type SpiralType (line 47) | type SpiralType = 'archimedean' | 'rectangular';
  function Example (line 49) | function Example({ width, height, showControls }: ExampleProps) {

FILE: packages/visx-demo/src/sandboxes/visx-xychart/CustomChartBackground.tsx
  function CustomChartBackground (line 7) | function CustomChartBackground() {

FILE: packages/visx-demo/src/sandboxes/visx-xychart/Example.tsx
  type XYChartProps (line 7) | type XYChartProps = {
  type City (line 12) | type City = 'San Francisco' | 'New York' | 'Austin';
  function Example (line 14) | function Example({ height }: XYChartProps) {

FILE: packages/visx-demo/src/sandboxes/visx-xychart/ExampleControls.tsx
  type Accessor (line 52) | type Accessor = (d: CityTemperature) => number | string;
  type Accessors (line 54) | interface Accessors {
  type DataKey (line 60) | type DataKey = keyof Accessors;
  type SimpleScaleConfig (line 62) | type SimpleScaleConfig = { type: 'band' | 'linear'; paddingInner?: numbe...
  type ProvidedProps (line 64) | type ProvidedProps = {
  type ControlsProps (line 112) | type ControlsProps = {
  function ExampleControls (line 116) | function ExampleControls({ children }: ControlsProps) {

FILE: packages/visx-demo/src/sandboxes/visx-xychart/getAnimatedOrUnanimatedComponents.ts
  function getAnimatedOrUnanimatedComponents (line 35) | function getAnimatedOrUnanimatedComponents(animated?: boolean) {

FILE: packages/visx-demo/src/sandboxes/visx-xychart/userPrefersReducedMotion.ts
  function userPrefersReducedMotion (line 1) | function userPrefersReducedMotion() {

FILE: packages/visx-demo/src/sandboxes/visx-zoom-i/Example.tsx
  type ZoomIProps (line 26) | type ZoomIProps = {
  function ZoomI (line 31) | function ZoomI({ width, height }: ZoomIProps) {

FILE: packages/visx-demo/src/types/index.ts
  type MarginShape (line 1) | interface MarginShape {
  type WidthAndHeight (line 8) | interface WidthAndHeight {
  type ShowProvidedProps (line 13) | type ShowProvidedProps = {
  type VisxPackage (line 20) | type VisxPackage =
  type PackageJson (line 59) | type PackageJson = { dependencies?: { [packageName: string]: string } };
  type PropInfo (line 62) | type PropInfo = {
  type ParamInfo (line 71) | type ParamInfo = {
  type DocGenInfo (line 79) | type DocGenInfo = {

FILE: packages/visx-demo/src/utils/getDocGenInfo.ts
  type ComponentWithDocs (line 9) | type ComponentWithDocs = {
  function getComponentDocs (line 20) | function getComponentDocs(
  function attachDocGenInfo (line 52) | function attachDocGenInfo<T extends Record<string, any>>(

FILE: packages/visx-demo/src/utils/getGitHubUrl.ts
  function getGitHubUrl (line 7) | function getGitHubUrl(filePath?: string, lineNumber?: number): string | ...

FILE: packages/visx-drag/src/Drag.tsx
  type HandlerArgs (line 6) | type HandlerArgs = HandlerArgsType;
  type DragProps (line 8) | type DragProps = UseDragOptions & {
  function Drag (line 21) | function Drag({

FILE: packages/visx-drag/src/useDrag.ts
  type MouseTouchOrPointerEvent (line 9) | type MouseTouchOrPointerEvent = MouseEvent | TouchEvent | PointerEvent;
  type HandlerArgs (line 11) | type HandlerArgs = DragState & {
  type UseDragOptions (line 16) | type UseDragOptions = {
  type DragState (line 48) | type DragState = {
  type UseDrag (line 61) | type UseDrag = DragState & {
  function useDrag (line 71) | function useDrag({

FILE: packages/visx-drag/src/util/clampNumber.ts
  function clampNumber (line 2) | function clampNumber(number: number, lower: number, upper: number) {

FILE: packages/visx-drag/src/util/getClosestPoint.ts
  function getClosestPoint (line 2) | function getClosestPoint(point: { x: number; y: number }, samples: DOMPo...

FILE: packages/visx-drag/src/util/raise.ts
  function raise (line 2) | function raise<T>(items: T[], raiseIndex: number) {

FILE: packages/visx-drag/src/util/restrictPoint.ts
  function restrictPoint (line 6) | function restrictPoint(

FILE: packages/visx-drag/src/util/useSamplesAlongPath.ts
  function getSamples (line 3) | function getSamples(restrictToPath: SVGGeometryElement, transform?: DOMM...
  function useSamplesAlongPath (line 16) | function useSamplesAlongPath(restrictToPath?: SVGGeometryElement | null) {

FILE: packages/visx-drag/src/util/useStateWithCallback.ts
  type SetStateWithCallback (line 3) | type SetStateWithCallback<State> = (
  function useStateWithCallback (line 9) | function useStateWithCallback<State>(

FILE: packages/visx-drag/test/useDrag.test.tsx
  function Consumer (line 13) | function Consumer() {
  function Consumer (line 38) | function Consumer({ x, y, dx, dy }: Pick<UseDragOptions, 'x' | 'y' | 'dx...

FILE: packages/visx-event/src/getXAndYFromEvent.ts
  constant DEFAULT_POINT (line 4) | const DEFAULT_POINT = { x: 0, y: 0 };
  function getXAndYFromEvent (line 6) | function getXAndYFromEvent(event?: EventType) {

FILE: packages/visx-event/src/localPoint.ts
  function localPoint (line 6) | function localPoint(nodeOrEvent: Element | EventType, maybeEvent?: Event...

FILE: packages/visx-event/src/localPointGeneric.ts
  function localPoint (line 6) | function localPoint(node: Element, event: EventType) {

FILE: packages/visx-event/src/typeGuards.ts
  function isElement (line 3) | function isElement(elem?: Element | EventType): elem is Element {
  function isSVGElement (line 8) | function isSVGElement(elem?: Element): elem is SVGElement {
  function isSVGSVGElement (line 13) | function isSVGSVGElement(elem?: Element | null): elem is SVGSVGElement {
  function isSVGGraphicsElement (line 17) | function isSVGGraphicsElement(elem?: Element | null): elem is SVGGraphic...
  function isTouchEvent (line 22) | function isTouchEvent(event?: EventType): event is TouchEvent {
  function isMouseEvent (line 27) | function isMouseEvent(event?: EventType): event is MouseEvent {
  function isEvent (line 32) | function isEvent(event?: EventType | Element): event is EventType {

FILE: packages/visx-event/src/types.ts
  type EventType (line 7) | type EventType =

FILE: packages/visx-geo/src/graticule/Graticule.tsx
  type GraticuleProps (line 8) | type GraticuleProps = {
  function Graticule (line 42) | function Graticule({

FILE: packages/visx-geo/src/projections/Albers.tsx
  function Albers (line 8) | function Albers<Datum extends GeoPermissibleObjects>(

FILE: packages/visx-geo/src/projections/AlbersUsa.tsx
  function AlbersUsa (line 8) | function AlbersUsa<Datum extends GeoPermissibleObjects>(

FILE: packages/visx-geo/src/projections/CustomProjection.tsx
  function CustomProjection (line 8) | function CustomProjection<Datum extends GeoPermissibleObjects>(

FILE: packages/visx-geo/src/projections/EqualEarth.tsx
  function EqualEarth (line 8) | function EqualEarth<Datum extends GeoPermissibleObjects>(

FILE: packages/visx-geo/src/projections/Mercator.tsx
  function Mercator (line 8) | function Mercator<Datum extends GeoPermissibleObjects>(

FILE: packages/visx-geo/src/projections/NaturalEarth.tsx
  function NaturalEarth (line 8) | function NaturalEarth<Datum extends GeoPermissibleObjects>(

FILE: packages/visx-geo/src/projections/Orthographic.tsx
  function Orthographic (line 8) | function Orthographic<Datum extends GeoPermissibleObjects>(

FILE: packages/visx-geo/src/projections/Projection.tsx
  type ProjectionProps (line 35) | type ProjectionProps<Datum extends GeoPermissibleObjects = GeoPermissibl...
  type ParsedFeature (line 105) | interface ParsedFeature<Datum> {
  function Projection (line 117) | function Projection<Datum extends GeoPermissibleObjects>({

FILE: packages/visx-geo/src/types.ts
  type GeoPermissibleObjects (line 6) | type GeoPermissibleObjects = GeoPermissibleObjectType;
  type Projection (line 8) | type Projection = ProjectionPreset | (() => GeoProjection);
  type ProjectionPreset (line 11) | type ProjectionPreset =

FILE: packages/visx-glyph/src/glyphs/Glyph.tsx
  type GlyphProps (line 5) | type GlyphProps = {
  function Glyph (line 16) | function Glyph({ top = 0, left = 0, className, children }: GlyphProps) {

FILE: packages/visx-glyph/src/glyphs/GlyphCircle.tsx
  type GlyphCircleProps (line 7) | type GlyphCircleProps<Datum> = {
  function GlyphCircle (line 20) | function GlyphCircle<Datum = unknown>({

FILE: packages/visx-glyph/src/glyphs/GlyphCross.tsx
  type GlyphCrossProps (line 7) | type GlyphCrossProps<Datum> = {
  function GlyphCross (line 20) | function GlyphCross<Datum = unknown>({

FILE: packages/visx-glyph/src/glyphs/GlyphDiamond.tsx
  type GlyphDiamondProps (line 7) | type GlyphDiamondProps<Datum> = {
  function GlyphDiamond (line 20) | function GlyphDiamond<Datum = unknown>({

FILE: packages/visx-glyph/src/glyphs/GlyphDot.tsx
  type GlyphDotProps (line 5) | type GlyphDotProps = {
  function GlyphDot (line 20) | function GlyphDot({

FILE: packages/visx-glyph/src/glyphs/GlyphSquare.tsx
  type GlyphSquareProps (line 7) | type GlyphSquareProps<Datum> = {
  function GlyphSquare (line 20) | function GlyphSquare<Datum = unknown>({

FILE: packages/visx-glyph/src/glyphs/GlyphStar.tsx
  type GlyphStarProps (line 7) | type GlyphStarProps<Datum> = {
  function GlyphStar (line 20) | function GlyphStar<Datum = unknown>({

FILE: packages/visx-glyph/src/glyphs/GlyphTriangle.tsx
  type GlyphTriangleProps (line 7) | type GlyphTriangleProps<Datum> = {
  function GlyphTriangle (line 20) | function GlyphTriangle<Datum = unknown>({

FILE: packages/visx-glyph/src/glyphs/GlyphWye.tsx
  type GlyphWyeProps (line 7) | type GlyphWyeProps<Datum> = {
  function GlyphWye (line 20) | function GlyphWye<Datum = unknown>({

FILE: packages/visx-gradient/src/gradients/GradientDarkgreenGreen.tsx
  function GradientDarkgreenGreen (line 7) | function GradientDarkgreenGreen({

FILE: packages/visx-gradient/src/gradients/GradientLightgreenGreen.tsx
  function GradientLightgreenGreen (line 7) | function GradientLightgreenGreen({

FILE: packages/visx-gradient/src/gradients/GradientOrangeRed.tsx
  function GradientOrangeRed (line 7) | function GradientOrangeRed({

FILE: packages/visx-gradient/src/gradients/GradientPinkBlue.tsx
  function GradientPinkBlue (line 7) | function GradientPinkBlue({

FILE: packages/visx-gradient/src/gradients/GradientPinkRed.tsx
  function GradientPinkRed (line 7) | function GradientPinkRed({

FILE: packages/visx-gradient/src/gradients/GradientPurpleOrange.tsx
  function GradientPurpleOrange (line 7) | function GradientPurpleOrange({

FILE: packages/visx-gradient/src/gradients/GradientPurpleRed.tsx
  function GradientPurpleRed (line 7) | function GradientPurpleRed({

FILE: packages/visx-gradient/src/gradients/GradientPurpleTeal.tsx
  function GradientPurpleTeal (line 7) | function GradientPurpleTeal({

FILE: packages/visx-gradient/src/gradients/GradientSteelPurple.tsx
  function GradientSteelPurple (line 7) | function GradientSteelPurple({

FILE: packages/visx-gradient/src/gradients/GradientTealBlue.tsx
  function GradientTealBlue (line 7) | function GradientTealBlue({

FILE: packages/visx-gradient/src/gradients/LinearGradient.tsx
  type LinearGradientOwnProps (line 3) | type LinearGradientOwnProps = {
  type LinearGradientProps (line 36) | type LinearGradientProps = LinearGradientOwnProps &
  function LinearGradient (line 39) | function LinearGradient({

FILE: packages/visx-gradient/src/gradients/RadialGradient.tsx
  type RadialGradientProps (line 4) | type RadialGradientProps = Pick<
  function RadialGradient (line 19) | function RadialGradient({

FILE: packages/visx-grid/src/grids/Grid.tsx
  type CommonPropsToOmit (line 10) | type CommonPropsToOmit =
  type GridProps (line 20) | type GridProps<XScale extends GridScale, YScale extends GridScale> = Omit<
  function Grid (line 46) | function Grid<XScale extends GridScale, YScale extends GridScale>({

FILE: packages/visx-grid/src/grids/GridAngle.tsx
  type GridAngleProps (line 13) | type GridAngleProps<Scale extends GridScale> = CommonGridProps & {
  type AllGridAngleProps (line 35) | type AllGridAngleProps<Scale extends GridScale> = GridAngleProps<Scale> &
  function GridAngle (line 41) | function GridAngle<Scale extends GridScale>({

FILE: packages/visx-grid/src/grids/GridColumns.tsx
  type GridColumnsProps (line 12) | type GridColumnsProps<Scale extends GridScale> = CommonGridProps & {
  type AllGridColumnsProps (line 24) | type AllGridColumnsProps<Scale extends GridScale> = GridColumnsProps<Sca...
  function GridColumns (line 27) | function GridColumns<Scale extends GridScale>({

FILE: packages/visx-grid/src/grids/GridPolar.tsx
  type GridPolarProps (line 11) | type GridPolarProps<
  function GridPolar (line 123) | function GridPolar<Scale extends GridScale>({

FILE: packages/visx-grid/src/grids/GridRadial.tsx
  type GridRadialProps (line 11) | type GridRadialProps<Scale extends GridScale> = CommonGridProps & {
  type AllGridRadialProps (line 49) | type AllGridRadialProps<Scale extends GridScale, Datum> = GridRadialProp...
  function GridRadial (line 55) | function GridRadial<Scale extends GridScale, Datum>({

FILE: packages/visx-grid/src/grids/GridRows.tsx
  type GridRowsProps (line 12) | type GridRowsProps<Scale extends GridScale> = CommonGridProps & {
  type AllGridRowsProps (line 24) | type AllGridRowsProps<Scale extends GridScale> = GridRowsProps<Scale> &
  function GridRows (line 27) | function GridRows<Scale extends GridScale>({

FILE: packages/visx-grid/src/types.ts
  type GridScaleOutput (line 6) | type GridScaleOutput = number | NumberLike | undefined;
  type GridScale (line 9) | type GridScale<Output extends GridScaleOutput = GridScaleOutput> =
  type GridLines (line 13) | type GridLines = {
  type CommonGridProps (line 19) | type CommonGridProps = {

FILE: packages/visx-grid/src/utils/getScaleBandwidth.ts
  function getScaleBandwidth (line 3) | function getScaleBandwidth(scale: GridScale) {

FILE: packages/visx-grid/src/utils/polarToCartesian.ts
  type PolarCoordinate (line 1) | type PolarCoordinate = {
  type CartesianCoordinate (line 6) | type CartesianCoordinate = {
  function polarToCartesian (line 11) | function polarToCartesian({ radius, angle }: PolarCoordinate): Cartesian...

FILE: packages/visx-group/src/Group.tsx
  type GroupProps (line 4) | type GroupProps = {
  function Group (line 18) | function Group({

FILE: packages/visx-heatmap/src/heatmaps/HeatmapCircle.tsx
  type HeatmapCircleProps (line 6) | type HeatmapCircleProps<ColumnDatum, BinDatum> = {
  type CircleCell (line 35) | type CircleCell<ColumnDatum, BinDatum> = GenericCell<ColumnDatum, BinDat...
  function HeatmapCircle (line 46) | function HeatmapCircle<ColumnDatum, BinDatum>({

FILE: packages/visx-heatmap/src/heatmaps/HeatmapRect.tsx
  type HeatmapRectProps (line 6) | type HeatmapRectProps<ColumnDatum, BinDatum> = {
  type RectCell (line 39) | type RectCell<ColumnDatum, BinDatum> = GenericCell<ColumnDatum, BinDatum...
  type ComponentProps (line 50) | type ComponentProps<ColumnDatum, BinDatum> = HeatmapRectProps<ColumnDatu...
  function HeatmapRect (line 62) | function HeatmapRect<ColumnDatum, BinDatum>({

FILE: packages/visx-heatmap/src/types.ts
  type GenericCell (line 1) | interface GenericCell<ColumnDatum, BinDatum> {
  type ColorScale (line 20) | type ColorScale = (count: number | { valueOf(): number }) => string | un...
  type OpacityScale (line 22) | type OpacityScale = (count: number | { valueOf(): number }) => number | ...

FILE: packages/visx-hierarchy/src/HierarchyDefaultLink.tsx
  type Node (line 1) | type Node = { x: number; y: number };
  type LinkProps (line 3) | type LinkProps = {
  constant DEFAULT_LINK (line 7) | const DEFAULT_LINK = { source: { x: 0, y: 0 }, target: { x: 0, y: 0 } };
  function HierarchyDefaultLink (line 9) | function HierarchyDefaultLink({ link = DEFAULT_LINK }: LinkProps) {

FILE: packages/visx-hierarchy/src/HierarchyDefaultNode.tsx
  type NodeProps (line 1) | type NodeProps = {
  function HierarchyDefaultNode (line 5) | function HierarchyDefaultNode({ node = { x: 0, y: 0, r: 15 } }: NodeProp...

FILE: packages/visx-hierarchy/src/HierarchyDefaultRectNode.tsx
  type NodeProps (line 1) | type NodeProps = {
  function HierarchyDefaultRectNode (line 5) | function HierarchyDefaultRectNode({ node: { x0, x1, y0, y1 } }: NodeProp...

FILE: packages/visx-hierarchy/src/hierarchies/Cluster.tsx
  type NodeComponentProps (line 10) | type NodeComponentProps<Datum> = { node: HierarchyPointNode<Datum> };
  type LinkComponentProps (line 11) | type LinkComponentProps<Datum> = { link: HierarchyPointLink<Datum> };
  type ClusterProps (line 13) | type ClusterProps<Datum> = {
  function Cluster (line 48) | function Cluster<Datum>({

FILE: packages/visx-hierarchy/src/hierarchies/Pack.tsx
  type PackProps (line 9) | type PackProps<Datum> = {
  type NodeComponentProps (line 40) | type NodeComponentProps<Datum> = { node: HierarchyCircularNode<Datum> };
  function Pack (line 42) | function Pack<Datum>({

FILE: packages/visx-hierarchy/src/hierarchies/Partition.tsx
  type NodeComponentProps (line 9) | type NodeComponentProps<Datum> = { node: HierarchyRectangularNode<Datum> };
  type PartitionProps (line 11) | type PartitionProps<Datum> = {
  function Partition (line 34) | function Partition<Datum>({

FILE: packages/visx-hierarchy/src/hierarchies/Tree.tsx
  type NodeComponentProps (line 10) | type NodeComponentProps<Datum> = { node: HierarchyPointNode<Datum> };
  type LinkComponentProps (line 11) | type LinkComponentProps<Datum> = { link: HierarchyPointLink<Datum> };
  type TreeProps (line 13) | type TreeProps<Datum> = {
  function Tree (line 51) | function Tree<Datum>({

FILE: packages/visx-hierarchy/src/hierarchies/Treemap.tsx
  type NodeComponentProps (line 11) | type NodeComponentProps<Datum> = { node: HierarchyRectangularNode<Datum> };
  type NumerOrNumberAccessor (line 13) | type NumerOrNumberAccessor<Datum> = number | ((node: HierarchyRectangula...
  type TreemapProps (line 15) | type TreemapProps<Datum> = {
  function Treemap (line 55) | function Treemap<Datum>({

FILE: packages/visx-hierarchy/src/types.ts
  type TileMethod (line 15) | type TileMethod<Datum> = (

FILE: packages/visx-hierarchy/src/utils/setNumOrNumAccessor.ts
  function setNumberOrNumberAccessor (line 5) | function setNumberOrNumberAccessor<NumAccessor>(

FILE: packages/visx-hierarchy/test/Cluster.test.tsx
  type Datum (line 7) | type Datum = { name: string; children: Datum[] };

FILE: packages/visx-hierarchy/test/Tree.test.tsx
  type Datum (line 7) | type Datum = { name: string; children: Datum[] };

FILE: packages/visx-legend/src/legends/Legend/LegendItem.tsx
  type LegendItemProps (line 4) | type LegendItemProps = {
  function LegendItem (line 17) | function LegendItem({

FILE: packages/visx-legend/src/legends/Legend/LegendLabel.tsx
  type LegendLabelOwnProps (line 3) | type LegendLabelOwnProps = {
  type LegendLabelProps (line 16) | type LegendLabelProps = LegendLabelOwnProps &
  function LegendLabel (line 19) | function LegendLabel({

FILE: packages/visx-legend/src/legends/Legend/LegendShape.tsx
  type LegendShapeProps (line 11) | type LegendShapeProps<Data, Output> = {
  function LegendShape (line 34) | function LegendShape<Data, Output>({

FILE: packages/visx-legend/src/legends/Legend/index.tsx
  type LegendProps (line 18) | type LegendProps<Scale extends AnyD3Scale> = {
  function Legend (line 69) | function Legend<Scale extends AnyD3Scale>({

FILE: packages/visx-legend/src/legends/Linear.tsx
  type AnyLinearScale (line 7) | type AnyLinearScale = PickD3Scale<'linear', any>;
  type LegendLinearProps (line 9) | type LegendLinearProps<Scale extends AnyLinearScale> = {
  function Linear (line 15) | function Linear<Scale extends AnyLinearScale>({

FILE: packages/visx-legend/src/legends/Ordinal.tsx
  type AnyOrdinalScale (line 6) | type AnyOrdinalScale = PickD3Scale<'ordinal', any, any>;
  type LegendOrdinalProps (line 8) | type LegendOrdinalProps<Scale extends AnyOrdinalScale> = LegendProps<Sca...
  function Ordinal (line 11) | function Ordinal<Scale extends AnyOrdinalScale>(props: LegendOrdinalProp...

FILE: packages/visx-legend/src/legends/Quantile.tsx
  type AnyQuantileScale (line 8) | type AnyQuantileScale = PickD3Scale<'quantile', any>;
  type FactoryProps (line 10) | type FactoryProps = {
  type LegendQuantileProps (line 15) | type LegendQuantileProps<Scale extends AnyQuantileScale> = LegendProps<S...
  function labelFormatterFactoryFactory (line 17) | function labelFormatterFactoryFactory<Scale extends AnyQuantileScale>({
  function Quantile (line 34) | function Quantile<Scale extends AnyQuantileScale>({

FILE: packages/visx-legend/src/legends/Size.tsx
  type AnySizeScale (line 9) | type AnySizeScale = D3Scale<number, any, any>;
  type LegendSizeProps (line 11) | type LegendSizeProps<Scale extends AnySizeScale> = {
  function Size (line 20) | function Size<Scale extends AnySizeScale>({

FILE: packages/visx-legend/src/legends/Threshold.tsx
  type AnyThresholdScale (line 8) | type AnyThresholdScale = PickD3Scale<'threshold', any, any, any>;
  type TransformProps (line 12) | type TransformProps = {
  type LegendThresholdProps (line 21) | type LegendThresholdProps<Scale extends AnyThresholdScale> = LegendProps...
  function defaultTransform (line 27) | function defaultTransform<Scale extends AnyThresholdScale>({
  function Threshold (line 77) | function Threshold<Scale extends AnyThresholdScale>({

FILE: packages/visx-legend/src/shapes/Circle.tsx
  type ShapeCircleProps (line 4) | type ShapeCircleProps = {
  function ShapeCircle (line 15) | function ShapeCircle({ fill, width, height, style }: ShapeCircleProps) {

FILE: packages/visx-legend/src/shapes/Line.tsx
  type ShapeShapeLineProps (line 4) | type ShapeShapeLineProps = {
  function ShapeLine (line 15) | function ShapeLine({ fill, width, height, style }: ShapeShapeLineProps) {

FILE: packages/visx-legend/src/shapes/Rect.tsx
  type ShapeRectProps (line 3) | type ShapeRectProps = {
  function ShapeRect (line 14) | function ShapeRect({ fill, width, height, style }: ShapeRectProps) {

FILE: packages/visx-legend/src/types/index.ts
  type LabelFormatterFactory (line 4) | type LabelFormatterFactory<Scale extends AnyD3Scale> = (args: {
  type LabelFormatter (line 9) | type LabelFormatter<Datum> = (
  type FormattedLabel (line 14) | type FormattedLabel<Datum, Output, ExtraAttributes = {}> = {
  type ItemTransformer (line 21) | type ItemTransformer<Datum, Output> = (
  type RenderShapeProvidedProps (line 26) | type RenderShapeProvidedProps<Data, Output> = {
  type LegendShape (line 37) | type LegendShape<Data, Output> =
  type FillAccessor (line 44) | type FillAccessor<Datum, Output> = (
  type SizeAccessor (line 48) | type SizeAccessor<Datum, Output> = (
  type ShapeStyleAccessor (line 52) | type ShapeStyleAccessor<Datum, Output> = (
  type FlexDirection (line 56) | type FlexDirection =

FILE: packages/visx-legend/src/util/defaultDomain.ts
  function defaultDomain (line 3) | function defaultDomain<Scale extends D3Scale<number>>({

FILE: packages/visx-legend/src/util/identity.ts
  function identity (line 1) | function identity<T>(x: T) {

FILE: packages/visx-legend/src/util/labelTransformFactory.ts
  function labelTransformFactory (line 5) | function labelTransformFactory<Scale extends AnyD3Scale>({

FILE: packages/visx-legend/src/util/renderShape.ts
  type RenderShapeArgs (line 15) | type RenderShapeArgs<Data, Output> = {
  function renderShape (line 29) | function renderShape<Data, Output>({

FILE: packages/visx-legend/src/util/valueOrIdentity.ts
  type ValueOrIdentity (line 1) | type ValueOrIdentity<T> = T | { value?: T };
  function valueOrIdentity (line 4) | function valueOrIdentity<T>(_: ValueOrIdentity<T>): T {
  function valueOrIdentityString (line 10) | function valueOrIdentityString<T>(_: ValueOrIdentity<T>): string {

FILE: packages/visx-legend/test/svgMock.ts
  function addMock (line 8) | function addMock() {
  function removeMock (line 22) | function removeMock() {

FILE: packages/visx-marker/src/markers/Arrow.tsx
  function MarkerArrow (line 4) | function MarkerArrow({

FILE: packages/visx-marker/src/markers/Circle.tsx
  function MarkerCircle (line 4) | function MarkerCircle({

FILE: packages/visx-marker/src/markers/Cross.tsx
  function MarkerCross (line 4) | function MarkerCross({

FILE: packages/visx-marker/src/markers/Line.tsx
  function MarkerLine (line 4) | function MarkerLine({

FILE: packages/visx-marker/src/markers/Marker.tsx
  type Props (line 3) | interface Props {
  type MarkerProps (line 24) | type MarkerProps = Props & Omit<SVGProps<SVGMarkerElement>, keyof Props>;
  type MarkerComponentProps (line 25) | type MarkerComponentProps = Omit<MarkerProps, 'children'>;
  function Marker (line 27) | function Marker({

FILE: packages/visx-marker/src/markers/X.tsx
  function MarkerX (line 4) | function MarkerX(props: MarkerComponentProps) {

FILE: packages/visx-mock-data/src/generators/genBin.ts
  type CountFunction (line 1) | type CountFunction = (idx: number, number: number) => number;
  type BinFunction (line 2) | type BinFunction = (idx: number, number?: number) => number;
  type Bin (line 4) | interface Bin {
  function genBin (line 13) | function genBin(

FILE: packages/visx-mock-data/src/generators/genBins.ts
  type Bin (line 4) | type Bin = BinType;
  type Bins (line 6) | interface Bins {
  function genBins (line 11) | function genBins(

FILE: packages/visx-mock-data/src/generators/genDateValue.ts
  type DateValue (line 3) | interface DateValue {
  function genDateValue (line 8) | function genDateValue(

FILE: packages/visx-mock-data/src/generators/genPhyllotaxis.ts
  type GenPhyllotaxis (line 1) | interface GenPhyllotaxis {
  type PhyllotaxisPoint (line 6) | interface PhyllotaxisPoint {
  type GenPhyllotaxisFunction (line 11) | type GenPhyllotaxisFunction = (idx: number) => PhyllotaxisPoint;
  function genPhyllotaxis (line 13) | function genPhyllotaxis({

FILE: packages/visx-mock-data/src/generators/genRandomNormalPoints.ts
  type PointConfig (line 4) | type PointConfig = [number, number, number];
  type PointsRange (line 5) | type PointsRange = [number, number, number];
  function range (line 9) | function range(length: number): number[] {
  function genPointsRange (line 13) | function genPointsRange(
  function genPoints (line 21) | function genPoints(

FILE: packages/visx-mock-data/src/generators/genStats.ts
  type BoxPlot (line 3) | interface BoxPlot {
  type BinData (line 13) | interface BinData {
  type Stats (line 18) | interface Stats {
  function genStats (line 27) | function genStats(

FILE: packages/visx-mock-data/src/generators/getSeededRandom.ts
  function getSeededRandom (line 4) | function getSeededRandom(

FILE: packages/visx-mock-data/src/mocks/appleStock.ts
  type AppleStock (line 1) | interface AppleStock {

FILE: packages/visx-mock-data/src/mocks/bitcoinPrice.ts
  type BitcoinPrice (line 1) | interface BitcoinPrice {
  type BitcoinPrices (line 6) | interface BitcoinPrices {

FILE: packages/visx-mock-data/src/mocks/browserUsage.ts
  type BrowserUsage (line 1) | interface BrowserUsage {

FILE: packages/visx-mock-data/src/mocks/cityTemperature.ts
  type CityTemperature (line 1) | interface CityTemperature {

FILE: packages/visx-mock-data/src/mocks/exoplanets.ts
  type Exoplanets (line 1) | interface Exoplanets {

FILE: packages/visx-mock-data/src/mocks/groupDateValue.ts
  type GroupDateValue (line 1) | interface GroupDateValue {

FILE: packages/visx-mock-data/src/mocks/lesMiserables.ts
  type LesMiserablesNode (line 1) | interface LesMiserablesNode {
  type LesMiserablesLink (line 6) | interface LesMiserablesLink {
  type LesMiserables (line 12) | interface LesMiserables {

FILE: packages/visx-mock-data/src/mocks/letterFrequency.ts
  type LetterFrequency (line 1) | interface LetterFrequency {

FILE: packages/visx-mock-data/src/mocks/planets.ts
  type Planets (line 1) | interface Planets {

FILE: packages/visx-mock-data/src/mocks/shakespeare.ts
  type Shakespeare (line 1) | interface Shakespeare {

FILE: packages/visx-network/src/DefaultLink.tsx
  function DefaultLink (line 4) | function DefaultLink({ link }: LinkProvidedProps<any>) {

FILE: packages/visx-network/src/DefaultNode.tsx
  type NodeProps (line 3) | type NodeProps = {
  function DefaultNode (line 9) | function DefaultNode({

FILE: packages/visx-network/src/Graph.tsx
  type GraphProps (line 15) | type GraphProps<Link, Node> = {
  function Graph (line 32) | function Graph<Link = LinkType<DefaultNodeType>, Node = DefaultNodeType>({

FILE: packages/visx-network/src/Links.tsx
  type LinkProps (line 7) | type LinkProps<Link> = {
  function Links (line 18) | function Links<Link>({ links = [], linkComponent, className }: LinkProps...

FILE: packages/visx-network/src/Nodes.tsx
  type NodeProps (line 9) | type NodeProps<Node> = {
  function Nodes (line 24) | function Nodes<Node>({

FILE: packages/visx-network/src/types.ts
  type DefaultNode (line 1) | interface DefaultNode {
  type Link (line 6) | interface Link<Node> {
  type Graph (line 11) | interface Graph<L, Node> {
  type LinkProvidedProps (line 16) | interface LinkProvidedProps<L> {
  type NodeProvidedProps (line 20) | interface NodeProvidedProps<Node> {

FILE: packages/visx-pattern/src/constants/index.ts
  type PatternOrientationType (line 8) | type PatternOrientationType = (typeof PatternOrientation)[keyof typeof P...

FILE: packages/visx-pattern/src/patterns/Circles.tsx
  type PatternCirclesProps (line 4) | type PatternCirclesProps = {
  function Circles (line 29) | function Circles({

FILE: packages/visx-pattern/src/patterns/Hexagons.tsx
  type PatternHexagonsProps (line 4) | type PatternHexagonsProps = {
  function Hexagons (line 29) | function Hexagons({

FILE: packages/visx-pattern/src/patterns/Lines.tsx
  function pathForOrientation (line 6) | function pathForOrientation({
  type PatternLinesProps (line 31) | type PatternLinesProps = {
  function Lines (line 56) | function Lines({

FILE: packages/visx-pattern/src/patterns/Path.tsx
  type PatternPathProps (line 4) | type PatternPathProps = {
  function Path (line 31) | function Path({

FILE: packages/visx-pattern/src/patterns/Pattern.tsx
  type PatternProps (line 3) | type PatternProps = {
  function Pattern (line 14) | function Pattern({ id, width, height, children }: PatternProps) {

FILE: packages/visx-pattern/src/patterns/Waves.tsx
  type PatternWavesProps (line 4) | type PatternWavesProps = {
  function Waves (line 29) | function Waves({

FILE: packages/visx-point/src/Point.ts
  class Point (line 1) | class Point {
    method constructor (line 5) | constructor({ x = 0, y = 0 }) {
    method value (line 10) | value() {
    method toArray (line 17) | toArray() {

FILE: packages/visx-point/src/subtractPoints.ts
  function subtractPoints (line 3) | function subtractPoints(point1: Point, point2: Point) {

FILE: packages/visx-point/src/sumPoints.ts
  function sumPoints (line 3) | function sumPoints(point1: Point, point2: Point) {

FILE: packages/visx-react-spring/src/axis/AnimatedAxis.tsx
  type AnimatedAxisProps (line 7) | type AnimatedAxisProps<Scale extends AxisScale> = Omit<
  function AnimatedAxis (line 12) | function AnimatedAxis<Scale extends AxisScale>({

FILE: packages/visx-react-spring/src/axis/AnimatedTicks.tsx
  function AnimatedTicks (line 11) | function AnimatedTicks<Scale extends AxisScale>({

FILE: packages/visx-react-spring/src/grid/AnimatedGridColumns.tsx
  function AnimatedGridColumns (line 6) | function AnimatedGridColumns<Scale extends GridScale>({

FILE: packages/visx-react-spring/src/grid/AnimatedGridLines.tsx
  type AnimatedGridLinesProps (line 7) | type AnimatedGridLinesProps<Scale extends GridScale> = {
  function AnimatedGridLines (line 15) | function AnimatedGridLines<Scale extends GridScale>({

FILE: packages/visx-react-spring/src/grid/AnimatedGridRows.tsx
  function AnimatedGridRows (line 6) | function AnimatedGridRows<Scale extends GridScale>({

FILE: packages/visx-react-spring/src/spring-configs/useLineTransitionConfig.ts
  type Point (line 7) | interface Point {
  type Line (line 12) | interface Line {
  function animatedValue (line 17) | function animatedValue(
  function enterUpdate (line 37) | function enterUpdate({ from, to }: Line) {
  type TransitionConfig (line 47) | type TransitionConfig<Scale extends AxisScale | GridScale> = {
  function useLineTransitionConfig (line 60) | function useLineTransitionConfig<Scale extends AxisScale | GridScale>({

FILE: packages/visx-react-spring/src/types/index.ts
  type AnimationTrajectory (line 1) | type AnimationTrajectory = 'outside' | 'center' | 'min' | 'max';

FILE: packages/visx-react-spring/test/svgMock.ts
  function addMock (line 8) | function addMock() {
  function removeMock (line 22) | function removeMock() {

FILE: packages/visx-responsive/src/components/ParentSize.tsx
  type ParentSizeProvidedProps (line 5) | type ParentSizeProvidedProps = ParentSizeState & {
  type ParentSizeProps (line 10) | type ParentSizeProps = {
  function ParentSize (line 25) | function ParentSize({

FILE: packages/visx-responsive/src/components/ScaleSVG.tsx
  type ScaleSVGProps (line 3) | type ScaleSVGProps = {
  function ScaleSVG (line 20) | function ScaleSVG({

FILE: packages/visx-responsive/src/enhancers/withParentSize.tsx
  constant CONTAINER_STYLES (line 12) | const CONTAINER_STYLES = { width: '100%', height: '100%' };
  type WithParentSizeProps (line 18) | type WithParentSizeProps = DebounceSettings;
  type WithParentSizeConfig (line 20) | type WithParentSizeConfig = {
  type WithParentSizeState (line 25) | type WithParentSizeState = {
  type WithParentSizeProvidedProps (line 30) | type WithParentSizeProvidedProps = WithParentSizeState;
  type WithParentSizeComponentProps (line 32) | type WithParentSizeComponentProps<P extends WithParentSizeProvidedProps>...
  function withParentSize (line 36) | function withParentSize<P extends WithParentSizeProvidedProps>(

FILE: packages/visx-responsive/src/enhancers/withScreenSize.tsx
  type WithScreenSizeConfig (line 6) | type WithScreenSizeConfig = {
  type WithParentSizeProps (line 15) | type WithParentSizeProps = Omit<WithScreenSizeConfig, 'debounceTime'>;
  type WithScreenSizeState (line 17) | type WithScreenSizeState = {
  type WithScreenSizeProvidedProps (line 22) | type WithScreenSizeProvidedProps = WithScreenSizeState;
  type WithScreenSizeComponentProps (line 24) | type WithScreenSizeComponentProps<P extends WithScreenSizeProvidedProps>...
  function withScreenSize (line 28) | function withScreenSize<P extends WithScreenSizeProvidedProps>(

FILE: packages/visx-responsive/src/hooks/useParentSize.ts
  type ParentSizeState (line 6) | type ParentSizeState = {
  type UseParentSizeConfig (line 13) | type UseParentSizeConfig = {
  type UseParentSizeResult (line 22) | type UseParentSizeResult<T extends HTMLElement = HTMLDivElement> = Paren...
  function useParentSize (line 35) | function useParentSize<T extends HTMLElement = HTMLDivElement>({

FILE: packages/visx-responsive/src/hooks/useScreenSize.ts
  type ScreenSize (line 5) | interface ScreenSize {
  type UseScreenSizeConfig (line 15) | type UseScreenSizeConfig = {

FILE: packages/visx-responsive/src/types/index.ts
  type ResizeObserverEntry (line 2) | interface ResizeObserverEntry {
  type ResizeObserverCallback (line 11) | type ResizeObserverCallback = (entries: ResizeObserverEntry[], observer:...
  class ResizeObserver (line 13) | class ResizeObserver {
  type ResizeObserverPolyfill (line 21) | interface ResizeObserverPolyfill {
  type PrivateWindow (line 25) | interface PrivateWindow {
  type Simplify (line 29) | type Simplify<T> = { [Key in keyof T]: T[Key] } & {};
  type DebounceSettings (line 31) | interface DebounceSettings {

FILE: packages/visx-responsive/test/withParentSize.test.tsx
  type ComponentProps (line 8) | interface ComponentProps extends WithParentSizeProvidedProps {
  function Component (line 13) | function Component({ parentWidth, parentHeight, role }: ComponentProps) {

FILE: packages/visx-sankey/src/Sankey.tsx
  constant DEFAULT_COLOR (line 8) | const DEFAULT_COLOR = '#000';
  type NodeProps (line 10) | type NodeProps = Pick<
  type LinkProps (line 14) | type LinkProps = Pick<
  type CreatePath (line 25) | type CreatePath<
  type NodeIdAccessor (line 31) | type NodeIdAccessor<
  type SourceAccessor (line 36) | type SourceAccessor<
  type TargetAccessor (line 41) | type TargetAccessor<
  type NodeAlignment (line 46) | type NodeAlignment<
  type SankeyChildrenFunction (line 51) | type SankeyChildrenFunction<
  type SankeyProps (line 59) | type SankeyProps<
  function Sankey (line 106) | function Sankey<

FILE: packages/visx-scale/src/createScale.ts
  function createScale (line 129) | function createScale<

FILE: packages/visx-scale/src/operators/align.ts
  function applyAlign (line 5) | function applyAlign<

FILE: packages/visx-scale/src/operators/base.ts
  function applyBase (line 5) | function applyBase<

FILE: packages/visx-scale/src/operators/clamp.ts
  function applyClamp (line 5) | function applyClamp<

FILE: packages/visx-scale/src/operators/constant.ts
  function applyConstant (line 5) | function applyConstant<

FILE: packages/visx-scale/src/operators/domain.ts
  function applyDomain (line 5) | function applyDomain<

FILE: packages/visx-scale/src/operators/exponent.ts
  function applyExponent (line 5) | function applyExponent<

FILE: packages/visx-scale/src/operators/interpolate.ts
  function applyInterpolate (line 7) | function applyInterpolate<

FILE: packages/visx-scale/src/operators/nice.ts
  function applyNice (line 49) | function applyNice<

FILE: packages/visx-scale/src/operators/padding.ts
  function applyPadding (line 5) | function applyPadding<

FILE: packages/visx-scale/src/operators/range.ts
  function applyRange (line 5) | function applyRange<

FILE: packages/visx-scale/src/operators/reverse.ts
  function applyReverse (line 5) | function applyReverse<

FILE: packages/visx-scale/src/operators/round.ts
  function applyRound (line 7) | function applyRound<

FILE: packages/visx-scale/src/operators/scaleOperator.ts
  constant ALL_OPERATORS (line 22) | const ALL_OPERATORS = [
  type OperatorType (line 46) | type OperatorType = (typeof ALL_OPERATORS)[number];
  function scaleOperator (line 66) | function scaleOperator<T extends ScaleType>(...ops: OperatorType[]) {

FILE: packages/visx-scale/src/operators/unknown.ts
  function applyUnknown (line 5) | function applyUnknown<

FILE: packages/visx-scale/src/operators/zero.ts
  function applyZero (line 5) | function applyZero<

FILE: packages/visx-scale/src/scales/band.ts
  function createBandScale (line 15) | function createBandScale<DiscreteInput extends StringLike = StringLike>(

FILE: packages/visx-scale/src/scales/linear.ts
  function createLinearScale (line 17) | function createLinearScale<Output = DefaultOutput>(

FILE: packages/visx-scale/src/scales/log.ts
  function createLogScale (line 17) | function createLogScale<Output = DefaultOutput>(

FILE: packages/visx-scale/src/scales/ordinal.ts
  function createOrdinalScale (line 8) | function createOrdinalScale<

FILE: packages/visx-scale/src/scales/point.ts
  function createPointScale (line 15) | function createPointScale<DiscreteInput extends StringLike = StringLike>(

FILE: packages/visx-scale/src/scales/power.ts
  function createPowScale (line 18) | function createPowScale<Output = DefaultOutput>(

FILE: packages/visx-scale/src/scales/quantile.ts
  function createQuantileScale (line 8) | function createQuantileScale<Output = DefaultOutput>(

FILE: packages/visx-scale/src/scales/quantize.ts
  function createQuantizeScale (line 14) | function createQuantizeScale<Output = DefaultOutput>(

FILE: packages/visx-scale/src/scales/radial.ts
  function createRadialScale (line 15) | function createRadialScale<Output = DefaultOutput>(

FILE: packages/visx-scale/src/scales/squareRoot.ts
  function createSqrtScale (line 17) | function createSqrtScale<Output = DefaultOutput>(

FILE: packages/visx-scale/src/scales/symlog.ts
  function createSymlogScale (line 17) | function createSymlogScale<Output = DefaultOutput>(

FILE: packages/visx-scale/src/scales/threshold.ts
  function createThresholdScale (line 9) | function createThresholdScale<

FILE: packages/visx-scale/src/scales/time.ts
  function createTimeScale (line 16) | function createTimeScale<Output = DefaultOutput>(

FILE: packages/visx-scale/src/scales/utc.ts
  function createUtcScale (line 16) | function createUtcScale<Output = DefaultOutput>(

FILE: packages/visx-scale/src/types/Base.ts
  type NumberLike (line 2) | type NumberLike = { valueOf(): number };
  type StringLike (line 5) | type StringLike = { toString(): string };
  type DefaultOutput (line 8) | type DefaultOutput = number | string | boolean | null;
  type ValueOf (line 11) | type ValueOf<T> = T[keyof T];
  type Unarray (line 14) | type Unarray<T> = T extends Array<infer U> ? U : T;

FILE: packages/visx-scale/src/types/BaseScaleConfig.ts
  type BaseScaleConfig (line 4) | interface BaseScaleConfig<T, D, R> {

FILE: packages/visx-scale/src/types/Nice.ts
  type NiceTime (line 1) | type NiceTime = 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' ...

FILE: packages/visx-scale/src/types/Scale.ts
  type DefaultThresholdInput (line 17) | type DefaultThresholdInput = number | string | Date;
  type ScaleTypeToD3Scale (line 25) | interface ScaleTypeToD3Scale<
  type PickD3Scale (line 55) | type PickD3Scale<
  type D3Scale (line 62) | type D3Scale<
  type AnyD3Scale (line 81) | type AnyD3Scale = D3Scale<any, any, any>;
  type InferD3ScaleOutput (line 83) | type InferD3ScaleOutput<Scale extends AnyD3Scale> =
  type InferD3ScaleDiscreteInput (line 87) | type InferD3ScaleDiscreteInput<Scale extends AnyD3Scale> =
  type InferD3ScaleThresholdInput (line 91) | type InferD3ScaleThresholdInput<Scale extends AnyD3Scale> =
  type ScaleInput (line 96) | type ScaleInput<Scale extends AnyD3Scale> = Parameters<Scale>[0];

FILE: packages/visx-scale/src/types/ScaleConfig.ts
  type Numeric (line 6) | type Numeric = number | NumberLike;
  type TimeInput (line 8) | type TimeInput = number | Date;
  type ContinuousInput (line 9) | type ContinuousInput = number | Date;
  type TimeDomain (line 11) | type TimeDomain = TimeInput[];
  type ContinuousDomain (line 12) | type ContinuousDomain = ContinuousInput[];
  type CreateScaleConfig (line 18) | type CreateScaleConfig<T, D, R, Fields extends keyof BaseScaleConfig<T, ...
  type LinearScaleConfig (line 23) | type LinearScaleConfig<Output = DefaultOutput> = CreateScaleConfig<
  type LogScaleConfig (line 30) | type LogScaleConfig<Output = DefaultOutput> = CreateScaleConfig<
  type PowScaleConfig (line 37) | type PowScaleConfig<Output = DefaultOutput> = CreateScaleConfig<
  type SqrtScaleConfig (line 44) | type SqrtScaleConfig<Output = DefaultOutput> = CreateScaleConfig<
  type SymlogScaleConfig (line 51) | type SymlogScaleConfig<Output = DefaultOutput> = CreateScaleConfig<
  type RadialScaleConfig (line 58) | type RadialScaleConfig<Output = DefaultOutput> = CreateScaleConfig<
  type QuantileScaleConfig (line 65) | type QuantileScaleConfig<Output = DefaultOutput> = CreateScaleConfig<
  type QuantizeScaleConfig (line 71) | type QuantizeScaleConfig<Output = DefaultOutput> = CreateScaleConfig<
  type ThresholdScaleConfig (line 78) | type ThresholdScaleConfig<
  type OrdinalScaleConfig (line 83) | type OrdinalScaleConfig<
  type PointScaleConfig (line 88) | type PointScaleConfig<DiscreteInput extends StringLike = StringLike> = C...
  type BandScaleConfig (line 95) | type BandScaleConfig<DiscreteInput extends StringLike = StringLike> = Cr...
  type TemporalScaleConfig (line 102) | interface TemporalScaleConfig<T, Output = DefaultOutput>
  type TimeScaleConfig (line 117) | type TimeScaleConfig<Output = DefaultOutput> = TemporalScaleConfig<'time...
  type UtcScaleConfig (line 119) | type UtcScaleConfig<Output = DefaultOutput> = TemporalScaleConfig<'utc',...
  type ScaleTypeToScaleConfig (line 127) | interface ScaleTypeToScaleConfig<
  type ScaleType (line 149) | type ScaleType = keyof ScaleTypeToScaleConfig;
  type TimeScaleType (line 152) | type TimeScaleType = 'time' | 'utc';
  type ContinuousScaleType (line 155) | type ContinuousScaleType =
  type DiscretizingScaleType (line 164) | type DiscretizingScaleType = 'quantile' | 'quantize' | 'threshold';
  type DiscreteScaleType (line 166) | type DiscreteScaleType = 'ordinal' | 'point' | 'band';
  type ContinuousDomainScaleType (line 169) | type ContinuousDomainScaleType = ContinuousScaleType | DiscretizingScale...
  type PickScaleConfig (line 171) | type PickScaleConfig<
  type OmitType (line 178) | type OmitType<T> = {
  type PickScaleConfigWithoutType (line 182) | type PickScaleConfigWithoutType<
  type ScaleConfig (line 189) | type ScaleConfig<
  type ScaleConfigWithoutType (line 195) | type ScaleConfigWithoutType<
  type ScaleConfigToD3Scale (line 201) | type ScaleConfigToD3Scale<

FILE: packages/visx-scale/src/types/ScaleInterpolate.ts
  type ScaleInterpolate (line 1) | type ScaleInterpolate =
  type ScaleInterpolateParams (line 11) | interface ScaleInterpolateParams {

FILE: packages/visx-scale/src/updateScale.ts
  function updateScale (line 152) | function updateScale<

FILE: packages/visx-scale/src/utils/coerceNumber.ts
  function coerceNumber (line 3) | function coerceNumber<T>(val: T | NumberLike): T | number {

FILE: packages/visx-scale/src/utils/createColorInterpolator.ts
  function createColorInterpolator (line 24) | function createColorInterpolator(

FILE: packages/visx-scale/src/utils/getTicks.ts
  function getTicks (line 3) | function getTicks<Scale extends AnyD3Scale>(

FILE: packages/visx-scale/src/utils/inferScaleType.ts
  function inferScaleType (line 7) | function inferScaleType<

FILE: packages/visx-scale/src/utils/isUtcScale.ts
  constant TEST_TIME (line 3) | const TEST_TIME = new Date(Date.UTC(2020, 1, 2, 3, 4, 5));
  constant TEST_FORMAT (line 4) | const TEST_FORMAT = '%Y-%m-%d %H:%M';
  function isUtcScale (line 11) | function isUtcScale<Output>(scale: ScaleTime<Output, Output>) {

FILE: packages/visx-scale/src/utils/scaleCanBeZeroed.ts
  type ZeroableScaleConfigs (line 12) | type ZeroableScaleConfigs<Output = DefaultOutput> =
  function scaleCanBeZeroed (line 21) | function scaleCanBeZeroed<Output = DefaultOutput>(

FILE: packages/visx-scale/src/utils/toString.ts
  function toString (line 3) | function toString<T extends StringLike>(x?: T) {

FILE: packages/visx-shape/src/shapes/Arc.tsx
  type ArcProps (line 7) | type ArcProps<Datum> = {
  function Arc (line 18) | function Arc<Datum>({

FILE: packages/visx-shape/src/shapes/Area.tsx
  type AreaProps (line 5) | type AreaProps<Datum> = BaseAreaProps<Datum>;
  function Area (line 7) | function Area<Datum>({

FILE: packages/visx-shape/src/shapes/AreaClosed.tsx
  type AreaClosedProps (line 6) | type AreaClosedProps<Datum> = BaseAreaProps<Datum> & {
  function AreaClosed (line 10) | function AreaClosed<Datum>({

FILE: packages/visx-shape/src/shapes/AreaStack.tsx
  type PickProps (line 6) | type PickProps =
  type AreaStackProps (line 25) | type AreaStackProps<Datum, Key> = Pick<StackProps<Datum, Key>, PickProps>;
  function AreaStack (line 27) | function AreaStack<Datum, Key extends StackKey = StackKey>({

FILE: packages/visx-shape/src/shapes/Bar.tsx
  type BarProps (line 5) | type BarProps = {
  function Bar (line 12) | function Bar({

FILE: packages/visx-shape/src/shapes/BarGroup.tsx
  type BarGroupProps (line 18) | type BarGroupProps<
  function BarGroup (line 76) | function BarGroup<

FILE: packages/visx-shape/src/shapes/BarGroupHorizontal.tsx
  type BarGroupHorizontalProps (line 18) | type BarGroupHorizontalProps<
  function BarGroupHorizontal (line 40) | function BarGroupHorizontal<

FILE: packages/visx-shape/src/shapes/BarRounded.tsx
  type BarRoundedProps (line 5) | type BarRoundedProps = {
  function useBarRoundedPath (line 43) | function useBarRoundedPath({
  function BarRounded (line 99) | function BarRounded({

FILE: packages/visx-shape/src/shapes/BarStack.tsx
  type BarStackProps (line 21) | type BarStackProps<
  function BarStack (line 35) | function BarStack<

FILE: packages/visx-shape/src/shapes/BarStackHorizontal.tsx
  type BarStackHorizontalProps (line 14) | type BarStackHorizontalProps<
  function BarStackHorizontal (line 28) | function BarStackHorizontal<

FILE: packages/visx-shape/src/shapes/Circle.tsx
  type CircleProps (line 5) | type CircleProps = {
  function Circle (line 12) | function Circle({

FILE: packages/visx-shape/src/shapes/Line.tsx
  type Point (line 5) | interface Point {
  type LineProps (line 10) | type LineProps = {
  function Line (line 23) | function Line({

FILE: packages/visx-shape/src/shapes/LinePath.tsx
  type LinePathProps (line 7) | type LinePathProps<Datum> = {
  function LinePath (line 20) | function LinePath<Datum>({

FILE: packages/visx-shape/src/shapes/LineRadial.tsx
  type LineRadialProps (line 8) | type LineRadialProps<Datum> = Pick<
  function LineRadial (line 16) | function LineRadial<Datum>({

FILE: packages/visx-shape/src/shapes/Pie.tsx
  type PieArcDatum (line 12) | type PieArcDatum<Datum> = PieArcDatumType<Datum>;
  type StringAccessor (line 14) | type StringAccessor<Datum> = (pieArcDatum: PieArcDatum<Datum>) => string;
  type ProvidedProps (line 16) | type ProvidedProps<Datum> = {
  type PieProps (line 22) | type PieProps<Datum> = {
  function Pie (line 50) | function Pie<Datum>({

FILE: packages/visx-shape/src/shapes/Polygon.tsx
  constant DEFAULT_CENTER (line 6) | const DEFAULT_CENTER = { x: 0, y: 0 };
  type PolygonProps (line 40) | type PolygonProps = {
  function Polygon (line 62) | function Polygon({

FILE: packages/visx-shape/src/shapes/SplitLinePath.tsx
  type Point (line 9) | interface Point {
  type SplitLinePathRenderer (line 17) | type SplitLinePathRenderer = (renderProps: {
  type SplitLinePathProps (line 23) | type SplitLinePathProps<Datum> = {
  function SplitLinePath (line 35) | function SplitLinePath<Datum>({

FILE: packages/visx-shape/src/shapes/Stack.tsx
  type StackProps (line 20) | type StackProps<Datum, Key> = BaseStackProps<Datum, Key> & {
  function Stack (line 41) | function Stack<Datum, Key extends StackKey = StackKey>({

FILE: packages/visx-shape/src/shapes/link/curve/LinkHorizontalCurve.tsx
  function pathHorizontalCurve (line 6) | function pathHorizontalCurve<Link, Node>({
  type LinkHorizontalCurveProps (line 35) | type LinkHorizontalCurveProps<Link, Node> = AccessorProps<Link, Node> &
  function LinkHorizontalCurve (line 40) | function LinkHorizontalCurve<Link, Node>({

FILE: packages/visx-shape/src/shapes/link/curve/LinkRadialCurve.tsx
  function pathRadialCurve (line 6) | function pathRadialCurve<Link, Node>({
  type LinkRadialCurveProps (line 45) | type LinkRadialCurveProps<Link, Node> = {
  function LinkRadialCurve (line 50) | function LinkRadialCurve<Link, Node>({

FILE: packages/visx-shape/src/shapes/link/curve/LinkVerticalCurve.tsx
  function pathVerticalCurve (line 6) | function pathVerticalCurve<Link, Node>({
  type LinkVerticalCurveProps (line 35) | type LinkVerticalCurveProps<Link, Node> = {
  function LinkVerticalCurve (line 40) | function LinkVerticalCurve<Link, Node>({

FILE: packages/visx-shape/src/shapes/link/diagonal/LinkHorizontal.tsx
  function pathHorizontalDiagonal (line 6) | function pathHorizontalDiagonal<Link, Node>({
  type LinkHorizontalDiagonalProps (line 22) | type LinkHorizontalDiagonalProps<Link, Node> = AccessorProps<Link, Node> &
  function LinkHorizontalDiagonal (line 25) | function LinkHorizontalDiagonal<Link, Node>({

FILE: packages/visx-shape/src/shapes/link/diagonal/LinkRadial.tsx
  function pathRadialDiagonal (line 6) | function pathRadialDiagonal<Link, Node>({
  type LinkRadialDiagonalProps (line 22) | type LinkRadialDiagonalProps<Link, Node> = {
  function LinkRadialDiagonal (line 28) | function LinkRadialDiagonal<Link, Node>({

FILE: packages/visx-shape/src/shapes/link/diagonal/LinkVertical.tsx
  function pathVerticalDiagonal (line 6) | function pathVerticalDiagonal<Link, Node>({
  type LinkVerticalDiagonalProps (line 22) | type LinkVerticalDiagonalProps<Link, Node> = AccessorProps<Link, Node> &...
  function LinkVerticalDiagonal (line 24) | function LinkVerticalDiagonal<Link, Node>({

FILE: packages/visx-shape/src/shapes/link/line/LinkHorizontalLine.tsx
  function pathHorizontalLine (line 6) | function pathHorizontalLine<Link, Node>({
  type LinkHorizontalLineProps (line 29) | type LinkHorizontalLineProps<Link, Node> = AccessorProps<Link, Node> & S...
  function LinkHorizontalLine (line 31) | function LinkHorizontalLine<Link, Node>({

FILE: packages/visx-shape/src/shapes/link/line/LinkRadialLine.tsx
  function pathRadialLine (line 6) | function pathRadialLine<Link, Node>({
  type LinkRadialLineProps (line 34) | type LinkRadialLineProps<Link, Node> = AccessorProps<Link, Node> & Share...
  function LinkRadialLine (line 36) | function LinkRadialLine<Link, Node>({

FILE: packages/visx-shape/src/shapes/link/line/LinkVerticalLine.tsx
  function pathVerticalLine (line 6) | function pathVerticalLine<Link, Node>({
  type LinkVerticalLineProps (line 29) | type LinkVerticalLineProps<Link, Node> = AccessorProps<Link, Node> & Sha...
  function LinkVerticalLine (line 31) | function LinkVerticalLine<Link, Node>({

FILE: packages/visx-shape/src/shapes/link/step/LinkHorizontalStep.tsx
  function pathHorizontalStep (line 6) | function pathHorizontalStep<Link, Node>({
  type LinkHorizontalStepProps (line 32) | type LinkHorizontalStepProps<Link, Node> = {
  function LinkHorizontalStep (line 37) | function LinkHorizontalStep<Link, Node>({

FILE: packages/visx-shape/src/shapes/link/step/LinkRadialStep.tsx
  function pathRadialStep (line 5) | function pathRadialStep<Link, Node>({
  type LinkRadialStepProps (line 39) | type LinkRadialStepProps<Link, Node> = {
  function LinkRadialStep (line 44) | function LinkRadialStep<Link, Node>({

FILE: packages/visx-shape/src/shapes/link/step/LinkVerticalStep.tsx
  function pathVerticalStep (line 6) | function pathVerticalStep<Link, Node>({
  type LinkVerticalStepProps (line 32) | type LinkVerticalStepProps<Link, Node> = {
  function LinkVerticalStep (line 37) | function LinkVerticalStep<Link, Node>({

FILE: packages/visx-shape/src/types/D3ShapeConfig.ts
  type ArcPathConfig (line 6) | type ArcPathConfig<Datum> = {
  type AreaPathConfig (line 23) | type AreaPathConfig<Datum> = {
  type LinePathConfig (line 42) | type LinePathConfig<Datum> = {
  type AngleAccessor (line 54) | type AngleAccessor<Datum> = (this: any, data: Datum[], ...args: any[]) =...
  type PiePathConfig (line 56) | type PiePathConfig<Datum> = {
  type RadialLinePathConfig (line 71) | type RadialLinePathConfig<Datum> = {
  type StackPathConfig (line 82) | type StackPathConfig<Datum, Key> = {

FILE: packages/visx-shape/src/types/accessor.ts
  type Accessor (line 1) | type Accessor<Datum, Output> = (d: Datum) => Output;
  type AccessorWithIndex (line 3) | type AccessorWithIndex<Datum, Output> = (d: Datum, index: number) => Out...
  type AccessorForArrayItem (line 5) | type AccessorForArrayItem<Datum, Output> = (

FILE: packages/visx-shape/src/types/area.ts
  type BaseAreaProps (line 5) | type BaseAreaProps<Datum> = {

FILE: packages/visx-shape/src/types/barGroup.ts
  type GroupKey (line 4) | type GroupKey = string | number;
  type BarGroupBar (line 6) | interface BarGroupBar<Key> {
  type BaseBarGroup (line 25) | interface BaseBarGroup<Key> {
  type BarGroup (line 33) | interface BarGroup<Key> extends BaseBarGroup<Key> {
  type BarGroupHorizontal (line 39) | interface BarGroupHorizontal<Key> extends BaseBarGroup<Key> {
  type BaseBarGroupProps (line 44) | interface BaseBarGroupProps<Datum extends DatumObject, Key extends Group...

FILE: packages/visx-shape/src/types/barStack.ts
  type SeriesPoint (line 14) | interface SeriesPoint<Datum> extends Array<number> {
  type BarStack (line 30) | interface BarStack<Datum, Key> {
  type BaseBarStackProps (line 41) | type BaseBarStackProps<

FILE: packages/visx-shape/src/types/base.ts
  type $TSFIXME (line 5) | type $TSFIXME = any;
  type DatumObject (line 7) | type DatumObject = Record<string | number, $TSFIXME>;
  type AnyScaleBand (line 10) | type AnyScaleBand = PickD3Scale<'band', any, any>;
  type PositionScale (line 14) | type PositionScale = D3Scale<number, any, any>;
  type AddSVGProps (line 20) | type AddSVGProps<Props, Element extends SVGElement> = Props &
  type RenderProp (line 23) | type RenderProp<Input> = (args: Input) => ReactNode;

FILE: packages/visx-shape/src/types/link.ts
  type AccessorProps (line 3) | type AccessorProps<Link, Node> = {
  type RadialAccessorProps (line 14) | type RadialAccessorProps<Link, Node> = Pick<
  type PathType (line 24) | type PathType<Link> = (link: Link) => string | null;
  type SharedLinkProps (line 26) | type SharedLinkProps<Link> = {

FILE: packages/visx-shape/src/types/stack.ts
  type StackKey (line 4) | type StackKey = string | number;
  type BaseStackProps (line 6) | type BaseStackProps<Datum, Key> = {

FILE: packages/visx-shape/src/util/D3ShapeFactories.ts
  function arc (line 21) | function arc<Datum>({
  function area (line 42) | function area<Datum>({ x, x0, x1, y, y0, y1, defined, curve }: AreaPathC...
  function line (line 56) | function line<Datum>({ x, y, defined, curve }: LinePathConfig<Datum> = {...
  function pie (line 66) | function pie<Datum>({
  function radialLine (line 102) | function radialLine<Datum>({
  function stack (line 117) | function stack<Datum, Key>({ keys, value, order, offset }: StackPathConf...

FILE: packages/visx-shape/src/util/accessors.ts
  function getX (line 3) | function getX(l: any) {
  function getY (line 7) | function getY(l: any) {
  function getSource (line 11) | function getSource(l: $TSFIXME) {
  function getTarget (line 15) | function getTarget(l: $TSFIXME) {
  function getFirstItem (line 19) | function getFirstItem(d: $TSFIXME[]) {
  function getSecondItem (line 23) | function getSecondItem(d: $TSFIXME[]) {

FILE: packages/visx-shape/src/util/getBandwidth.ts
  function getBandwidth (line 3) | function getBandwidth(scale: AnyD3Scale) {

FILE: packages/visx-shape/src/util/getOrCreateMeasurementElement.ts
  constant SVG_NAMESPACE_URL (line 1) | const SVG_NAMESPACE_URL = 'http://www.w3.org/2000/svg';
  function getOrCreateMeasurementElement (line 3) | function getOrCreateMeasurementElement(elementId: string) {

FILE: packages/visx-shape/src/util/getSplitLineSegments.ts
  constant MEASUREMENT_ELEMENT_ID (line 3) | const MEASUREMENT_ELEMENT_ID = '__visx_splitpath_svg_path_measurement_id';
  type PointInSegment (line 5) | interface PointInSegment {
  type LineSegmentation (line 11) | type LineSegmentation = 'x' | 'y' | 'length';
  type LineSegments (line 13) | type LineSegments = { x: number; y: number }[][];
  type GetLineSegmentsConfig (line 17) | interface GetLineSegmentsConfig {
  function getSplitLineSegments (line 42) | function getSplitLineSegments({

FILE: packages/visx-shape/src/util/setNumberOrNumberAccessor.ts
  function setNumberOrNumberAccessor (line 5) | function setNumberOrNumberAccessor<NumAccessor>(

FILE: packages/visx-shape/src/util/stackOffset.ts
  constant STACK_OFFSETS (line 9) | const STACK_OFFSETS = {
  type StackOffset (line 17) | type StackOffset = keyof typeof STACK_OFFSETS;
  constant STACK_OFFSET_NAMES (line 19) | const STACK_OFFSET_NAMES = Object.keys(STACK_OFFSETS) as StackOffset[];
  function stackOffset (line 21) | function stackOffset(offset?: keyof typeof STACK_OFFSETS) {

FILE: packages/visx-shape/src/util/stackOrder.ts
  constant STACK_ORDERS (line 9) | const STACK_ORDERS = {
  type StackOrder (line 17) | type StackOrder = keyof typeof STACK_ORDERS;
  constant STACK_ORDER_NAMES (line 19) | const STACK_ORDER_NAMES = Object.keys(STACK_ORDERS) as StackOrder[];
  function stackOrder (line 21) | function stackOrder(order?: keyof typeof STACK_ORDERS) {

FILE: packages/visx-shape/test/Arc.test.tsx
  type Datum (line 8) | interface Datum {

FILE: packages/visx-shape/test/Area.test.tsx
  type Datum (line 7) | interface Datum {

FILE: packages/visx-shape/test/AreaClosed.test.tsx
  type Datum (line 8) | interface Datum {

FILE: packages/visx-shape/test/BarGroupHorizontal.test.tsx
  type Datum (line 10) | interface Datum {

FILE: packages/visx-shape/test/LinePath.test.tsx
  type Datum (line 8) | interface Datum {

FILE: packages/visx-shape/test/LineRadial.test.tsx
  type Datum (line 7) | interface Datum {

FILE: packages/visx-shape/test/Pie.test.tsx
  type Datum (line 9) | interface Datum {

FILE: packages/visx-shape/test/svgMock.ts
  function addMock (line 8) | function addMock() {
  function removeMock (line 22) | function removeMock() {

FILE: packages/visx-stats/src/BoxPlot.tsx
  function verticalToHorizontal (line 7) | function verticalToHorizontal({ x1, x2, y1, y2 }: LineCoords) {
  type BoxPlotProps (line 16) | type BoxPlotProps = SharedProps & {
  function BoxPlot (line 63) | function BoxPlot({

FILE: packages/visx-stats/src/ViolinPlot.tsx
  type ViolinPlotProps (line 8) | type ViolinPlotProps<Datum extends object> = SharedProps & {
  function ViolinPlot (line 28) | function ViolinPlot<Datum extends object>({

FILE: packages/visx-stats/src/types.ts
  type BoxPlot (line 1) | interface BoxPlot {
  type BinDatum (line 10) | interface BinDatum {
  type LineCoords (line 15) | interface LineCoords {
  type ChildRenderProps (line 22) | type ChildRenderProps = {
  type SharedProps (line 47) | type SharedProps = {

FILE: packages/visx-stats/src/util/computeStats.ts
  function calcMedian (line 3) | function calcMedian(dataSet: number[]) {
  function computeStats (line 9) | function computeStats(numericalArray: number[]) {

FILE: packages/visx-text/src/Text.tsx
  type TextProps (line 4) | type TextProps = TxtProps;
  constant SVG_STYLE (line 6) | const SVG_STYLE = { overflow: 'visible' };
  function Text (line 8) | function Text(props: TextProps) {

FILE: packages/visx-text/src/hooks/useText.ts
  function isNumber (line 6) | function isNumber(val: unknown): val is number {
  function isXOrYInValid (line 10) | function isXOrYInValid(xOrY: string | number | undefined) {
  function useText (line 19) | function useText(props: TextProps): {

FILE: packages/visx-text/src/types.ts
  type SVGTSpanProps (line 3) | type SVGTSpanProps = SVGAttributes<SVGTSpanElement>;
  type SVGTextProps (line 4) | type SVGTextProps = SVGAttributes<SVGTextElement>;
  type OwnProps (line 6) | type OwnProps = {
  type TextProps (line 47) | type TextProps = OwnProps & Omit<SVGTextProps, keyof OwnProps>;
  type compareFunction (line 49) | type compareFunction<T> = (prev: T | undefined, next: T) => boolean;
  type WordsWithWidth (line 51) | interface WordsWithWidth {

FILE: packages/visx-text/src/util/getStringWidth.ts
  constant MEASUREMENT_ELEMENT_ID (line 3) | const MEASUREMENT_ELEMENT_ID = '__react_svg_text_measurement_id';
  function getStringWidth (line 5) | function getStringWidth(str: string, style?: object) {

FILE: packages/visx-text/test/svgMock.ts
  function addMock (line 8) | function addMock() {
  function removeMock (line 22) | function removeMock() {

FILE: packages/visx-threshold/src/Threshold.tsx
  type AreaProps (line 7) | type AreaProps<Datum> = AreaOwnProps<Datum> &
  type NumberAccessor (line 10) | type NumberAccessor<Datum> = (datum: Datum, index: number, data: Datum[]...
  type ThresholdProps (line 12) | type ThresholdProps<Datum> = {
  function Threshold (line 51) | function Threshold<Datum>({

FILE: packages/visx-tooltip/src/Portal.tsx
  type PortalProps (line 5) | type PortalProps = {
  class Portal (line 13) | class Portal extends PureComponent<PortalProps> {
    method componentWillUnmount (line 16) | componentWillUnmount() {
    method render (line 23) | render() {

FILE: packages/visx-tooltip/src/context/TooltipPositionContext.tsx
  type TooltipPositionContextType (line 3) | type TooltipPositionContextType = {

FILE: packages/visx-tooltip/src/enhancers/withTooltip.tsx
  type WithTooltipProvidedProps (line 6) | type WithTooltipProvidedProps<TooltipData> = UseTooltipParams<TooltipData>;
  type WithTooltipContainerProps (line 7) | type WithTooltipContainerProps = HTMLProps<HTMLDivElement>;
  type RenderTooltipContainer (line 8) | type RenderTooltipContainer = (
  function withTooltip (line 13) | function withTooltip<BaseComponentProps = {}, TooltipData = {}>(

FILE: packages/visx-tooltip/src/hooks/useTooltip.ts
  type UseTooltipParams (line 3) | type UseTooltipParams<TooltipData> = {
  type UseTooltipState (line 19) | type UseTooltipState<TooltipData> = Pick<
  type ValueOrFunc (line 23) | type ValueOrFunc<T> = T | ((t: T) => T);
  type ShowTooltipArgs (line 24) | type ShowTooltipArgs<TooltipData> = ValueOrFunc<Omit<UseTooltipState<Too...
  type UpdateTooltipArgs (line 25) | type UpdateTooltipArgs<TooltipData> = ValueOrFunc<UseTooltipState<Toolti...
  function useTooltip (line 27) | function useTooltip<TooltipData = {}>(

FILE: packages/visx-tooltip/src/hooks/useTooltipInPortal.tsx
  type TooltipInPortalProps (line 12) | type TooltipInPortalProps = TooltipProps &
  type UseTooltipInPortal (line 15) | type UseTooltipInPortal = {
  type UseTooltipPortalOptions (line 26) | type UseTooltipPortalOptions = Pick<PortalProps, 'zIndex'> & {
  function useTooltipInPortal (line 41) | function useTooltipInPortal({

FILE: packages/visx-tooltip/src/tooltips/Tooltip.tsx
  type TooltipProps (line 5) | type TooltipProps = {

FILE: packages/visx-tooltip/src/tooltips/TooltipWithBounds.tsx
  type TooltipWithBoundsProps (line 9) | type TooltipWithBoundsProps = TooltipProps &
  function TooltipWithBounds (line 13) | function TooltipWithBounds({

FILE: packages/visx-tooltip/test/useTooltipInPortal.test.tsx
  type TooltipWithZIndexProps (line 8) | interface TooltipWithZIndexProps {

FILE: packages/visx-vendor/scripts/buildVendor/babel.config.js
  method resolvePath (line 30) | resolvePath(sourcePath, currentFile) {

FILE: packages/visx-vendor/scripts/buildVendor/index.ts
  function build (line 33) | async function build() {

FILE: packages/visx-vendor/scripts/buildVendor/utils.ts
  type VendoredPkg (line 7) | type VendoredPkg = {
  type PackageJson (line 32) | type PackageJson = {
  constant DIRNAME (line 38) | const DIRNAME = __dirname;
  constant ESM_DIR (line 39) | const ESM_DIR = 'esm/';
  constant CJS_DIR (line 40) | const CJS_DIR = 'lib/';
  constant VENDOR_CJS_DIR (line 41) | const VENDOR_CJS_DIR = 'vendor-cjs/';
  constant ROOT_PATH (line 42) | const ROOT_PATH = path.resolve(DIRNAME, '../../');
  constant TS_GLOB (line 43) | const TS_GLOB = path.resolve(ROOT_PATH, '*.d.ts');
  constant INDEX_GLOB (line 44) | const INDEX_GLOB = path.resolve(ROOT_PATH, '*.js');
  constant ESM_PATH (line 46) | const ESM_PATH = path.resolve(DIRNAME, `../../${ESM_DIR}`);
  constant CJS_PATH (line 47) | const CJS_PATH = path.resolve(DIRNAME, `../../${CJS_DIR}`);
  constant VENDOR_CJS_PATH (line 48) | const VENDOR_CJS_PATH = path.resolve(DIRNAME, `../../${VENDOR_CJS_DIR}`);
  constant BABEL_CONFIG_FILE (line 49) | const BABEL_CONFIG_FILE = path.resolve(DIRNAME, './babel.config.js');
  constant NODE_MODULES_PATH (line 50) | const NODE_MODULES_PATH = path.resolve(DIRNAME, '../../node_modules/');
  function getESMContent (line 87) | function getESMContent(pkgJson: PackageJson, pkg: VendoredPkg) {
  function getCJSContent (line 99) | function getCJSContent(pkgJson: PackageJson, pkg: VendoredPkg) {
  function getIndexContent (line 110) | function getIndexContent(pkgJson: PackageJson, pkg: VendoredPkg) {
  function getTSContent (line 122) | function getTSContent(pkg: VendoredPkg) {

FILE: packages/visx-vendor/scripts/flagVendorRequirements.ts
  constant ESM_ONLY_MAP (line 12) | const ESM_ONLY_MAP = {
  function flagVendorRequirements (line 56) | async function flagVendorRequirements(esmOnlyMap: { [pkg: string]: strin...

FILE: packages/visx-voronoi/src/components/VoronoiPolygon.tsx
  type VoronoiPolygonProps (line 4) | type VoronoiPolygonProps = {
  function VoronoiPolygon (line 13) | function VoronoiPolygon({

FILE: packages/visx-voronoi/src/voronoi.ts
  constant CLIP_PADDING (line 3) | const CLIP_PADDING = 1;
  type Config (line 5) | interface Config<Datum> {
  function voronoi (line 20) | function voronoi<Datum>({ width = 0, height = 0, x, y }: Config<Datum>) {

FILE: packages/visx-wordcloud/src/Wordcloud.tsx
  type WordcloudProps (line 6) | interface WordcloudProps<Datum extends BaseDatum> extends WordcloudConfi...
  function Wordcloud (line 10) | function Wordcloud<Datum extends BaseDatum>(props: WordcloudProps<Datum>) {

FILE: packages/visx-wordcloud/src/types.ts
  type BaseDatum (line 1) | interface BaseDatum {
  type WordcloudConfig (line 5) | interface WordcloudConfig<Datum extends BaseDatum> {
  type CloudWord (line 79) | interface CloudWord {
  type Cloud (line 91) | interface Cloud<T extends CloudWord> {

FILE: packages/visx-wordcloud/src/useWordcloud.ts
  function useWordcloud (line 5) | function useWordcloud<Datum extends BaseDatum>({

FILE: packages/visx-xychart/src/classes/DataRegistry.ts
  class DataRegistry (line 5) | class DataRegistry<
    method registerData (line 15) | public registerData(
    method unregisterData (line 28) | public unregisterData(keyOrKeys: string | string[]) {
    method entries (line 37) | public entries() {
    method get (line 42) | public get(key: string) {
    method keys (line 50) | public keys() {

FILE: packages/visx-xychart/src/components/Tooltip.tsx
  constant TOOLTIP_NO_STYLE (line 14) | const TOOLTIP_NO_STYLE: CSSProperties = {
  type RenderTooltipParams (line 21) | type RenderTooltipParams<Datum extends object> = TooltipContextType<Datu...
  type RenderTooltipGlyphProps (line 25) | interface RenderTooltipGlyphProps<Datum extends object> extends RenderGl...
  type TooltipProps (line 30) | type TooltipProps<Datum extends object> = {
  constant INVISIBLE_STYLES (line 65) | const INVISIBLE_STYLES: CSSProperties = {
  function DefaultGlyph (line 75) | function DefaultGlyph<Datum extends object>({
  function defaultRenderGlyph (line 98) | function defaultRenderGlyph<Datum extends object>({
  function TooltipInner (line 105) | function TooltipInner<Datum extends object>({
  function Tooltip (line 351) | function Tooltip<Datum extends object>(props: TooltipProps<Datum>) {

FILE: packages/visx-xychart/src/components/XYChart.tsx
  constant DEFAULT_MARGIN (line 24) | const DEFAULT_MARGIN = { top: 50, right: 50, bottom: 50, left: 50 };
  type XYChartProps (line 26) | type XYChartProps<
  function XYChart (line 99) | function XYChart<

FILE: packages/visx-xychart/src/components/annotation/AnimatedAnnotation.tsx
  type AnnotationProps (line 17) | type AnnotationProps<
  function BaseAnimatedAnnotation (line 26) | function BaseAnimatedAnnotation({
  function AnimatedAnnotation (line 58) | function AnimatedAnnotation<

FILE: packages/visx-xychart/src/components/annotation/Annotation.tsx
  type AnnotationProps (line 9) | type AnnotationProps<
  function Annotation (line 18) | function Annotation<

FILE: packages/visx-xychart/src/components/annotation/AnnotationCircleSubject.tsx
  type AnnotationSubjectCircleProps (line 6) | type AnnotationSubjectCircleProps = CircleSubjectProps;
  function AnnotationCircleSubject (line 9) | function AnnotationCircleSubject(props: AnnotationSubjectCircleProps) {

FILE: packages/visx-xychart/src/components/annotation/AnnotationConnector.tsx
  type AnnotationConnectorProps (line 6) | type AnnotationConnectorProps = BaseConnectorProps;
  function AnnotationConnector (line 9) | function AnnotationConnector(props: AnnotationConnectorProps) {

FILE: packages/visx-xychart/src/components/annotation/AnnotationLabel.tsx
  type AnnotationLabelProps (line 6) | type AnnotationLabelProps = BaseLabelProps;
  function AnnotationLabel (line 11) | function AnnotationLabel(props: AnnotationLabelProps) {

FILE: packages/visx-xychart/src/components/annotation/AnnotationLineSubject.tsx
  type AnnotationLineSubjectProps (line 7) | type AnnotationLineSubjectProps = Omit<LineSubjectProps, 'min' | 'max'> & {
  function AnnotationLineSubject (line 13) | function AnnotationLineSubject({

FILE: packages/visx-xychart/src/components/annotation/private/BaseAnnotation.tsx
  type BaseAnnotationProps (line 11) | type BaseAnnotationProps<
  function BaseAnnotation (line 41) | function BaseAnnotation<

FILE: packages/visx-xychart/src/components/axis/AnimatedAxis.tsx
  type AnimatedAxisProps (line 7) | type AnimatedAxisProps<Scale extends AxisScale> = Omit<
  function AnimatedAxis (line 15) | function AnimatedAxis<Scale extends AxisScale>(props: AnimatedAxisProps<...

FILE: packages/visx-xychart/src/components/axis/Axis.tsx
  type AxisProps (line 6) | type AxisProps<Scale extends AxisScale = AxisScale> = Omit<
  function Axis (line 11) | function Axis<Scale extends AxisScale = AxisScale>(props: AxisProps<Scal...

FILE: packages/visx-xychart/src/components/axis/BaseAxis.tsx
  type BaseAxisProps (line 7) | type BaseAxisProps<Scale extends AxisScale> = Omit<
  function BaseAxis (line 22) | function BaseAxis<Scale extends AxisScale>({

FILE: packages/visx-xychart/src/components/grid/AnimatedGrid.tsx
  type AnimatedGridProps (line 10) | type AnimatedGridProps = Omit<
  function AnimatedGrid (line 18) | function AnimatedGrid({ animationTrajectory, ...props }: AnimatedGridPro...

FILE: packages/visx-xychart/src/components/grid/BaseGrid.tsx
  type BaseGridProps (line 7) | type BaseGridProps = {
  function BaseGrid (line 19) | function BaseGrid({

FILE: packages/visx-xychart/src/components/grid/Grid.tsx
  type GridProps (line 5) | type GridProps = Omit<BaseGridProps, 'GridRowsComponent' | 'GridColumnsC...
  function Grid (line 7) | function Grid(props: GridProps) {

FILE: packages/visx-xychart/src/components/series/AnimatedAreaSeries.tsx
  function AnimatedAreaSeries (line 6) | function AnimatedAreaSeries<

FILE: packages/visx-xychart/src/components/series/AnimatedAreaStack.tsx
  function AnimatedAreaStack (line 6) | function AnimatedAreaStack<

FILE: packages/visx-xychart/src/components/series/AnimatedBarGroup.tsx
  function AnimatedBarGroup (line 6) | function AnimatedBarGroup<

FILE: packages/visx-xychart/src/components/series/AnimatedBarSeries.tsx
  function AnimatedBarSeries (line 6) | function AnimatedBarSeries<

FILE: packages/visx-xychart/src/components/series/AnimatedBarStack.tsx
  function AnimatedBarStack (line 6) | function AnimatedBarStack<

FILE: packages/visx-xychart/src/components/series/AnimatedGlyphSeries.tsx
  function AnimatedGlyphSeries (line 10) | function AnimatedGlyphSeries<

FILE: packages/visx-xychart/src/components/series/AnimatedLineSeries.tsx
  function AnimatedLineSeries (line 6) | function AnimatedLineSeries<

FILE: packages/visx-xychart/src/components/series/AreaSeries.tsx
  function AreaSeries (line 5) | function AreaSeries<

FILE: packages/visx-xychart/src/components/series/AreaStack.tsx
  function AreaStack (line 5) | function AreaStack<

FILE: packages/visx-xychart/src/components/series/BarGroup.tsx
  function BarGroup (line 6) | function BarGroup<

FILE: packages/visx-xychart/src/components/series/BarSeries.tsx
  function BarSeries (line 6) | function BarSeries<XScale extends AxisScale, YScale extends AxisScale, D...

FILE: packages/visx-xychart/src/components/series/BarStack.tsx
  function BarStack (line 6) | function BarStack<

FILE: packages/visx-xychart/src/components/series/GlyphSeries.tsx
  function GlyphSeries (line 9) | function GlyphSeries<

FILE: packages/visx-xychart/src/components/series/LineSeries.tsx
  function LineSeries (line 5) | function LineSeries<

FILE: packages/visx-xychart/src/components/series/private/AnimatedBars.tsx
  function enterUpdate (line 10) | function enterUpdate({ x, y, width, height, fill }: Bar) {
  type BarTransitionConfig (line 21) | type BarTransitionConfig<Scale extends AxisScale> = {
  function useBarTransitionConfig (line 26) | function useBarTransitionConfig<Scale extends AxisScale>({
  function AnimatedBarsRounded (line 56) | function AnimatedBarsRounded<XScale extends AxisScale, YScale extends Ax...
  function AnimatedBarsUnrounded (line 100) | function AnimatedBarsUnrounded<XScale extends AxisScale, YScale extends ...
  function AnimatedBars (line 148) | function AnimatedBars<XScale extends AxisScale, YScale extends AxisScale>(

FILE: packages/visx-xychart/src/components/series/private/AnimatedGlyphs.tsx
  function useAnimatedGlyphsConfig (line 10) | function useAnimatedGlyphsConfig<
  function AnimatedGlyphs (line 41) | function AnimatedGlyphs<

FILE: packages/visx-xychart/src/components/series/private/AnimatedPath.tsx
  function AnimatedPath (line 8) | function AnimatedPath({

FILE: packages/visx-xychart/src/components/series/private/Bars.tsx
  function Bars (line 6) | function Bars({

FILE: packages/visx-xychart/src/components/series/private/BaseAreaSeries.tsx
  type BaseAreaSeriesProps (line 16) | type BaseAreaSeriesProps<
  function BaseAreaSeries (line 38) | function BaseAreaSeries<XScale extends AxisScale, YScale extends AxisSca...
  function BaseAreaSeriesWithRegisteredData (line 179) | function BaseAreaSeriesWithRegisteredData<

FILE: packages/visx-xychart/src/components/series/private/BaseAreaStack.tsx
  type AreaStackChildProps (line 29) | type AreaStackChildProps<
  type BaseAreaStackProps (line 35) | type BaseAreaStackProps<
  function BaseAreaStack (line 64) | function BaseAreaStack<XScale extends AxisScale, YScale extends AxisScal...

FILE: packages/visx-xychart/src/components/series/private/BaseBarGroup.tsx
  type BaseBarGroupProps (line 23) | type BaseBarGroupProps<
  function BaseBarGroup (line 47) | function BaseBarGroup<

FILE: packages/visx-xychart/src/components/series/private/BaseBarSeries.tsx
  type BaseBarSeriesProps (line 13) | type BaseBarSeriesProps<
  function BaseBarSeries (line 37) | function BaseBarSeries<XScale extends AxisScale, YScale extends AxisScal...
  function BaseBarSeriesWithRegisteredData (line 138) | function BaseBarSeriesWithRegisteredData<

FILE: packages/visx-xychart/src/components/series/private/BaseBarStack.tsx
  type BarStackChildProps (line 26) | type BarStackChildProps<
  type BaseBarStackProps (line 32) | type BaseBarStackProps<
  function BaseBarStack (line 55) | function BaseBarStack<

FILE: packages/visx-xychart/src/components/series/private/BaseGlyphSeries.tsx
  type BaseGlyphSeriesProps (line 11) | type BaseGlyphSeriesProps<
  function BaseGlyphSeries (line 24) | function BaseGlyphSeries<
  function BaseGlyphSeriesWithRegisteredData (line 90) | function BaseGlyphSeriesWithRegisteredData<

FILE: packages/visx-xychart/src/components/series/private/BaseLineSeries.tsx
  type BaseLineSeriesProps (line 15) | type BaseLineSeriesProps<
  function BaseLineSeries (line 28) | function BaseLineSeries<XScale extends AxisScale, YScale extends AxisSca...
  function BaseBaseLineSeriesWithRegisteredData (line 120) | function BaseBaseLineSeriesWithRegisteredData<

FILE: packages/visx-xychart/src/components/series/private/defaultRenderGlyph.tsx
  function defaultRenderGlyph (line 3) | function defaultRenderGlyph<Datum extends object>({

FILE: packages/visx-xychart/src/constants.ts
  constant AREASERIES_EVENT_SOURCE (line 2) | const AREASERIES_EVENT_SOURCE = 'AREASERIES_EVENT_SOURCE';
  constant AREASTACK_EVENT_SOURCE (line 3) | const AREASTACK_EVENT_SOURCE = 'AREASTACK_EVENT_SOURCE';
  constant BARGROUP_EVENT_SOURCE (line 4) | const BARGROUP_EVENT_SOURCE = 'BARGROUP_EVENT_SOURCE';
  constant BARSERIES_EVENT_SOURCE (line 5) | const BARSERIES_EVENT_SOURCE = 'BARSERIES_EVENT_SOURCE';
  constant BARSTACK_EVENT_SOURCE (line 6) | const BARSTACK_EVENT_SOURCE = 'BARSTACK_EVENT_SOURCE';
  constant GLYPHSERIES_EVENT_SOURCE (line 7) | const GLYPHSERIES_EVENT_SOURCE = 'GLYPHSERIES_EVENT_SOURCE';
  constant LINESERIES_EVENT_SOURCE (line 8) | const LINESERIES_EVENT_SOURCE = 'LINESERIES_EVENT_SOURCE';
  constant XYCHART_EVENT_SOURCE (line 9) | const XYCHART_EVENT_SOURCE = 'XYCHART_EVENT_SOURCE';

FILE: packages/visx-xychart/src/context/DataContext.tsx
  type AnyDataContext (line 6) | type AnyDataContext = DataContextType<AxisScale, AxisScale, any>;
  type InferXScaleConfig (line 9) | type InferXScaleConfig<X extends AnyDataContext> = X extends DataContext...
  type InferYScaleConfig (line 17) | type InferYScaleConfig<X extends AnyDataContext> = X extends DataContext...
  type InferDatum (line 25) | type InferDatum<X extends AnyDataContext> = X extends DataContextType<an...
  type InferDataContext (line 29) | type InferDataContext<C extends AnyDataContext = AnyDataContext> = DataC...

FILE: packages/visx-xychart/src/hooks/useDataRegistry.ts
  function useDataRegistry (line 7) | function useDataRegistry<

FILE: packages/visx-xychart/src/hooks/useDimensions.ts
  constant DEFAULT_DIMS (line 3) | const DEFAULT_DIMS = {
  type Dimensions (line 9) | type Dimensions = typeof DEFAULT_DIMS;
  function useDimensions (line 12) | function useDimensions(

FILE: packages/visx-xychart/src/hooks/useEventEmitter.ts
  type EventType (line 6) | type EventType =
  type HandlerParams (line 14) | type HandlerParams = {
  type Handler (line 23) | type Handler = (params?: HandlerParams) => void;
  function useEventEmitter (line 29) | function useEventEmitter(

FILE: packages/visx-xychart/src/hooks/useEventEmitters.ts
  type PointerEventEmitterParams (line 5) | type PointerEventEmitterParams = {
  function usePointerEventEmitters (line 20) | function usePointerEventEmitters({

FILE: packages/visx-xychart/src/hooks/useEventHandlers.ts
  constant POINTER_EVENTS_ALL (line 17) | const POINTER_EVENTS_ALL = '__POINTER_EVENTS_ALL';
  constant POINTER_EVENTS_NEAREST (line 18) | const POINTER_EVENTS_NEAREST = '__POINTER_EVENTS_NEAREST';
  type PointerEventHandlerParams (line 20) | type PointerEventHandlerParams<
  function usePointerEventHandlers (line 51) | function usePointerEventHandlers<

FILE: packages/visx-xychart/src/hooks/useScales.ts
  function useScales (line 10) | function useScales<

FILE: packages/visx-xychart/src/hooks/useSeriesEvents.ts
  type SeriesEventsParams (line 10) | type SeriesEventsParams<
  function useSeriesEvents (line 33) | function useSeriesEvents<

FILE: packages/visx-xychart/src/hooks/useStackedData.ts
  type UseStackedData (line 15) | type UseStackedData<Datum extends object> = {
  function useStackedData (line 19) | function useStackedData<

FILE: packages/visx-xychart/src/providers/DataProvider.tsx
  type DataProviderProps (line 19) | type DataProviderProps<
  function DataProvider (line 42) | function DataProvider<

FILE: packages/visx-xychart/src/providers/EventEmitterProvider.tsx
  function EventEmitterProvider (line 7) | function EventEmitterProvider({ children }: { children: ReactNode }) {

FILE: packages/visx-xychart/src/providers/ThemeProvider.tsx
  type ThemeProviderProps (line 6) | type ThemeProviderProps = {
  function ThemeProvider (line 11) | function ThemeProvider({ theme = lightTheme, children }: ThemeProviderPr...

FILE: packages/visx-xychart/src/providers/TooltipProvider.tsx
  type TooltipProviderProps (line 9) | type TooltipProviderProps = {
  function TooltipProvider (line 16) | function TooltipProvider<Datum extends object>({

FILE: packages/visx-xychart/src/theme/buildChartTheme.ts
  type ThemeConfig (line 5) | type ThemeConfig = {
  function buildChartTheme (line 39) | function buildChartTheme(config: ThemeConfig): XYChartTheme {

FILE: packages/visx-xychart/src/typeguards/events.ts
  type EventType (line 3) | type EventType = PointerEvent | FocusEvent;
  function isPointerEvent (line 6) | function isPointerEvent(event?: EventType): event is PointerEvent {
  function isFocusEvent (line 10) | function isFocusEvent(event?: EventType): event is FocusEvent {

FILE: packages/visx-xychart/src/typeguards/isValidNumber.ts
  function isValidNumber (line 1) | function isValidNumber(_: unknown): _ is number {

FILE: packages/visx-xychart/src/types/axis.ts
  type AxisScale (line 3) | type AxisScale = AxisAxisScale;

FILE: packages/visx-xychart/src/types/data.ts
  type Margin (line 7) | type Margin = {
  type LegendShape (line 14) | type LegendShape = 'rect' | 'line' | 'dashed-line' | 'circle';
  type DataRegistryEntry (line 16) | interface DataRegistryEntry<XScale extends AxisScale, YScale extends Axi...
  type DataContextType (line 35) | interface DataContextType<

FILE: packages/visx-xychart/src/types/event.ts
  type EventEmitterContextType (line 5) | type EventEmitterContextType = Emitter;
  type NearestDatumArgs (line 8) | type NearestDatumArgs<
  type NearestDatumReturnType (line 25) | type NearestDatumReturnType<Datum extends object> = {

FILE: packages/visx-xychart/src/types/series.ts
  type EventHandlerParams (line 7) | type EventHandlerParams<Datum> = {
  type SeriesProps (line 24) | type SeriesProps<
  type Bar (line 120) | type Bar = {
  type BarsProps (line 136) | type BarsProps<XScale extends AxisScale, YScale extends AxisScale> = {
  type BarStackDatum (line 159) | type BarStackDatum<XScale extends AxisScale, YScale extends AxisScale> =...
  type BarStackData (line 163) | type BarStackData<XScale extends AxisScale, YScale extends AxisScale> = ...
  type CombinedStackData (line 168) | type CombinedStackData<XScale extends AxisScale, YScale extends AxisScal...
  type GlyphsProps (line 173) | type GlyphsProps<
  type GlyphProps (line 194) | type GlyphProps<Datum extends object> = {

FILE: packages/visx-xychart/src/types/theme.ts
  type HTMLTextStyles (line 4) | type HTMLTextStyles = HTMLAttributes<HTMLDivElement>['style'];
  type LineStyles (line 6) | type LineStyles = Omit<SVGAttributes<SVGLineElement>, 'Key'>;
  type GridStyles (line 8) | type GridStyles = CSSProperties;
  type SVGTextProps (line 10) | type SVGTextProps = TextProps;
  type AxisStyle (line 12) | interface AxisStyle {
  type XYChartTheme (line 26) | interface XYChartTheme {

FILE: packages/visx-xychart/src/types/tooltip.ts
  type TooltipDatum (line 4) | type TooltipDatum<Datum extends object> = {
  type TooltipData (line 13) | type TooltipData<Datum extends object = object> = {
  type TooltipContextType (line 22) | type TooltipContextType<Datum extends object> = UseTooltipParams<Tooltip...

FILE: packages/visx-xychart/src/utils/combineBarStackData.ts
  function combineBarStackData (line 15) | function combineBarStackData<

FILE: packages/visx-xychart/src/utils/findNearestDatumSingleDimension.ts
  function findNearestDatumSingleDimension (line 7) | function findNearestDatumSingleDimension<

FILE: packages/visx-xychart/src/utils/findNearestDatumX.ts
  function findNearestDatumX (line 5) | function findNearestDatumX<

FILE: packages/visx-xychart/src/utils/findNearestDatumXY.ts
  function findNearestDatumXY (line 6) | function findNearestDatumXY<

FILE: packages/visx-xychart/src/utils/findNearestDatumY.ts
  function findNearestDatumY (line 5) | function findNearestDatumY<

FILE: packages/visx-xychart/src/utils/findNearestGroupDatum.ts
  function findNearestGroupDatum (line 11) | function findNearestGroupDatum<

FILE: packages/visx-xychart/src/utils/findNearestStackDatum.ts
  function findNearestStackDatum (line 13) | function findNearestStackDatum<

FILE: packages/visx-xychart/src/utils/getBarStackRegistryData.ts
  function getBarStackRegistryData (line 17) | function getBarStackRegistryData<XScale extends AxisScale, YScale extend...

FILE: packages/visx-xychart/src/utils/getChildrenAndGrandchildrenWithProps.ts
  function isChildWithProps (line 5) | function isChildWithProps<P extends object>(child: ReactNode): child is ...
  function getChildrenAndGrandchildrenWithProps (line 13) | function getChildrenAndGrandchildrenWithProps<P extends object>(

FILE: packages/visx-xychart/src/utils/getScaleBandwidth.ts
  function getScaleBandwidth (line 3) | function getScaleBandwidth<Scale extends AxisScale>(scale?: Scale) {

FILE: packages/visx-xychart/src/utils/getScaleBaseline.ts
  function getScaleBaseline (line 9) | function getScaleBaseline<Scale extends AxisScale>(scale: Scale) {

FILE: packages/visx-xychart/src/utils/getScaledValueFactory.ts
  function getScaledValueFactory (line 7) | function getScaledValueFactory<Scale extends AxisScale, Datum>(

FILE: packages/visx-xychart/src/utils/isDiscreteScale.ts
  function isDiscreteScale (line 5) | function isDiscreteScale(scaleConfig: ScaleConfig<AxisScaleOutput, any, ...

FILE: packages/visx-xychart/test/__mocks__/@visx/event.ts
  function localPoint (line 1) | function localPoint() {

FILE: packages/visx-xychart/test/components/Annotation.test.tsx
  function setup (line 9) | function setup(children: React.ReactNode) {

FILE: packages/visx-xychart/test/components/AnnotationLabel.test.tsx
  class MockResizeObserver (line 10) | class MockResizeObserver {

FILE: packages/visx-xychart/test/components/AreaStack.test.tsx
  function Assertion (line 95) | function Assertion() {

FILE: packages/visx-xychart/test/components/Axis.test.tsx
  function setup (line 12) | function setup(

FILE: packages/visx-xychart/test/components/BarStack.test.tsx
  function Assertion (line 121) | function Assertion() {

FILE: packages/visx-xychart/test/components/Tooltip.test.tsx
  type SetupProps (line 13) | type SetupProps =
  function setup (line 21) | function setup({ props, context, dataEntries = [] }: SetupProps = {}) {

FILE: packages/visx-xychart/test/hooks/useEventHandlers.test.tsx
  function setup (line 40) | function setup(children: React.ReactNode) {

FILE: packages/visx-xychart/test/hooks/useStackedData.test.tsx
  function setup (line 27) | function setup(children: React.ReactElement | React.ReactElement[]) {

FILE: packages/visx-xychart/test/mocks/getDataContext.ts
  function getDataContext (line 14) | function getDataContext(entries?: Parameters<typeof DataRegistry.prototy...

FILE: packages/visx-xychart/test/mocks/setupTooltipTest.tsx
  function setupTooltipTest (line 23) | function setupTooltipTest(

FILE: packages/visx-xychart/test/mocks/svgMock.ts
  function addMock (line 8) | function addMock() {
  function removeMock (line 22) | function removeMock() {

FILE: packages/visx-xychart/test/utils/findNearestDatum.test.ts
  type Datum (line 13) | type Datum = { xVal: number; yVal: string };

FILE: packages/visx-zoom/src/Zoom.tsx
  type ZoomProps (line 45) | type ZoomProps<ElementType> = {
  function Zoom (line 103) | function Zoom<ElementType extends Element>({

FILE: packages/visx-zoom/src/types.ts
  type GenericWheelEvent (line 10) | type GenericWheelEvent = ReactWheelEvent | WheelEvent;
  type InteractionEvent (line 12) | type InteractionEvent =
  type TransformMatrix (line 20) | interface TransformMatrix {
  type Point (line 29) | interface Point {
  type Translate (line 34) | type Translate = Pick<TransformMatrix, 'translateX' | 'translateY'>;
  type Scale (line 36) | type Scale = Pick<TransformMatrix, 'scaleX' | 'scaleY'>;
  type PinchDelta (line 38) | type PinchDelta = (
  type ScaleSignature (line 53) | interface ScaleSignature {
  type ProvidedZoom (line 59) | interface ProvidedZoom<ElementType> {
  type ZoomState (line 110) | interface ZoomState {
  type Zoom (line 120) | type Zoom<ElementType> = ProvidedZoom<ElementType> & ZoomState;

FILE: packages/visx-zoom/src/util/matrix.ts
  function identityMatrix (line 3) | function identityMatrix(): TransformMatrix {
  function createMatrix (line 14) | function createMatrix({
  function inverseMatrix (line 32) | function inverseMatrix({
  function applyMatrixToPoint (line 51) | function applyMatrixToPoint(matrix: TransformMatrix, { x, y }: Point) {
  function applyInverseMatrixToPoint (line 58) | function applyInverseMatrixToPoint(matrix: TransformMatrix, { x, y }: Po...
  function scaleMatrix (line 62) | function scaleMatrix(
  function translateMatrix (line 70) | function translateMatrix(
  function multiplyMatrices (line 77) | function multiplyMatrices(matrix1: TransformMatrix, matrix2: TransformMa...
  function composeMatrices (line 90) | function composeMatrices(...matrices: TransformMatrix[]): TransformMatrix {

FILE: scripts/compareBuildSizes.ts
  type StatMap (line 8) | type StatMap = {
  function calculateDiff (line 14) | function calculateDiff(prev: number, next: number): number {
  function formatDiff (line 18) | function formatDiff(diff: number): string {
  function compareBuildSizes (line 31) | async function compareBuildSizes() {

FILE: scripts/computeBuildSizes.ts
  constant PACKAGE_SIZES_FILENAME (line 6) | const PACKAGE_SIZES_FILENAME = './packages/sizes.json';
  function getTotalSize (line 8) | async function getTotalSize(fileGlob: string, cwd: string): Promise<numb...
  function computeBuildSizes (line 28) | async function computeBuildSizes() {

FILE: scripts/generateDocs.ts
  type PropInfo (line 14) | interface PropInfo {
  type ParamInfo (line 27) | interface ParamInfo {
  type DocGenInfo (line 38) | interface DocGenInfo {
  type ComponentDocs (line 58) | interface ComponentDocs {
  type PackageDocs (line 63) | interface PackageDocs {
  function extractJSDocComment (line 70) | function extractJSDocComment(node: ts.Node): string | undefined {
  function getTypeString (line 99) | function getTypeString(type: ts.Type, checker: ts.TypeChecker): string {
  function extractParameterDefaults (line 113) | function extractParameterDefaults(
  function extractFunctionParameters (line 142) | function extractFunctionParameters(
  function extractPropsFromType (line 182) | function extractPropsFromType(
  function getExportKind (line 256) | function getExportKind(name: string): 'component' | 'hook' | 'function' {
  function getSourceLocation (line 266) | function getSourceLocation(node: ts.Node): { filePath: string; lineNumbe...
  function extractComponentDocs (line 284) | function extractComponentDocs(sourceFile: ts.SourceFile, checker: ts.Typ...
  function extractExportNameMappings (line 610) | function extractExportNameMappings(indexPath: string): Map<string, strin...
  function generateDocsForPackages (line 651) | function generateDocsForPackages(): PackageDocs {
  function main (line 730) | function main() {

FILE: scripts/performRelease/constants.ts
  constant ALPHA_RELEASE (line 1) | const ALPHA_RELEASE = 'alpha-release';
  constant PATCH_RELEASE (line 2) | const PATCH_RELEASE = 'patch-release';
  constant MINOR_RELEASE (line 3) | const MINOR_RELEASE = 'minor-release';
  constant MAJOR_RELEASE (line 4) | const MAJOR_RELEASE = 'major-release';
  constant RELEASE_LABELS (line 5) | const RELEASE_LABELS = [PATCH_RELEASE, MINOR_RELEASE, MAJOR_RELEASE, ALP...

FILE: scripts/performRelease/createGithubRelease.ts
  function createGithubRelease (line 10) | async function createGithubRelease(

FILE: scripts/performRelease/fetchCommitsSinceTag.ts
  function fetchCommitsSinceTag (line 4) | async function fetchCommitsSinceTag(client: GithubClient, tagSha: string) {

FILE: scripts/performRelease/fetchPRsForCommits.ts
  function fetchPRsForCommits (line 5) | async function fetchPRsForCommits(

FILE: scripts/performRelease/fetchTags.ts
  function fetchTags (line 4) | async function fetchTags(client: GithubClient) {

FILE: scripts/performRelease/index.ts
  function performRelease (line 18) | async function performRelease() {

FILE: scripts/performRelease/performLernaRelease.ts
  function isReleasePR (line 8) | function isReleasePR(pr: PR) {
  function performLernaRelease (line 14) | async function performLernaRelease(prsSinceLastTag: PR[]) {

FILE: scripts/performRelease/postReleaseOnPrs.ts
  function postReleaseOnPrs (line 5) | async function postReleaseOnPrs(client: GithubClient, prs: PR[], tagName...

FILE: scripts/performRelease/types.ts
  type PR (line 3) | type PR = components['schemas']['pull-request-simple'];

FILE: scripts/performRelease/updateChangelog/getChangelogAddition.ts
  constant MS_PER_MINUTE (line 3) | const MS_PER_MINUTE = 60 * 1000;
  function getCurrentDate (line 6) | function getCurrentDate() {
  function getChangelogAddition (line 20) | function getChangelogAddition(tagName: string, prs: PR[]) {

FILE: scripts/performRelease/updateChangelog/index.ts
  constant CHANGELOG_PATH (line 9) | const CHANGELOG_PATH = 'CHANGELOG.md';
  function updateChangelog (line 12) | async function updateChangelog(prs: PR[], tagName: string) {

FILE: scripts/performRelease/updateChangelog/mergeUpdateIntoChangelog.ts
  constant CHANGELOG_HEADER (line 1) | const CHANGELOG_HEADER = '# Changelog';
  constant LINK_CONTENT_SEPARATOR (line 2) | const LINK_CONTENT_SEPARATOR = '------';
  function mergeUpdateIntoChangelog (line 29) | function mergeUpdateIntoChangelog(

FILE: scripts/postInstall.ts
  constant DIRNAME (line 5) | const DIRNAME = __dirname;
  constant ROOT_PATH (line 6) | const ROOT_PATH = path.resolve(DIRNAME, '../');
  function updateJSDomTypeDefinition (line 11) | function updateJSDomTypeDefinition() {

FILE: scripts/updateTsReferences.ts
  function updateTsReferences (line 6) | async function updateTsReferences() {

FILE: scripts/utils/getGitHubClient.ts
  function getGitHubClient (line 4) | function getGitHubClient() {
  type GithubClient (line 15) | type GithubClient = ReturnType<typeof getGitHubClient>;

FILE: scripts/utils/getPullRequestNumber.ts
  function getPullRequestNumber (line 1) | function getPullRequestNumber() {

FILE: scripts/utils/getRepoContext.ts
  function getRepoContext (line 1) | function getRepoContext() {

FILE: scripts/utils/upsertPullRequestComment.ts
  function upsertPullRequestComment (line 5) | async function upsertPullRequestComment(query: string, body: string) {
Condensed preview — 1334 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (3,995K chars).
[
  {
    "path": ".eslintignore",
    "chars": 147,
    "preview": ".next/\ncoverage/\nnode_modules/\npublic/\nesm/\nlib/\ntmp/\ndist/\nout/\n*.d.ts\nlerna.json\nnpm-shrinkwrap.json\npackage.json\npack"
  },
  {
    "path": ".eslintrc.js",
    "chars": 2817,
    "preview": "module.exports = {\n  root: true,\n  extends: [\n    // these are relics of nimbus, we could definitely simplify + consolid"
  },
  {
    "path": ".github/workflows/pull_request.yml",
    "chars": 2004,
    "preview": "name: Pull request\n\non:\n  pull_request:\n    branches: [master]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n   "
  },
  {
    "path": ".github/workflows/push.yml",
    "chars": 4141,
    "preview": "name: Push\n\non:\n  push:\n    branches: [master]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    permissions:\n      content"
  },
  {
    "path": ".gitignore",
    "chars": 476,
    "preview": ".DS_Store\n*.DS_Store\n\n# Logs\nlogs/\n*.log\n\n# Cache\n.bundle/\n.eslintcache/\n.idea/\n.next/\n.npm/\n.nx/\n.vscode/\n\n# Directorie"
  },
  {
    "path": ".npmignore",
    "chars": 465,
    "preview": ".DS_Store\n\n# Logs\nlogs/\n*.log\n\n# Cache\n.eslintcache/\n.idea/\n.npm/\n.next/\n.vscode/\n.yarnclean\n\n# Directories\nbuild/\ncover"
  },
  {
    "path": ".npmrc",
    "chars": 60,
    "preview": "package-lock=false\n@visx:registry=https://registry.npmjs.org"
  },
  {
    "path": ".nvmrc",
    "chars": 3,
    "preview": "20\n"
  },
  {
    "path": ".prettierignore",
    "chars": 223,
    "preview": ".next/\ncoverage/\nnode_modules/\npublic/\nesm/\nlib/\ntmp/\ndist/\nout/\n*.d.ts\nlerna.json\nnpm-shrinkwrap.json\npackage.json\npack"
  },
  {
    "path": ".yarnrc.yml",
    "chars": 422,
    "preview": "enableGlobalCache: false\n\nnodeLinker: node-modules\n\nlogFilters:\n  - pattern: \"* doesn't provide react (*)*\"\n    level: \""
  },
  {
    "path": "ATTRIBUTION.md",
    "chars": 92,
    "preview": "[Fossa Attribution File](https://app.fossa.io/reports/dd5850c1-1d4e-4759-9e3e-563f83945bbd)\n"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 149887,
    "preview": "# Changelog\n- [v3.12.0](#v3120)\n- [v3.11.0](#v3110)\n- [v3.10.4](#v3104)\n- [v3.10.3](#v3103)\n- [v3.10.2](#v3102)\n- [v3.10"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 651,
    "preview": "# Contributor Covenant Code of Conduct\n\nAirbnb has adopted a Code of Conduct that we expect project participants to adhe"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 2245,
    "preview": "# Contributing\n\nContributions welcome! Please follow the [code of conduct](./CODE_OF_CONDUCT.md).\n\n## Overview\n\n[Yarn wo"
  },
  {
    "path": "LICENSE",
    "chars": 1076,
    "preview": "MIT License\n\nCopyright (c) 2017-2018 Harrison Shoff\n\nPermission is hereby granted, free of charge, to any person obtaini"
  },
  {
    "path": "PULL_REQUEST_TEMPLATE.md",
    "chars": 142,
    "preview": "#### :boom: Breaking Changes\n\n-\n\n#### :rocket: Enhancements\n\n-\n\n#### :memo: Documentation\n\n-\n\n#### :bug: Bug Fix\n\n-\n\n###"
  },
  {
    "path": "README.md",
    "chars": 10901,
    "preview": "<p align=\"center\">\n  <img src=\"./assets/visx-geometry.png\" />\n</p>\n\n<p align=\"center\">\n  <a title=\"npm version\" href=\"ht"
  },
  {
    "path": "babel.config.js",
    "chars": 995,
    "preview": "const esm = process.env.ESM;\n\nconst envOptions = {\n  loose: false,\n  modules: esm ? false : 'commonjs',\n  shippedProposa"
  },
  {
    "path": "config-eslint/base.js",
    "chars": 1867,
    "preview": "const EXTS = ['.ts', '.tsx', '.js', '.jsx', '.json'];\nconst EXTS_GROUP = '{ts,tsx,js,jsx}';\nconst ASSET_EXT_PATTERN = /\\"
  },
  {
    "path": "config-eslint/next.js",
    "chars": 4571,
    "preview": "const EXTS_GROUP = '{ts,tsx,js,jsx}';\n\nmodule.exports = {\n  parser: '@babel/eslint-parser',\n\n  plugins: ['promise', 'uni"
  },
  {
    "path": "config-eslint/prettier.js",
    "chars": 124,
    "preview": "module.exports = {\n  extends: ['prettier'],\n\n  plugins: ['prettier'],\n\n  rules: {\n    'prettier/prettier': 'error',\n  },"
  },
  {
    "path": "config-eslint/typescript.js",
    "chars": 4810,
    "preview": "const EXTS_GROUP = '{ts,tsx,js,jsx}';\n\n// In TS, all arguments are required for type information,\n// so we need to overr"
  },
  {
    "path": "lerna.json",
    "chars": 204,
    "preview": "{\n  \"packages\": [\n    \"packages/*\"\n  ],\n  \"version\": \"4.0.1-alpha.0\",\n  \"command\": {\n    \"publish\": {\n      \"allowBranch"
  },
  {
    "path": "package.json",
    "chars": 4660,
    "preview": "{\n  \"name\": \"@visx/root\",\n  \"license\": \"MIT\",\n  \"version\": \"0.0.0\",\n  \"description\": \"Low-level visualization components"
  },
  {
    "path": "packages/sizes.json",
    "chars": 1519,
    "preview": "{\"visx-annotation\":{\"esm\":19643,\"lib\":23755},\"visx-axis\":{\"esm\":13359,\"lib\":18132},\"visx-bounds\":{\"esm\":1493,\"lib\":1915}"
  },
  {
    "path": "packages/visx-annotation/.npmrc",
    "chars": 18,
    "preview": "package-lock=false"
  },
  {
    "path": "packages/visx-annotation/Readme.md",
    "chars": 2176,
    "preview": "# @visx/annotation\n\n<p>\n  <a title=\"@visx/annotation npm downloads\" href=\"https://www.npmjs.com/package/@visx/annotation"
  },
  {
    "path": "packages/visx-annotation/package.json",
    "chars": 1157,
    "preview": "{\n  \"name\": \"@visx/annotation\",\n  \"version\": \"4.0.1-alpha.0\",\n  \"description\": \"visx annotation\",\n  \"sideEffects\": false"
  },
  {
    "path": "packages/visx-annotation/src/components/Annotation.tsx",
    "chars": 581,
    "preview": "import { useMemo, type ReactNode } from 'react';\nimport AnnotationContext from '../context/AnnotationContext';\nimport ty"
  },
  {
    "path": "packages/visx-annotation/src/components/CircleSubject.tsx",
    "chars": 1161,
    "preview": "import { useContext, type SVGProps } from 'react';\nimport cx from 'classnames';\nimport type { AnnotationContextType } fr"
  },
  {
    "path": "packages/visx-annotation/src/components/Connector.tsx",
    "chars": 2297,
    "preview": "import { useContext, type SVGProps } from 'react';\nimport cx from 'classnames';\nimport type { AnnotationContextType } fr"
  },
  {
    "path": "packages/visx-annotation/src/components/EditableAnnotation.tsx",
    "chars": 6072,
    "preview": "/* eslint-disable react/jsx-handler-names */\nimport { useCallback, useRef } from 'react';\nimport type { SVGProps, ReactN"
  },
  {
    "path": "packages/visx-annotation/src/components/HtmlLabel.tsx",
    "chars": 3282,
    "preview": "import { useContext, useMemo } from 'react';\nimport type { ReactNode, CSSProperties } from 'react';\nimport cx from 'clas"
  },
  {
    "path": "packages/visx-annotation/src/components/Label.tsx",
    "chars": 8968,
    "preview": "import { useContext, useMemo } from 'react';\nimport type { SVGProps, CSSProperties } from 'react';\nimport cx from 'class"
  },
  {
    "path": "packages/visx-annotation/src/components/LabelAnchorLine.tsx",
    "chars": 1217,
    "preview": "import type { TextProps } from '@visx/text';\n\ninterface AnchorLineProps {\n  anchorLineOrientation: 'horizontal' | 'verti"
  },
  {
    "path": "packages/visx-annotation/src/components/LineSubject.tsx",
    "chars": 1667,
    "preview": "import { useContext } from 'react';\nimport type { SVGProps } from 'react';\nimport cx from 'classnames';\nimport Annotatio"
  },
  {
    "path": "packages/visx-annotation/src/context/AnnotationContext.tsx",
    "chars": 198,
    "preview": "import { createContext } from 'react';\nimport type { AnnotationContextType } from '../types';\n\nconst AnnotationContext ="
  },
  {
    "path": "packages/visx-annotation/src/index.ts",
    "chars": 1050,
    "preview": "// @visx/annotation\nexport { default as Connector } from './components/Connector';\nexport { default as Label } from './c"
  },
  {
    "path": "packages/visx-annotation/src/types/index.ts",
    "chars": 267,
    "preview": "export type AnnotationContextType = {\n  /** x position of the Subject. */\n  x?: number;\n  /** y position of the Subject."
  },
  {
    "path": "packages/visx-annotation/test/Annotation.test.tsx",
    "chars": 732,
    "preview": "import { render } from '@testing-library/react';\nimport React, { useContext } from 'react';\nimport { Annotation } from '"
  },
  {
    "path": "packages/visx-annotation/test/CircleSubject.test.tsx",
    "chars": 620,
    "preview": "import React from 'react';\nimport { render } from '@testing-library/react';\nimport '@testing-library/jest-dom';\nimport {"
  },
  {
    "path": "packages/visx-annotation/test/Connector.test.tsx",
    "chars": 487,
    "preview": "import React from 'react';\nimport { render } from '@testing-library/react';\nimport '@testing-library/jest-dom';\nimport {"
  },
  {
    "path": "packages/visx-annotation/test/EditableAnnotation.test.tsx",
    "chars": 2355,
    "preview": "import { vi } from 'vitest';\nimport React from 'react';\nimport { render } from '@testing-library/react';\nimport '@testin"
  },
  {
    "path": "packages/visx-annotation/test/HtmlLabel.test.tsx",
    "chars": 529,
    "preview": "import React from 'react';\nimport { ResizeObserver } from '@juggle/resize-observer';\nimport { render } from '@testing-li"
  },
  {
    "path": "packages/visx-annotation/test/Label.test.tsx",
    "chars": 1608,
    "preview": "import React from 'react';\nimport { render } from '@testing-library/react';\nimport '@testing-library/jest-dom';\n\nimport "
  },
  {
    "path": "packages/visx-annotation/test/LineSubject.test.tsx",
    "chars": 564,
    "preview": "import React from 'react';\nimport { render } from '@testing-library/react';\nimport '@testing-library/jest-dom';\nimport {"
  },
  {
    "path": "packages/visx-annotation/test/svgMock.ts",
    "chars": 666,
    "preview": "// @ts-expect-error\nlet originalFn: typeof SVGElement.prototype.getComputedTextLength;\n\n/**\n * JSDom does not implement "
  },
  {
    "path": "packages/visx-annotation/test/tsconfig.json",
    "chars": 325,
    "preview": "{\n  \"compilerOptions\": {\n    \"composite\": false,\n    \"emitDeclarationOnly\": false,\n    \"noEmit\": true,\n    \"rootDir\": \"."
  },
  {
    "path": "packages/visx-annotation/tsconfig.json",
    "chars": 413,
    "preview": "{\n  \"compilerOptions\": {\n    \"declarationDir\": \"lib\",\n    \"outDir\": \"lib\",\n    \"rootDir\": \"src\"\n  },\n  \"exclude\": [\n    "
  },
  {
    "path": "packages/visx-annotation/vitest.config.ts",
    "chars": 619,
    "preview": "import { defineConfig } from 'vitest/config';\nimport path from 'path';\n\nexport default defineConfig({\n  test: {\n    name"
  },
  {
    "path": "packages/visx-axis/.npmrc",
    "chars": 18,
    "preview": "package-lock=false"
  },
  {
    "path": "packages/visx-axis/Readme.md",
    "chars": 575,
    "preview": "# @visx/axis\n\n<p>\n  <a title=\"@visx/axis npm downloads\" href=\"https://www.npmjs.com/package/@visx/axis\">\n    <img src=\"h"
  },
  {
    "path": "packages/visx-axis/package.json",
    "chars": 1111,
    "preview": "{\n  \"name\": \"@visx/axis\",\n  \"version\": \"4.0.1-alpha.0\",\n  \"description\": \"visx axis\",\n  \"sideEffects\": false,\n  \"main\": "
  },
  {
    "path": "packages/visx-axis/src/axis/Axis.tsx",
    "chars": 2793,
    "preview": "import cx from 'classnames';\nimport { Group } from '@visx/group';\nimport { getTicks, coerceNumber } from '@visx/scale';\n"
  },
  {
    "path": "packages/visx-axis/src/axis/AxisBottom.tsx",
    "chars": 933,
    "preview": "import cx from 'classnames';\nimport Axis from './Axis';\nimport Orientation from '../constants/orientation';\nimport type "
  },
  {
    "path": "packages/visx-axis/src/axis/AxisLeft.tsx",
    "chars": 937,
    "preview": "import cx from 'classnames';\nimport Axis from './Axis';\nimport Orientation from '../constants/orientation';\nimport type "
  },
  {
    "path": "packages/visx-axis/src/axis/AxisRenderer.tsx",
    "chars": 2663,
    "preview": "import cx from 'classnames';\nimport { Line } from '@visx/shape';\nimport { Text } from '@visx/text';\n\nimport type { TextP"
  },
  {
    "path": "packages/visx-axis/src/axis/AxisRight.tsx",
    "chars": 1021,
    "preview": "import cx from 'classnames';\nimport Axis from './Axis';\nimport Orientation from '../constants/orientation';\nimport type "
  },
  {
    "path": "packages/visx-axis/src/axis/AxisTop.tsx",
    "chars": 992,
    "preview": "import cx from 'classnames';\nimport Axis from './Axis';\nimport Orientation from '../constants/orientation';\nimport type "
  },
  {
    "path": "packages/visx-axis/src/axis/Ticks.tsx",
    "chars": 1667,
    "preview": "import cx from 'classnames';\nimport { Line } from '@visx/shape';\nimport { Group } from '@visx/group';\nimport { Text } fr"
  },
  {
    "path": "packages/visx-axis/src/constants/orientation.ts",
    "chars": 236,
    "preview": "import type { ValueOf } from '@visx/scale';\n\nconst Orientation = {\n  top: 'top',\n  left: 'left',\n  right: 'right',\n  bot"
  },
  {
    "path": "packages/visx-axis/src/index.ts",
    "chars": 428,
    "preview": "// @visx/axis\nexport { default as Axis } from './axis/Axis';\nexport type { AxisProps } from './axis/Axis';\nexport { defa"
  },
  {
    "path": "packages/visx-axis/src/types.ts",
    "chars": 5651,
    "preview": "import type { D3Scale, NumberLike, ScaleInput, ValueOf } from '@visx/scale';\nimport type { TextProps } from '@visx/text'"
  },
  {
    "path": "packages/visx-axis/src/utils/createPoint.ts",
    "chars": 185,
    "preview": "import { Point } from '@visx/point';\n\nexport default function createPoint({ x, y }: Partial<Point>, horizontal: boolean)"
  },
  {
    "path": "packages/visx-axis/src/utils/getAxisRangePaddingConfig.ts",
    "chars": 452,
    "preview": "import type { SharedAxisProps } from '../types';\n\nexport const defaultAxisRangePadding = 0;\n\nexport default function get"
  },
  {
    "path": "packages/visx-axis/src/utils/getLabelTransform.ts",
    "chars": 1276,
    "preview": "import type { TextProps } from '@visx/text';\nimport type { OrientationType } from '../constants/orientation';\nimport Ori"
  },
  {
    "path": "packages/visx-axis/src/utils/getTickFormatter.ts",
    "chars": 611,
    "preview": "import type { ScaleInput } from '@visx/scale';\nimport { toString } from '@visx/scale';\nimport type { TickFormatter, Axis"
  },
  {
    "path": "packages/visx-axis/src/utils/getTickPosition.ts",
    "chars": 902,
    "preview": "import type { ScaleInput } from '@visx/scale';\nimport type { AxisScale, AxisScaleOutput } from '../types';\n\n/**\n * Creat"
  },
  {
    "path": "packages/visx-axis/test/Axis.test.tsx",
    "chars": 8499,
    "preview": "import { vi } from 'vitest';\nimport React from 'react';\nimport { render } from '@testing-library/react';\nimport '@testin"
  },
  {
    "path": "packages/visx-axis/test/AxisBottom.test.tsx",
    "chars": 2643,
    "preview": "import React from 'react';\nimport { render } from '@testing-library/react';\nimport '@testing-library/jest-dom';\n\nimport "
  },
  {
    "path": "packages/visx-axis/test/AxisLeft.test.tsx",
    "chars": 3167,
    "preview": "import React from 'react';\nimport { render } from '@testing-library/react';\nimport '@testing-library/jest-dom';\n\nimport "
  },
  {
    "path": "packages/visx-axis/test/AxisRight.test.tsx",
    "chars": 3152,
    "preview": "import React from 'react';\nimport { render } from '@testing-library/react';\nimport '@testing-library/jest-dom';\n\nimport "
  },
  {
    "path": "packages/visx-axis/test/AxisTop.test.tsx",
    "chars": 3575,
    "preview": "import React from 'react';\nimport { render } from '@testing-library/react';\nimport '@testing-library/jest-dom';\nimport {"
  },
  {
    "path": "packages/visx-axis/test/Orientation.test.ts",
    "chars": 312,
    "preview": "import { Orientation } from '../src';\n\ndescribe('Orientation', () => {\n  it('should have keys for top/right/bottom/left'"
  },
  {
    "path": "packages/visx-axis/test/scales.test.tsx",
    "chars": 4775,
    "preview": "import React from 'react';\nimport { render } from '@testing-library/react';\nimport '@testing-library/jest-dom';\nimport {"
  },
  {
    "path": "packages/visx-axis/test/svgMock.ts",
    "chars": 666,
    "preview": "// @ts-expect-error\nlet originalFn: typeof SVGElement.prototype.getComputedTextLength;\n\n/**\n * JSDom does not implement "
  },
  {
    "path": "packages/visx-axis/test/tsconfig.json",
    "chars": 325,
    "preview": "{\n  \"compilerOptions\": {\n    \"composite\": false,\n    \"emitDeclarationOnly\": false,\n    \"noEmit\": true,\n    \"rootDir\": \"."
  },
  {
    "path": "packages/visx-axis/test/utils/getAxisRangePaddingConfig.test.ts",
    "chars": 1199,
    "preview": "import getAxisRangePaddingConfig, {\n  defaultAxisRangePadding,\n} from '../../src/utils/getAxisRangePaddingConfig';\n\ndesc"
  },
  {
    "path": "packages/visx-axis/test/utils/getTickPosition.test.ts",
    "chars": 1442,
    "preview": "import { scaleLinear, scaleBand } from '@visx/scale';\nimport getTickPosition from '../../src/utils/getTickPosition';\n\nde"
  },
  {
    "path": "packages/visx-axis/tsconfig.json",
    "chars": 500,
    "preview": "{\n  \"compilerOptions\": {\n    \"declarationDir\": \"lib\",\n    \"outDir\": \"lib\",\n    \"rootDir\": \"src\"\n  },\n  \"exclude\": [\n    "
  },
  {
    "path": "packages/visx-axis/vitest.config.ts",
    "chars": 601,
    "preview": "import { defineConfig } from 'vitest/config';\nimport path from 'path';\n\nexport default defineConfig({\n  test: {\n    name"
  },
  {
    "path": "packages/visx-bounds/.npmrc",
    "chars": 18,
    "preview": "package-lock=false"
  },
  {
    "path": "packages/visx-bounds/Readme.md",
    "chars": 1318,
    "preview": "# @visx/bounds\n\n<p>\n  <a title=\"@visx/bounds npm downloads\" href=\"https://www.npmjs.com/package/@visx/bounds\">\n    <img "
  },
  {
    "path": "packages/visx-bounds/package.json",
    "chars": 1067,
    "preview": "{\n  \"name\": \"@visx/bounds\",\n  \"version\": \"4.0.1-alpha.0\",\n  \"description\": \"Utilities to make your life with bounding bo"
  },
  {
    "path": "packages/visx-bounds/src/enhancers/withBoundingRects.tsx",
    "chars": 1912,
    "preview": "/* eslint react/no-did-mount-set-state: 0 */\nimport { PureComponent, createRef } from 'react';\nimport type { ComponentCl"
  },
  {
    "path": "packages/visx-bounds/src/index.ts",
    "chars": 268,
    "preview": "// @visx/bounds\nimport type { WithBoundingRectsProps as WithBoundingRectsPropsType } from './enhancers/withBoundingRects"
  },
  {
    "path": "packages/visx-bounds/test/tsconfig.json",
    "chars": 325,
    "preview": "{\n  \"compilerOptions\": {\n    \"composite\": false,\n    \"emitDeclarationOnly\": false,\n    \"noEmit\": true,\n    \"rootDir\": \"."
  },
  {
    "path": "packages/visx-bounds/test/withBoundingRects.test.tsx",
    "chars": 4139,
    "preview": "/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n"
  },
  {
    "path": "packages/visx-bounds/tsconfig.json",
    "chars": 284,
    "preview": "{\n  \"compilerOptions\": {\n    \"declarationDir\": \"lib\",\n    \"outDir\": \"lib\",\n    \"rootDir\": \"src\"\n  },\n  \"exclude\": [\n    "
  },
  {
    "path": "packages/visx-bounds/vitest.config.ts",
    "chars": 607,
    "preview": "import { defineConfig } from 'vitest/config';\nimport path from 'path';\n\nexport default defineConfig({\n  test: {\n    name"
  },
  {
    "path": "packages/visx-brush/.npmrc",
    "chars": 18,
    "preview": "package-lock=false"
  },
  {
    "path": "packages/visx-brush/Readme.md",
    "chars": 310,
    "preview": "# @visx/brush\n\n<a title=\"@visx/brush npm downloads\" href=\"https://www.npmjs.com/package/@visx/brush\">\n  <img src=\"https:"
  },
  {
    "path": "packages/visx-brush/package.json",
    "chars": 1059,
    "preview": "{\n  \"name\": \"@visx/brush\",\n  \"version\": \"4.0.1-alpha.0\",\n  \"description\": \"visx brush\",\n  \"sideEffects\": false,\n  \"main\""
  },
  {
    "path": "packages/visx-brush/src/BaseBrush.tsx",
    "chars": 21162,
    "preview": "import { Component } from 'react';\nimport type { PointerEvent, SVGProps, ReactNode } from 'react';\nimport { Group } from"
  },
  {
    "path": "packages/visx-brush/src/Brush.tsx",
    "chars": 7986,
    "preview": "import { Component } from 'react';\nimport type { MutableRefObject, ReactNode, SVGProps } from 'react';\nimport type { Bas"
  },
  {
    "path": "packages/visx-brush/src/BrushCorner.tsx",
    "chars": 5753,
    "preview": "/* eslint react/jsx-handler-names: 0 */\nimport { Component } from 'react';\nimport type { CSSProperties } from 'react';\ni"
  },
  {
    "path": "packages/visx-brush/src/BrushHandle.tsx",
    "chars": 6893,
    "preview": "/* eslint react/jsx-handler-names: 0 */\nimport { Component } from 'react';\nimport type { ReactNode } from 'react';\nimpor"
  },
  {
    "path": "packages/visx-brush/src/BrushOverlay.tsx",
    "chars": 726,
    "preview": "import type { CSSProperties, PointerEvent } from 'react';\nimport { Bar } from '@visx/shape';\n\ntype BrushOverlayProps = {"
  },
  {
    "path": "packages/visx-brush/src/BrushSelection.tsx",
    "chars": 5680,
    "preview": "/* eslint react/jsx-handler-names: 0 */\nimport { Component } from 'react';\nimport type { SVGProps, PointerEvent } from '"
  },
  {
    "path": "packages/visx-brush/src/index.ts",
    "chars": 408,
    "preview": "// @visx/brush\nexport { default as Brush } from './Brush';\n\nexport type * from './types';\nexport type { BrushProps } fro"
  },
  {
    "path": "packages/visx-brush/src/types.ts",
    "chars": 1271,
    "preview": "import type { D3Scale, NumberLike } from '@visx/scale';\n\nexport type Point = {\n  x: number;\n  y: number;\n};\n\nexport type"
  },
  {
    "path": "packages/visx-brush/src/utils.ts",
    "chars": 2438,
    "preview": "import type { MouseTouchOrPointerEvent } from '@visx/drag';\nimport type { PointerEvent } from 'react';\nimport type { Sca"
  },
  {
    "path": "packages/visx-brush/test/Brush.test.tsx",
    "chars": 145,
    "preview": "import { Brush } from '../src';\n\ndescribe('<Brush />', () => {\n  test('it should be defined', () => {\n    expect(Brush)."
  },
  {
    "path": "packages/visx-brush/test/tsconfig.json",
    "chars": 325,
    "preview": "{\n  \"compilerOptions\": {\n    \"composite\": false,\n    \"emitDeclarationOnly\": false,\n    \"noEmit\": true,\n    \"rootDir\": \"."
  },
  {
    "path": "packages/visx-brush/test/utils.test.ts",
    "chars": 2468,
    "preview": "import { createScale } from '@visx/scale';\nimport { getDomainFromExtent, scaleInvert } from '../src/utils';\n\ndescribe('g"
  },
  {
    "path": "packages/visx-brush/tsconfig.json",
    "chars": 500,
    "preview": "{\n  \"compilerOptions\": {\n    \"declarationDir\": \"lib\",\n    \"outDir\": \"lib\",\n    \"rootDir\": \"src\"\n  },\n  \"exclude\": [\n    "
  },
  {
    "path": "packages/visx-brush/vitest.config.ts",
    "chars": 604,
    "preview": "import { defineConfig } from 'vitest/config';\nimport path from 'path';\n\nexport default defineConfig({\n  test: {\n    name"
  },
  {
    "path": "packages/visx-chord/.npmrc",
    "chars": 18,
    "preview": "package-lock=false"
  },
  {
    "path": "packages/visx-chord/Readme.md",
    "chars": 334,
    "preview": "# @visx/chord\n\n<a title=\"@visx/chord npm downloads\" href=\"https://www.npmjs.com/package/@visx/chord\">\n  <img src=\"https:"
  },
  {
    "path": "packages/visx-chord/package.json",
    "chars": 1014,
    "preview": "{\n  \"name\": \"@visx/chord\",\n  \"version\": \"4.0.1-alpha.0\",\n  \"description\": \"visx group\",\n  \"sideEffects\": false,\n  \"main\""
  },
  {
    "path": "packages/visx-chord/src/Chord.tsx",
    "chars": 1872,
    "preview": "import type { ReactNode } from 'react';\nimport type { Chords } from 'd3-chord';\nimport { chord as d3chord } from 'd3-cho"
  },
  {
    "path": "packages/visx-chord/src/Ribbon.tsx",
    "chars": 2082,
    "preview": "import type { SVGProps } from 'react';\nimport cx from 'classnames';\nimport type { Chord, ChordSubgroup } from 'd3-chord'"
  },
  {
    "path": "packages/visx-chord/src/index.ts",
    "chars": 194,
    "preview": "// @visx/chord\nexport { default as Chord } from './Chord';\nexport { default as Ribbon } from './Ribbon';\n\nexport type { "
  },
  {
    "path": "packages/visx-chord/test/Chord.test.tsx",
    "chars": 604,
    "preview": "import { vi } from 'vitest';\nimport React from 'react';\nimport { render } from '@testing-library/react';\nimport { Chord "
  },
  {
    "path": "packages/visx-chord/test/Ribbon.test.tsx",
    "chars": 809,
    "preview": "import { vi } from 'vitest';\nimport React from 'react';\nimport { render } from '@testing-library/react';\nimport { chord "
  },
  {
    "path": "packages/visx-chord/test/tsconfig.json",
    "chars": 325,
    "preview": "{\n  \"compilerOptions\": {\n    \"composite\": false,\n    \"emitDeclarationOnly\": false,\n    \"noEmit\": true,\n    \"rootDir\": \"."
  },
  {
    "path": "packages/visx-chord/tsconfig.json",
    "chars": 284,
    "preview": "{\n  \"compilerOptions\": {\n    \"declarationDir\": \"lib\",\n    \"outDir\": \"lib\",\n    \"rootDir\": \"src\"\n  },\n  \"exclude\": [\n    "
  },
  {
    "path": "packages/visx-chord/vitest.config.ts",
    "chars": 604,
    "preview": "import { defineConfig } from 'vitest/config';\nimport path from 'path';\n\nexport default defineConfig({\n  test: {\n    name"
  },
  {
    "path": "packages/visx-clip-path/.npmrc",
    "chars": 18,
    "preview": "package-lock=false"
  },
  {
    "path": "packages/visx-clip-path/Readme.md",
    "chars": 420,
    "preview": "# @visx/clip-path\n\n<a title=\"@visx/clip-path npm downloads\" href=\"https://www.npmjs.com/package/@visx/clip-path\">\n  <img"
  },
  {
    "path": "packages/visx-clip-path/package.json",
    "chars": 954,
    "preview": "{\n  \"name\": \"@visx/clip-path\",\n  \"version\": \"4.0.1-alpha.0\",\n  \"description\": \"visx clip-path\",\n  \"sideEffects\": false,\n"
  },
  {
    "path": "packages/visx-clip-path/src/clip-paths/CircleClipPath.tsx",
    "chars": 770,
    "preview": "import type { SVGProps } from 'react';\nimport ClipPath from './ClipPath';\n\nexport type CircleClipPathProps = {\n  /** Uni"
  },
  {
    "path": "packages/visx-clip-path/src/clip-paths/ClipPath.tsx",
    "chars": 548,
    "preview": "import type { SVGProps, ReactNode } from 'react';\n\nexport type ClipPathProps = {\n  /** Unique id for the clipPath. */\n  "
  },
  {
    "path": "packages/visx-clip-path/src/clip-paths/RectClipPath.tsx",
    "chars": 740,
    "preview": "import type { SVGProps } from 'react';\nimport ClipPath from './ClipPath';\n\nexport type RectClipPathProps = {\n  /** Uniqu"
  },
  {
    "path": "packages/visx-clip-path/src/index.ts",
    "chars": 222,
    "preview": "// @visx/clip-path\nexport { default as ClipPath } from './clip-paths/ClipPath';\nexport { default as CircleClipPath } fro"
  },
  {
    "path": "packages/visx-clip-path/test/ClipPaths.test.tsx",
    "chars": 3186,
    "preview": "import { vi } from 'vitest';\nimport React from 'react';\nimport { render } from '@testing-library/react';\nimport '@testin"
  },
  {
    "path": "packages/visx-clip-path/test/tsconfig.json",
    "chars": 325,
    "preview": "{\n  \"compilerOptions\": {\n    \"composite\": false,\n    \"emitDeclarationOnly\": false,\n    \"noEmit\": true,\n    \"rootDir\": \"."
  },
  {
    "path": "packages/visx-clip-path/tsconfig.json",
    "chars": 284,
    "preview": "{\n  \"compilerOptions\": {\n    \"declarationDir\": \"lib\",\n    \"outDir\": \"lib\",\n    \"rootDir\": \"src\"\n  },\n  \"exclude\": [\n    "
  },
  {
    "path": "packages/visx-clip-path/vitest.config.ts",
    "chars": 616,
    "preview": "import { defineConfig } from 'vitest/config';\nimport path from 'path';\n\nexport default defineConfig({\n  test: {\n    name"
  },
  {
    "path": "packages/visx-curve/.npmrc",
    "chars": 18,
    "preview": "package-lock=false"
  },
  {
    "path": "packages/visx-curve/Readme.md",
    "chars": 3121,
    "preview": "# @visx/curve\n\n<a title=\"@visx/curve npm downloads\" href=\"https://www.npmjs.com/package/@visx/curve\">\n  <img src=\"https:"
  },
  {
    "path": "packages/visx-curve/package.json",
    "chars": 665,
    "preview": "{\n  \"name\": \"@visx/curve\",\n  \"version\": \"4.0.1-alpha.0\",\n  \"description\": \"visx curve\",\n  \"sideEffects\": false,\n  \"main\""
  },
  {
    "path": "packages/visx-curve/src/index.ts",
    "chars": 389,
    "preview": "// @visx/curve\nexport {\n  curveBasis,\n  curveBasisClosed,\n  curveBasisOpen,\n  curveStep,\n  curveStepAfter,\n  curveStepBe"
  },
  {
    "path": "packages/visx-curve/test/curve.test.ts",
    "chars": 1884,
    "preview": "import {\n  curveBasis,\n  curveBasisClosed,\n  curveBasisOpen,\n  curveStep,\n  curveStepAfter,\n  curveStepBefore,\n  curveBu"
  },
  {
    "path": "packages/visx-curve/test/tsconfig.json",
    "chars": 325,
    "preview": "{\n  \"compilerOptions\": {\n    \"composite\": false,\n    \"emitDeclarationOnly\": false,\n    \"noEmit\": true,\n    \"rootDir\": \"."
  },
  {
    "path": "packages/visx-curve/tsconfig.json",
    "chars": 330,
    "preview": "{\n  \"compilerOptions\": {\n    \"declarationDir\": \"lib\",\n    \"outDir\": \"lib\",\n    \"rootDir\": \"src\"\n  },\n  \"exclude\": [\n    "
  },
  {
    "path": "packages/visx-curve/vitest.config.ts",
    "chars": 603,
    "preview": "import { defineConfig } from 'vitest/config';\nimport path from 'path';\n\nexport default defineConfig({\n  test: {\n    name"
  },
  {
    "path": "packages/visx-delaunay/.npmrc",
    "chars": 18,
    "preview": "package-lock=false"
  },
  {
    "path": "packages/visx-delaunay/Readme.md",
    "chars": 2101,
    "preview": "# @visx/delaunay\n\n<a title=\"@visx/delaunay npm downloads\" href=\"https://www.npmjs.com/package/@visx/delaunay\">\n  <img sr"
  },
  {
    "path": "packages/visx-delaunay/package.json",
    "chars": 988,
    "preview": "{\n  \"name\": \"@visx/delaunay\",\n  \"version\": \"4.0.1-alpha.0\",\n  \"description\": \"visx delaunay\",\n  \"sideEffects\": false,\n  "
  },
  {
    "path": "packages/visx-delaunay/src/components/Polygon.tsx",
    "chars": 883,
    "preview": "import type { ReactNode, SVGProps } from 'react';\nimport cx from 'classnames';\n\nexport type PolygonProps = {\n  /** Overr"
  },
  {
    "path": "packages/visx-delaunay/src/delaunay.ts",
    "chars": 577,
    "preview": "import { Delaunay } from '@visx/vendor/d3-delaunay';\n\ninterface Config<Datum> {\n  /** The data for the delaunay triangul"
  },
  {
    "path": "packages/visx-delaunay/src/index.ts",
    "chars": 175,
    "preview": "// @visx/delaunay\nexport { default as delaunay } from './delaunay';\nexport { default as voronoi } from './voronoi';\nexpo"
  },
  {
    "path": "packages/visx-delaunay/src/voronoi.ts",
    "chars": 888,
    "preview": "import { Delaunay } from '@visx/vendor/d3-delaunay';\n\nconst CLIP_PADDING = 1;\n\ninterface Config<Datum> {\n  /** The data "
  },
  {
    "path": "packages/visx-delaunay/test/Polygon.test.tsx",
    "chars": 1376,
    "preview": "import React from 'react';\nimport { render } from '@testing-library/react';\nimport '@testing-library/jest-dom'; // Added"
  },
  {
    "path": "packages/visx-delaunay/test/delaunay.test.ts",
    "chars": 776,
    "preview": "import { delaunay } from '../src';\n\nconst data = [\n  { x: 10, y: 10 },\n  { x: 10, y: 20 },\n  { x: 20, y: 20 },\n  { x: 20"
  },
  {
    "path": "packages/visx-delaunay/test/tsconfig.json",
    "chars": 325,
    "preview": "{\n  \"compilerOptions\": {\n    \"composite\": false,\n    \"emitDeclarationOnly\": false,\n    \"noEmit\": true,\n    \"rootDir\": \"."
  },
  {
    "path": "packages/visx-delaunay/test/voronoi.test.ts",
    "chars": 799,
    "preview": "import { voronoi } from '../src';\n\nconst x = () => 123;\nconst y = () => 123;\n\ndescribe('voronoi', () => {\n  test('it sho"
  },
  {
    "path": "packages/visx-delaunay/tsconfig.json",
    "chars": 330,
    "preview": "{\n  \"compilerOptions\": {\n    \"declarationDir\": \"lib\",\n    \"outDir\": \"lib\",\n    \"rootDir\": \"src\"\n  },\n  \"exclude\": [\n    "
  },
  {
    "path": "packages/visx-delaunay/vitest.config.ts",
    "chars": 613,
    "preview": "import { defineConfig } from 'vitest/config';\nimport path from 'path';\n\nexport default defineConfig({\n  test: {\n    name"
  },
  {
    "path": "packages/visx-demo/.gitignore",
    "chars": 19,
    "preview": ".vercel\n.next\nout/\n"
  },
  {
    "path": "packages/visx-demo/.npmrc",
    "chars": 18,
    "preview": "package-lock=false"
  },
  {
    "path": "packages/visx-demo/Readme.md",
    "chars": 209,
    "preview": "# @visx/demo\n\n<a href=\"https://airbnb.io/visx/gallery\">https://airbnb.io/visx/gallery</a>\n\n<p align=\"center\">\n  <a href="
  },
  {
    "path": "packages/visx-demo/next-env.d.ts",
    "chars": 264,
    "preview": "/// <reference types=\"next\" />\n/// <reference types=\"next/image-types/global\" />\n/// <reference path=\"./.next/types/rout"
  },
  {
    "path": "packages/visx-demo/next.config.js",
    "chars": 1350,
    "preview": "const nextConfig = {\n  output: 'export',\n  typescript: {\n    // enable rendering when there are type errors\n    ignoreBu"
  },
  {
    "path": "packages/visx-demo/package.json",
    "chars": 2933,
    "preview": "{\n  \"name\": \"@visx/demo\",\n  \"version\": \"4.0.1-alpha.0\",\n  \"description\": \"visx demo\",\n  \"repository\": \"https://github.co"
  },
  {
    "path": "packages/visx-demo/public/static/doc_styles.css",
    "chars": 2916,
    "preview": "body {\n  padding: 50px;\n  font: 15px/1.6 Helvetica, Arial, sans-serif;\n}\n\nimg {\n  max-height: 50vh;\n}\n\nbody {\n  font-fam"
  },
  {
    "path": "packages/visx-demo/public/static/prism/prism-funky.css",
    "chars": 2051,
    "preview": "/**\n * prism.js Funky theme\n * Based on “Polyfilling the gaps” talk slides http://lea.verou.me/polyfilling-the-gaps/\n * "
  },
  {
    "path": "packages/visx-demo/public/static/prism/prism-line-numbers.css",
    "chars": 5866,
    "preview": ".github-btn {\n  font: bold 11px/14px 'Helvetica Neue', Helvetica, Arial, sans-serif;\n  height: 20px;\n  overflow: hidden;"
  },
  {
    "path": "packages/visx-demo/public/static/style.css",
    "chars": 4479,
    "preview": "body {\n  overflow-x: hidden;\n  padding: 50px;\n  font: 15px/1.6 Helvetica, Arial, sans-serif;\n}\n\nbody:first-child {\n  ove"
  },
  {
    "path": "packages/visx-demo/public/static/visx-geo/world-topo.json",
    "chars": 212620,
    "preview": "\n{\"arcs\":[[[7080,7327],[-5,4],[-10,-10],[5,-6]],[[7070,7315],[-16,-12],[-9,5],[-28,-4],[-12,-6],[-1,-5],[-17,-18],[-11,-"
  },
  {
    "path": "packages/visx-demo/src/components/ApiTable.tsx",
    "chars": 7241,
    "preview": "import React, { useMemo } from 'react';\nimport Markdown from 'react-markdown';\nimport type { DocGenInfo, PropInfo, Param"
  },
  {
    "path": "packages/visx-demo/src/components/CodeSandboxLink.tsx",
    "chars": 1400,
    "preview": "import React from 'react';\n\nconst icon = (\n  <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    width=\"20\"\n    height=\"20\"\n"
  },
  {
    "path": "packages/visx-demo/src/components/Codeblock.tsx",
    "chars": 1558,
    "preview": "import React from 'react';\nimport ReactDOMServer from 'react-dom/server';\nimport Prism from 'prismjs';\n// these have seq"
  },
  {
    "path": "packages/visx-demo/src/components/DocPage.tsx",
    "chars": 5764,
    "preview": "/* eslint-disable no-underscore-dangle */\nimport React from 'react';\nimport Markdown from 'react-markdown';\nimport rehyp"
  },
  {
    "path": "packages/visx-demo/src/components/Footer.tsx",
    "chars": 1639,
    "preview": "import React from 'react';\nimport Twitter from './icons/Twitter';\nimport Medium from './icons/Medium';\nimport GitHub fro"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/.eslintrc",
    "chars": 62,
    "preview": "{\n  \"rules\": {\n    \"import/no-relative-packages\": \"off\"\n  }\n}\n"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/AnnotationTile.tsx",
    "chars": 1001,
    "preview": "import React from 'react';\nimport type { AnnotationProps } from '../../sandboxes/visx-annotation/Example';\nimport Annota"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/AreaTile.tsx",
    "chars": 662,
    "preview": "import React from 'react';\nimport type { AreaProps } from '../../sandboxes/visx-area/Example';\nimport Area, { accentColo"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/AxisTile.tsx",
    "chars": 776,
    "preview": "import React from 'react';\nimport type { AxisProps } from '../../sandboxes/visx-axis/Example';\nimport Axis, { background"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/BarGroupHorizontalTile.tsx",
    "chars": 914,
    "preview": "import React from 'react';\nimport type { BarGroupHorizontalProps } from '../../sandboxes/visx-bargroup-horizontal/Exampl"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/BarGroupTile.tsx",
    "chars": 682,
    "preview": "import React from 'react';\nimport type { BarGroupProps } from '../../sandboxes/visx-bargroup/Example';\nimport BarGroup, "
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/BarStackHorizontalTile.tsx",
    "chars": 816,
    "preview": "import React from 'react';\nimport type { BarStackHorizontalProps } from '../../sandboxes/visx-barstack-horizontal/Exampl"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/BarStackTile.tsx",
    "chars": 697,
    "preview": "import React from 'react';\nimport type { BarStackProps } from '../../sandboxes/visx-barstack/Example';\nimport BarStack, "
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/BarsTile.tsx",
    "chars": 642,
    "preview": "import React from 'react';\nimport type { BarsProps } from '../../sandboxes/visx-bars/Example';\nimport Bars from '../../s"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/BrushTile.tsx",
    "chars": 805,
    "preview": "import React from 'react';\nimport type { BrushProps } from '../../sandboxes/visx-brush/Example';\nimport Brush, { backgro"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/ChordTile.tsx",
    "chars": 656,
    "preview": "import React from 'react';\nimport type { ChordProps } from '../../sandboxes/visx-chord/Example';\nimport Chord from '../."
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/CurvesTile.tsx",
    "chars": 739,
    "preview": "import React from 'react';\nimport type { CurveProps } from '../../sandboxes/visx-curve/Example';\nimport Curve from '../."
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/DelaunayTriangulationTile.tsx",
    "chars": 904,
    "preview": "import React from 'react';\nimport type { DelaunayTriangulationProps } from '../../sandboxes/visx-delaunay-triangulation/"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/DelaunayVoronoiTile.tsx",
    "chars": 832,
    "preview": "import React from 'react';\nimport type { VoronoiProps } from '../../sandboxes/visx-delaunay-voronoi/Example';\nimport Vor"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/DendrogramsTile.tsx",
    "chars": 843,
    "preview": "import React from 'react';\nimport type { DendrogramProps } from '../../sandboxes/visx-dendrogram/Example';\nimport Dendro"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/DotsTile.tsx",
    "chars": 711,
    "preview": "import React from 'react';\nimport type { DotsProps } from '../../sandboxes/visx-dots/Example';\nimport Dots from '../../s"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/DragIITile.tsx",
    "chars": 798,
    "preview": "import React from 'react';\nimport type { DragIIProps } from '../../sandboxes/visx-drag-ii/Example';\nimport DragII from '"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/DragITile.tsx",
    "chars": 672,
    "preview": "import React from 'react';\nimport type { DragIProps } from '../../sandboxes/visx-drag-i/Example';\nimport DragI from '../"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/GeoAlbersUsaTile.tsx",
    "chars": 771,
    "preview": "import React from 'react';\nimport type { GeoAlbersUsaProps } from '../../sandboxes/visx-geo-albers-usa/Example';\nimport "
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/GeoCustomTile.tsx",
    "chars": 780,
    "preview": "import React from 'react';\nimport type { GeoCustomProps } from '../../sandboxes/visx-geo-custom/Example';\nimport GeoCust"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/GeoMercatorTile.tsx",
    "chars": 707,
    "preview": "import React from 'react';\nimport type { GeoMercatorProps } from '../../sandboxes/visx-geo-mercator/Example';\nimport Geo"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/GlyphsTile.tsx",
    "chars": 801,
    "preview": "import React from 'react';\nimport type { GlyphProps } from '../../sandboxes/visx-glyph/Example';\nimport Glyph, { primary"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/GradientsTile.tsx",
    "chars": 748,
    "preview": "import React from 'react';\nimport type { GradientProps } from '../../sandboxes/visx-gradient/Example';\nimport Gradient f"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/HeatmapsTile.tsx",
    "chars": 702,
    "preview": "import React from 'react';\nimport type { HeatmapProps } from '../../sandboxes/visx-heatmap/Example';\nimport Heatmap, { b"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/LegendsTile.tsx",
    "chars": 565,
    "preview": "import React from 'react';\nimport Legends from '../../sandboxes/visx-legend/Example';\nimport GalleryTile from '../Galler"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/LineRadialTile.tsx",
    "chars": 799,
    "preview": "import React from 'react';\nimport type { LineRadialProps } from '../../sandboxes/visx-shape-line-radial/Example';\nimport"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/LinkTypesTile.tsx",
    "chars": 681,
    "preview": "import React from 'react';\nimport type { LinkTypesProps } from '../../sandboxes/visx-linktypes/Example';\nimport LinkType"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/NetworkTile.tsx",
    "chars": 587,
    "preview": "import React from 'react';\nimport type { NetworkProps } from '../../sandboxes/visx-network/Example';\nimport Network, { b"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/PackTile.tsx",
    "chars": 676,
    "preview": "import React from 'react';\nimport type { PackProps } from '../../sandboxes/visx-pack/Example';\nimport Pack from '../../s"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/PatternsTile.tsx",
    "chars": 658,
    "preview": "import React from 'react';\nimport type { PatternProps } from '../../sandboxes/visx-pattern/Example';\nimport Patterns fro"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/PiesTile.tsx",
    "chars": 783,
    "preview": "import React from 'react';\nimport type { PieProps } from '../../sandboxes/visx-shape-pie/Example';\nimport Pie from '../."
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/PolygonsTile.tsx",
    "chars": 782,
    "preview": "import React from 'react';\nimport type { PolygonProps } from '../../sandboxes/visx-polygons/Example';\nimport Polygon, { "
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/RadarTile.tsx",
    "chars": 674,
    "preview": "import React from 'react';\nimport type { RadarProps } from '../../sandboxes/visx-radar/Example';\nimport Radar, { backgro"
  },
  {
    "path": "packages/visx-demo/src/components/Gallery/RadialBarsTile.tsx",
    "chars": 767,
    "preview": "import React from 'react';\nimport type { RadialBarsProps } from '../../sandboxes/visx-radial-bars/Example';\nimport Radia"
  }
]

// ... and 1134 more files (download for full content)

About this extraction

This page contains the full source code of the airbnb/visx GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1334 files (3.5 MB), approximately 1.0M tokens, and a symbol index with 1449 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!