Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@visx/xychart

airbnb762.3kMIT3.12.0TypeScript support: included

Composable cartesian coordinate chart built with visx primitives

visx, react, d3, visualizations, charts

readme

Coverage Status

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.


Docs Gallery Blog Discussions Changelog Getting started tutorial

Usage

Remix on Glitch

Let's make a simple bar graph.

First we'll install the relevant packages:

npm install --save @visx/mock-data @visx/group @visx/shape @visx/scale
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.

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

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.

  2. 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:

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

    nope! pick and choose the packages you need.

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

    Please do.

  5. Does visx work with preact?

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

  6. I like using d3.

    Me too.

Development

Please see CONTRIBUTING.md

:v:

MIT

FOSSA Status

changelog

Changelog


v3.11.0 (2024-05-29)

:rocket: Enhancements

  • feat(xychart): improve performance when hovering with tooltip #1842

:memo: Documentation

  • feat(xychart): improve performance when hovering with tooltip #1842

:trophy: Contributors

v3.10.4 (2024-05-24)

:bug: Bug Fix

  • brush: fix brush jumping around after mouseup #1836

:trophy: Contributors

v3.10.3 (2024-05-20)

:bug: Bug Fix

  • Fix LegendThreshold #1831

:trophy: Contributors

v3.10.2 (2024-03-09)

:bug: Bug Fix

  • fix: explicit type exports in @visx/responsive #1809

:trophy: Contributors

v3.10.1 (2024-03-08)

Uncategorized

  • Revert "new(axis): add shapeRendering prop to Axis" #1808

:trophy: Contributors

v3.10.0 (2024-03-08)

:rocket: Enhancements

  • fix: Improve typing in @visx/responsive enhancers #1783

:bug: Bug Fix

  • fix: Improve typing in @visx/responsive enhancers #1783

:trophy: Contributors

v3.9.0 (2024-03-04)

:rocket: Enhancements

  • new(axis): add shapeRendering prop to Axis #1739

:bug: Bug Fix

  • internal: specify node js version #1796
  • docs: remove broken links from 'In the wild' #1800

:memo: Documentation

  • docs: remove broken links from 'In the wild' #1800
  • Adds to "in the wild", new site using visx/drag #1799

:house: Internal

  • internal: specify node js version #1796

:trophy: Contributors

v3.8.0 (2024-01-25)

:rocket: Enhancements

  • fix(axis): include defaultTextProps in Axis labelProps #1791

:trophy: Contributors

v3.7.0 (2024-01-23)

:rocket: Enhancements

  • fix: radial bars demo import in CodeSandbox #1786
  • feat(xychart): print console.info only in dev mode #1792
  • feat(demo): add radial bars demo using Arc #1785

:bug: Bug Fix

  • fix: radial bars demo import in CodeSandbox #1786
  • fix: typo in DragITile description #1779

:memo: Documentation

  • fix: typo in DragITile description #1779
  • docs: add ridge line chart with KDE to 'in the wild' #1781

:trophy: Contributors

v3.6.1 (2023-12-15)

:bug: Bug Fix

  • fix(brush): fix issue 'update was scheduled' warning on resetOnEnd #1465 #1778

:trophy: Contributors

v3.6.0 (2023-12-07)

:rocket: Enhancements

  • feat(brush): disable drag overlay #1744

:trophy: Contributors

v3.5.1 (2023-11-17)

:bug: Bug Fix

  • fix: correctly pass through offset from AnimatedGridRows/Columns #1769

:memo: Documentation

  • docs: add Superstardle in the wild #1768

:trophy: Contributors

v3.5.0 (2023-11-13)

:rocket: Enhancements

  • new(geo, vendor): add d3-geo@3 to visx-vendor, support geoPath.digits(n) #1767

:memo: Documentation

  • Add to "In the wild" #1765

:trophy: Contributors

v3.4.1 (2023-10-26)

:bug: Bug Fix

  • visx-axis AxisRenderer.tsx: resolve circular dependency #1762

:trophy: Contributors

v3.4.0 (2023-10-10)

:rocket: Enhancements

  • feat(axis): Expose innerRef prop on the various Axis components #1749

:trophy: Contributors

v3.3.0 (2023-07-11)

:rocket: Enhancements

  • Create new @visx/delaunay package #1678

:bug: Bug Fix

  • Fix glyph positioning in the xychart demo. #1730

:trophy: Contributors

v3.2.1 (2023-07-06)

:bug: Bug Fix

  • fix(xychart): Cleanup async function in TooltipProvider #1728

:trophy: Contributors

v3.2.0 (2023-06-29)

:bug: Bug Fix

  • fix: vendor esm-only packages #1716
  • vendor: add files entry to package.json #1724
  • docs(xychart): fix typo #1714

:memo: Documentation

  • docs(xychart): fix typo #1714

:house: Internal

  • fix: vendor esm-only packages #1716
  • github: update @octokit/openapi-types to fix release script #1722
  • github: fix release types and logic #1723

:trophy: Contributors

v3.1.3 (2023-06-28)

:bug: Bug Fix

  • docs(in the wild): remove broken app link #1688
  • fix(xychart): extra space in version definition, that prevents 18.2.0 version t… #1686

:memo: Documentation

  • docs(zoom): update handlePinch type description #1685
  • docs(in the wild): remove broken app link #1688

:trophy: Contributors

v3.1.2 (2023-03-22)

:bug: Bug Fix

  • fix(tooltip): handle SSR in useTooltipInPortal #1672

:trophy: Contributors

v3.1.1 (2023-03-22)

:bug: Bug Fix

  • fix(zoom): prevent wheel interfering with pinch #1639

:trophy: Contributors

v3.1.0 (2023-03-08)

:rocket: Enhancements

  • feat(axis): support object type tickLabelProp #1662

:trophy: Contributors

v3.0.2 (2023-03-07)

:bug: Bug Fix

  • fix(demo/sandboxes, xychart): Convert '@visx/.../src/...' to '@visx/.../lib/...' #1660

:memo: Documentation

  • docs: Add Fig Stats to In the wild #1652

:trophy: Contributors

v3.0.1 (2023-02-13)

:bug: Bug Fix

  • fix(demo): fix missing API documentation #1648

:memo: Documentation

  • fix(demo): fix missing API documentation #1648

:house: Internal

  • Delete ROADMAP.md #1628

:trophy: Contributors

v3.0.0 (2023-01-06)

:boom: Breaking Changes

  • security: Revert "Revert breaking "deps(scale): bump d3-interpolate and d3-scale"" #1621
  • breaking(annotation): remove deprecated/LinePathAnnotation #1620
  • breaking(responsive, xychart): require ResizeObserver or polyfill #1622

:house: Internal

  • internal(github/workflows): add tsconfig + demo site build checks #1626
  • deps(demo): upgrade to next@11 #1627

:trophy: Contributors

v2.18.0 (2023-01-03)

:bug: Bug Fix

  • fix(demo/pages/docs): use relative imports to fix API docs #1612
  • Revert breaking "deps(scale): bump d3-interpolate and d3-scale" #1619

:memo: Documentation

  • fix(demo/pages/docs): use relative imports to fix API docs #1612

:trophy: Contributors

v2.17.0 (2022-12-22)

:bug: Bug Fix

  • deps(scale): bump d3-interpolate and d3-scale #1578

:house: Internal

  • internal: migrate off nimbus #1609

:trophy: Contributors

v2.16.1 (2022-12-20)

:bug: Bug Fix

  • fix(demo/radar): uneven data elements renders spokes and web out of sync #1599
  • fix(brush): update brush start/end on window resize #1606

:memo: Documentation

  • docs(xychart): fix typo #1594

:house: Internal

  • internal(github-actions): add github release script #1585

:trophy: Contributors

v2.16.0 (2022-10-19)

:bug: Bug Fix

  • fix(tooltip, bounds): replace findDOMNode with refs for TooltipWithBounds #1583

:trophy: Contributors

v2.15.1 (2022-10-13)

:bug: Bug Fix

  • fix(mock-data): add missing bitcoinPrice to index.ts #1582

:trophy: Contributors

v2.15.0 (2022-10-04)

:rocket: Enhancements

  • new(tooltip): provide isFlippedVertically and isFlippedHorizontally context #1355

:trophy: Contributors

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

:trophy: Contributors

v2.13.0 (2022-09-06)

:rocket: Enhancements

  • Include visx/threshold in visx/visx #1563

:trophy: Contributors

v2.12.2 (2022-08-03)

:bug: Bug Fix

  • fix(text, shape): Hide generated text element from assistive technologies #1551

:trophy: Contributors

v2.12.1 (2022-07-07)

:bug: Bug Fix

  • fix(brush): resize brush selection when chart resizes #1536

:trophy: Contributors

v2.12.0 (2022-07-06)

:rocket: Enhancements

  • feat(brush): add renderBrushHandle #1495

:trophy: Contributors

v2.11.1 (2022-06-29)

:bug: Bug Fix

  • fix(demo,shape): fix SplitLinePath key #1531

:trophy: Contributors

v2.11.0 (2022-06-28)

:rocket: Enhancements

  • feat(xychart): support onPointerDown event #1440

:trophy: Contributors

v2.10.2 (2022-06-28)

:house: Internal

  • chore: Update deps for react-spring to specific target #1530

:trophy: Contributors

v2.10.1 (2022-06-08)

:bug: Bug Fix

  • fix(brush): vertical brush with useWindowMoveEvents #1522

:trophy: Contributors

v2.10.0 (2022-05-03)

:rocket: Enhancements

  • deps: Update to support React 18 #1483
  • new(react-spring): add tickLineProps to AnimatedTicks #1490
  • feat(xychart): add colorAccessor to LineSeries #1489

:memo: Documentation

  • docs: add WHO in the wild #1486

:trophy: Contributors

v2.9.2 (2022-04-28)

:bug: Bug Fix

  • fix(xychart, react-spring): fix duplicate key warning in Axis/Grid #1485

:trophy: Contributors

v2.9.1 (2022-04-27)

:bug: Bug Fix

  • fix(xychart): fix typo #1460

:memo: Documentation

:trophy: Contributors

v2.9.0 (2022-01-27)

:rocket: Enhancements

  • new(annotation): add HtmlLabel demo, add containterStyle prop #1424

:memo: Documentation

  • new(annotation): add HtmlLabel demo, add containterStyle prop #1424

:house: Internal

  • new(annotation): add HtmlLabel demo, add containterStyle prop #1424

:trophy: Contributors

v2.8.0 (2022-01-26)

:house: Internal

  • deps: replace resize-observer-polyfill with @juggle/resize-observer #1422

:trophy: Contributors

v2.7.1 (2022-01-24)

Uncategorized

  • fix(responsive): remove global ResizeObserver type declaration #1423

:trophy: Contributors

v2.7.0 (2022-01-21)

:rocket: Enhancements

  • Annotation label <foreignobject> render #1383

:trophy: Contributors

v2.6.1 (2022-01-20)

:bug: Bug Fix

  • fix(zoom): avoid 2x scale invocations on wheel end #1420

:trophy: Contributors

v2.6.0 (2022-01-20)

:rocket: Enhancements

  • new(drag): Add restrictToPath as a Drag parameter #1379

:memo: Documentation

  • Removed $ sign from Usage in Readme #1397

:trophy: Contributors

v2.5.0 (2021-11-11)

:rocket: Enhancements

  • new(drag): add options to restrict <Drag> area and control snapToPointer behaviour #1368

:trophy: Contributors

v2.4.1 (2021-11-11)

:bug: Bug Fix

  • fix(responsive): fix shallow equality check on default array value for ParentSize #1370

:trophy: Contributors

v2.4.0 (2021-11-10)

:rocket: Enhancements

  • new(xychart): distinguish nearestDatum in renderGlyph #1294
  • new(shape/BarRounded): export useBarRounded, support render functions #1097
  • new(xychart/BarSeries,BarGroup,BarStack): add support for bar radius #1098

:bug: Bug Fix

:memo: Documentation

:trophy: Contributors

v2.3.0 (2021-11-02)

:rocket: Enhancements

  • new(text): Add 'shrink-only' option to 'scaleToFit' #1362

:trophy: Contributors

v2.2.2 (2021-10-27)

:bug: Bug Fix

  • fix(tooltip): mount TooltipWithBounds before adding transform #1367
  • fix(zoom): better handling of simultaneous drag and scale #1361

:memo: Documentation

  • docs: add note about dangers of rendering divs within svg #1354
  • docs(scale): Add note on scaleLog domain not containing 0 #1363
  • docs(tooltip): remove incorrect handler from readme example #1366

:trophy: Contributors

v2.2.1 (2021-10-13)

:bug: Bug Fix

  • Round up instead of down on text width within Label to avoid unnecessary wrapping #1353

:trophy: Contributors

v2.2.0 (2021-10-13)

:rocket: Enhancements

  • Allow specifying zIndex for tooltip portals #1346

:trophy: Contributors

v2.1.2 (2021-10-11)

:house: Internal

  • deps: bump all dev config #1301

:trophy: Contributors

v2.1.1 (2021-09-10)

:house: Internal

  • deps: bump lodash throughout #1341

:trophy: Contributors

v2.1.0 (2021-08-17)

:rocket: Enhancements

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

:bug: Bug Fix

  • fix(scripts/performRelease): fix alpha release logic #1310

:boom: Breaking Changes

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

:house: Internal

  • fix(scripts/performRelease): fix alpha release logic #1310

:trophy: Contributors

v1.18.1 (2021-07-21)

:bug: Bug Fix

  • fix(brush, drag): call start callbacks consistently, support mobile #1286

:trophy: Contributors

v1.18.0 (2021-07-21)

:rocket: Enhancements

  • new(xychart/tooltip): add renderGlyph property #1255

:trophy: Contributors

v1.17.1 (2021-07-20)

:bug: Bug Fix

  • fix: remove @types/classnames #1281

:trophy: Contributors

v1.17.0 (2021-07-08)

:rocket: Enhancements

  • new(axis): enable customization of tickLineProps #1211

:trophy: Contributors

v1.16.1 (2021-07-07)

:bug: Bug Fix

  • fix(xychart): support fragment and array type children of stacks/groups #1259

:trophy: Contributors

v1.16.0 (2021-07-02)

:rocket: Enhancements

  • feat(shape): add more segmentation for SplitLinePath #1261

:bug: Bug Fix

  • feat(shape): add more segmentation for SplitLinePath #1261

:trophy: Contributors

v1.15.0 (2021-07-01)

:rocket: Enhancements

  • feat(brush): add using widows move events with brush #1164

:trophy: Contributors

v1.14.1 (2021-07-01)

:bug: Bug Fix

  • fix(zoom): fix provided zoom interface #1257

:memo: Documentation

  • Add Data 2 the People to In the Wild list #1256

:trophy: Contributors

v1.14.0 (2021-06-25)

:rocket: Enhancements

  • feat(scale): support rounding for symlog #1252
  • feat(animatedaxis): add tickComponent support (#977) #1228

:bug: Bug Fix

  • build: skip release workflow when in forked repo #1251

:house: Internal

  • build: skip release workflow when in forked repo #1251
  • build: run happo on push #1254

:trophy: Contributors

v1.13.0 (2021-06-16)

:rocket: Enhancements

  • new(geo): pass projection to child override, add U.S.A. demo #1236

:bug: Bug Fix

  • new(geo): pass projection to child override, add U.S.A. demo #1236

:memo: Documentation

  • docs(xychart): fix typos #1232

:trophy: Contributors

v1.12.0 (2021-06-03)

:rocket: Enhancements

  • new(shape): support dynamic fill directly in Pie #1225

:trophy: Contributors

v1.11.2 (2021-05-21)

:bug: Bug Fix

  • fix(xychart/Tooltip): bail early when tooltip is closed #1213

:trophy: Contributors

v1.11.1 (2021-05-19)

:bug: Bug Fix

  • fix(scale): upgrade d3-time to v2.4 for d3-scale compatibility #1219

:memo: Documentation

  • docs(shape): fix docs fror BarGroup, BarGroupHorizontal, and BarStack #1212

:trophy: Contributors

v1.11.0 (2021-05-13)

:rocket: Enhancements

  • new(@visx/zoom): adjust drag move to take optional offset #1180

:bug: Bug Fix

  • new(@visx/zoom): adjust drag move to take optional offset #1180

:trophy: Contributors

v1.10.1 (2021-05-12)

:bug: Bug Fix

  • fix(responsive): don't call resize.cancel if we never initialised #1208

Uncategorized

  • Update pull_request.yml #1209

:trophy: Contributors

v1.10.0 (2021-05-03)

:rocket: Enhancements

  • fix(@visx/text) Bad size measurements in Firefox #1175

:bug: Bug Fix

  • fix(@visx/text) Bad size measurements in Firefox #1175

Uncategorized

:trophy: Contributors

v1.9.1 (2021-04-22)

:bug: Bug Fix

  • fix(grid,xychart): account for scale bandwidth in offsets #1181

:trophy: Contributors

v1.9.0 (2021-04-16)

:rocket: Enhancements

  • fix(visx/annotation) Improve label positioning, add maxWidth #1127

:bug: Bug Fix

  • fix(visx/annotation) Improve label positioning, add maxWidth #1127

:memo: Documentation

  • development(contributing): update docs to rebuild single packages #1170

:trophy: Contributors

v1.8.0 (2021-04-15)

:rocket: Enhancements

  • new(shape/Polygon): add optional 'points' override #1156

:trophy: Contributors

v1.7.4 (2021-04-13)

:bug: Bug Fix

  • fix(brush): use PointerEvents instead of MouseEvents #1155

:trophy: Contributors

v1.7.3 (2021-04-06)

:bug: Bug Fix

  • fix(xychart): onPointerUp fires twice #1135

:memo: Documentation

  • docs: Add Pry to In the Wild list #1115

:trophy: Contributors

v1.7.2 (2021-03-18)

:bug: Bug Fix

  • fix(tooltip, annotation): bump react-use-measure to ^2.0.4. fixes #1091 #1116

:trophy: Contributors

v1.7.1 (2021-03-17)

:bug: Bug Fix

  • fix(xychart/TooltipProvider): handles NaNs in nearestDatum logic #1112

:house: Internal

  • internal(workflows/release): add next dist-tag, fix lerna releases #1107
  • fix(workflows/push): fix yaml syntax #1108
  • fix(scripts/performRelease): add comment, fix typo #1113

:trophy: Contributors

v1.7.0 (2021-03-12)

:rocket: Enhancements

  • Export types in @visx/text #1106

:bug: Bug Fix

  • fix(xychart/Tooltip): don't render glyph for null data #1102
  • fix(shape, xychart): default LinePath strokeLinecap to round #1105

:house: Internal

  • deps(lerna): bump to 3.22.0 #1103

:trophy: Contributors

v1.6.1 (2021-03-08)

:bug: Bug Fix

  • fix(network): string type in node/linkComponent #1078
  • fix(xychart/Axis): export AxisScale type, set default Scale generic #1094

:memo: Documentation

  • fix(network): string type in node/linkComponent #1078

:house: Internal

  • build(happo): decrease compare threshold #1088
  • new(workflows/push): automate releases #1073

:trophy: Contributors

v1.6.0

:rocket: Enhancements

  • [xychart] add x/y0Accessor functions to support AreaSeries bands #1071

:bug: Bug Fix

  • [xychart] make AnnotationLabel's make dataKey optional #1072
  • [annotation] account for fontFamily in Label styles so Text uses it in its size calculations #1072

:trophy: Contributors

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
  • [mock-data] add stable randomness #1033
  • [xychart] add AreaStack #1019 closes #994
  • [visx/visx] export @visx/xychart package #1043 closes #974
  • [axis] pass all tick values in tickLabelProps signature #1044

:bug: Bug Fix

  • [xychart] improve Tooltip positioning with missing data #1068 closes #1054
  • [xychart] make Tooltip postion robust to container changes #1045 closes #983
  • [xychart] fix scales for BarStack offset #1019
  • [xychart] add SVGPathElement props to BaseAreaSeries lineProps #1046

:memo: Documentation

  • sync code of conduct with Airbnb #1013
  • [demo/*] respect prefersReducedMotion #1037
  • [demo/barstack] improve Tooltip positining logic #1018 closes #1018
  • [demo/xychart] add AreaStack, stackOffset control #1020
  • [in the wild] add eft.monster #1010

:house: Internal

  • [testing] add happo for screenshot testing #1030
  • [xychart/areastack] add tests #1036
  • [CI] add package size checks + auto gallery deploy #1048

:trophy: Contributors

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
  • [xychart] add colorAccessor to relevant series #1005, closes #996
  • [xychart] include zero in scale domains by default #1008

:bug: Bug Fix

  • [xychart] fix scale options not applied in XYChart #987, closes #986
  • [xychart] expose more AnnotationLineSubject types, fix strokeWidth application #991
  • [annotation] fix application of object type Label props.backgroundPadding, add default anchorLineStroke #989
  • [stats] fix handling of 0 in BoxPlot valueScale #993
  • [xychart] enable style overflow in crosshairs #997

:memo: Documentation

  • [xychart] add advanced usage sandbox examples #972
  • [xychart] fix missing #972
  • [annotation] add docs for Label #989

:trophy: Contributors

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
  • [scale] add scaleRadial #958
  • [text] add useText hook, refactor Text to use it #946
  • [event] support FocusEvents in localPoint #956
  • [xychart] release package #965
  • [xychart] add PointerEvent handlers to XYChart, all Series #947
  • [xychart] add support for FocusEvents #959
  • [xychart] integrate Annotations #938

:bug: Bug Fix

  • [shape] set y0 when it equals zero #955

:memo: Documentation

  • [xychart] add README and /docs/xychart to demo site #963
  • [demo] fix view demo hover pointer style #929
  • [tooltip] fix offsetTop documentation #970

:house: Internal

  • [xychart] add FocusEvent tests #962
  • [xychart] add PointerEvent tests #952
  • [xychart] add Annotations tests #948

:trophy: Contributors

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, closes #577
  • [annotation] add new Annotation components (Annotation, EditableAnnotation, Label, CircleSubject, LineSubject) #907
  • [drag] add useDrag hook #902
  • [drag] allow x,y,dx,dy overrides in useDrag + Drag #906, closes #905
  • [annotation] add canEditSubject, canEditLabel to EditableAnnotation #919
  • [xychart (unpublished)] make DataProvider optional #913
  • [xychart (unpublished)] expose curve types in BaseAreaSeries, BaseLineSeries #899
  • [xychart (unpublished)] handle rendering + tweening missing values #898
  • [xychart (unpublished)] add (Animated)GlyphSeries #885
  • [xychart (unpublished)] add AreaSeries + AnimatedAreaSeries #878
  • [xychart (unpublished)] add AnimatedLineSeries #874
  • [xychart (unpublished)] add Animated(BarSeries, BarStack, BarGroup) #873

:bug: Bug Fix

  • [shape] conditionally render Arc without data #937

:memo: Documentation

  • [demo/annotation] add annotation demo #909
  • [demo] visx rebrand, move to github pages #890, fixes #850 #861
  • [in the wild] add tokenizedbtc #931

:house: Internal

  • [deps] next@9.5.4 #915, #916
  • [ci] remove .travis.yml #891
  • [xychart (unpublished)] add Annotation tests #912
  • [xychart (unpublished)] add missing data tests #900

:trophy: Contributors

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 closes #855
  • [shape] set Line shapeRendering to crispEdges if rectilinear #840
  • [network] apply fill & radius to DefaultNode #859
  • [tooltip] add applyPositionStyle prop so users don't have to set absolute positioning when unstyled=true #857
  • [responsive] add initialWidth and initialHeight to withParentSize #836 closes #554
  • [responsive] add ignoreDimensions prop to optimize re-renders #834 closes #247
  • [xychart (unpublished)] add BarSeries #808
  • [xychart (unpublished)] add BarGroup #870 #871
  • [xychart (unpublished)] add BarStack #865 #866
  • [xychart (unpublished)] add EventEmitterContext, TooltipContext #825
  • [xychart (unpublished)] add Tooltip #852

:bug: Bug Fix

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

:house: Internal

  • [responsive] refactor ParentSize to function component #834
  • [text] improve test coverage #833
  • [pattern] remove code duplication #838

:memo: Documentation

  • [in the wild] add Wall Street Journal: Americans Familiarize Themselves with the Word ‘Forbearance’ #843
  • [in the wild] add dollar-to-food-emoji #860
  • [in the wild] remove deadlinks, add Taiwan Real-time Air Quality Index #867
  • [project readme] fix typos #826

:trophy: Contributors

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, #803

:memo: Documentation

:boom: Breaking Changes

  • [all packages] vx-... classNames are renamed to visx-... #803
  • [demo] existing codesandbox links which reference vx-demo directory structure will break #803
  • [tooltip] className="vx-tooltip-portal" => visx-tooltip (so as not to be confused with the new TooltipInPortal) #803

:bug: Bug Fix

  • [demo] fix /axis codesandbox dependency #799

:trophy: Contributors

@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 Instead of
      scaleLinear({ rangeRound: xxx })
    Do this instead
      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
  • [scale] Remove scale.type field that was attached to the d3 scales. #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
  • [grid] Renames GridColumnProps => GridColumnsProps (+s) to match GridRowsProps. #787
  • [legend] Update generic types for legend components. #777
  • [marker] remove old <Marker /> implementation of a Line and some Text. #783

:rocket: Enhancements

  • [scale] new functions & New fields for the scale configs. #766
  • [scale] add meta scale types. #770
  • [scale] Add fallback overload for createScale. #791
  • [scale] add new types: AnyD3Scale, InferD3ScaleOutput, InferD3ScaleDiscreteInput, InferD3ScaleThresholdInput and ScaleInput. Add new utilities functions: getTicks, coerceNumber and toString. #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
  • [legend] exports @vx/legend shapes from the index for convenience / non-deep imports. #772
  • [grid] adds children prop to GridRows + GridColumns to support animated rendering. #787
  • [shape] add <BarRounded /> shape. #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
  • [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
  • [axis] consistent and compatible typings across vx/scale and vx/axis. More fields passed to child render props of Axis. #773
  • [axis] Axis is refactored to accept a ticksComponent which allows us to animate them. #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
  • [marker] add new <Marker /> that matches actual SVG <marker>. #783
  • [marker] add <MarkerArrow />, <MarkerCross />, <MarkerX />, <MarkerCircle />, <MarkerLine />. #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
  • [react-spring] Adds an <AnimatedAxis /> and <AnimatedTicksRender /> in @vx/react-spring. #779
  • [react-spring] updates the vx-demo/axis demo to use <AnimatedAxis />. #779
  • [react-spring] adds AnimatedGridRows + AnimatedGridColumns. #787
  • [react-spring] modularizes AnimatedTicks/useAnimatedTicksConfig to spring-configs/useAnimatedLineTransitionConfig so it can power both animated tick + grid lines. #787
  • [react-spring] adds animationTrajectory=outside | inside | min | max to AnimatedAxis and AnimatedGridRows/Columns. #787

:bug: Bug Fix

  • [responsive] exclude enableDebounceLeadingCall prop being passed into div. #763
  • [responsive] fix prettier format. #764
  • [text] fix warning for NaN or invalid values are passed as x or y. #790

:memo: Documentation

  • [scale] Improve documentation of the fields in scale configs. #766

:house: Internal

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

:trophy: Contributors

 - @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
  • feat(responsive): add leading option to resize debounce #754
  • feat(axis): use numTicks when falling back on scale.domain #752
  • feat(pattern): add diagonal right to left pattern #744
  • feat(legend): add Line shape, legendLabelProps, and more props in renderShape #749

💥 Breaking Changes

  • feat(responsive): resize debounce now defaults to true which will result in an additional render #754
  • feat(tooltip): add offsetLeft/Top to TooltipProps, making TooltipProps === TooltipWithBoundsProps, adds additional 10px of padding to Tooltip left/top #756

:bug: Bug Fix

  • fix(responsive): remove debounced calls after unmounnt #558

:house: Internal

  • (demo): add static export deploys #741

:trophy: Contributors

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
  • perf(tooltip): use useCallback in useTooltip #668

:bug: Bug Fix

  • fix(zoom): fix zoom.dragMove on touchmove event y-coord #725

:memo: Documentation

:house: Internal

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

:trophy: Contributors

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

:rocket: Enhancements

  • [brush] Add initialBrushPosition #618, fix in #667

💥 Breaking Changes

  • [tooltip] Add ability to remove tooltip default styles #666. If styles were applied previously, you will also need to spread defaultStyles:
// 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

: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

:rocket: Enhancements

  • [brush] Add resetOnEnd prop #614
  • [tooltip] Add hook for custom Tooltip container to support SVG tooltips #610
  • [scale] Add sqrtScale #615

:bug: Bug Fix

  • [zoom] Don't use stale zoom constraint prop #578
  • [responsive] Don't render withParentSize base component until size is known #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 for a full list of issues + PRs.

:trophy: Contributors

: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
  • [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
  • [drag] #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
  • [shape] #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 functions. 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
  • [network] #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
    • 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
  • [hierarchy] now has a peerDep react@^16.3 for React.Fragment, dropping support for react@^15 #524
  • [threshold] makes the Threshold id prop required #533
  • [geo] now has a peerDep react@^16.3 for React.Fragment, dropping support for react@^15 #537
  • [legend] #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
    • 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
  • [text] Remove deprecated lifecycles used in Text #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 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

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 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

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 the behavior of a collapsed domain. See this comment for how to handle the updated behavior. #477
  • [text] Don't split strings rendered by <Text /> when encountering a set of non-breaking space characters. #460

:rocket: Enhancements

  • [group] add innerRef prop. #480
  • [scale] bump d3-scale dep to ^2.2.2 for scaleSymlog. #477
  • [scale] add scaleSymlog. #470

:bug: Bug Fix

  • [stats] fix horizontal boxplot in @vx/stats. #476
  • [boxplot] fix horizontal boxplot in @vx/boxplot. #472
  • [heatmap] remove bin.x0. The x0 offset is accounted for in bin.x. #475

:memo: Documentation

  • [docs][group] add innerRef prop. #480
  • [axis] fix tickLabelProps() prop default args for docs. #478
  • [glyph] remove outdated readme description. #478
  • [docs] run doc:gen script. #478

:trophy: Contributors

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
  • [zoom] make wheel event active by default. fixes Chrome 73 scroll intervention warning. #456
    • To keep the default behavior before Chrome 73 and remove console warnings in Chrome 73, remove:
      <MyComponent
      - onWheel={zoom.handleWheel}
      />
    • To make the onWheel events passive, add:
      <Zoom
      + passive={true}
      >
        {zoom => {
          return (
            <MyComponent
      +      onWheel={zoom.handleWheel}
            /> 
          );
        }}
      </Zoom>

:rocket: Enhancements

  • [responsive][shape][text][geo] update innerRef propType to include PropType.object. #446

:bug: Bug Fix

  • [text] move Babel dependencies to dev only. #461
  • [shape] <Arc /> now respects 0 as an allowed prop value. #464
  • [shape] <Pie /> pieValue now respects 0 as an allowed prop value. #464

:memo: Documentation

  • [docs] update docs. #446
  • [glyph] fixes outdated @vx/glyph examples in the readme docs. #454

:house: Internal

  • [internal] fix jest code coverage, update jest, move to babel.config.js + jest.config.js. #439
  • [internal] babel preset env target explorer => ie. #446
  • [internal] babel preset env target remove ucandroid. #446
  • [shape] add more <Arc /> tests. #464
  • [shape] convert Arc.test from CRLF => LF. #464

:trophy: Contributors

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

:trophy: Contributors

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

:memo: Documentation

  • [demo] add <CustomProjection /> tile. #434

:house: Internal

  • [geo] add <CustomProjection /> test. #435

:trophy: Contributors

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
  • [demo] fixed broken BarStacks example. Bar Stack Horizontal example works correct, but BarStack for some reason uses ({ barStacks }) instead of barStacks. #423

:bug: Bug Fix

:trophy: Contributors

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
  • [mock data] add genPhyllotaxis(). #418

:trophy: Contributors

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
  • [geo] add equalEarth projection in d3-geo to @vx/geo. #407

:bug: Bug Fix

  • [shape] fix proptype for LinePath defined prop. Should use oneOfType rather than oneOf. #414
  • [demo] remove unnecessary destructuring of props in demo code. #409
  • [responsive] fix proptype for ScaleSVG children prop. #408

:memo: Documentation

  • [tooltip] fix tooltip docs. #403

:trophy: Contributors

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

:memo: Documentation

  • [docs] use react-docgen to generate docs from prop-types and comments. #399
  • [responsive][docs] add innerRef prop docs. #400
  • [threshold][docs] update clipAboveTo and clipBelowTo prop types to number|func. #401

:house: Internal

:trophy: Contributors

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

:memo: Documentation

  • [gallery] add <BarStackHorizontal /> example code back. #387
  • [readme] add a new demo of a project using vx components. #391

:house: Internal

:trophy: Contributors

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

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
  • [grid] allow passing in rowTickValues prop and columnTickValues prop to Grid. #376
  • [grid] update vx-grid's Readme.md to reflect the changes above.#376

:bug: Bug Fix

  • [grid] updates strokeWidth propTypes in the @vx/grid components to allow numbers in addition to strings. #380

:trophy: Contributors

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

:rocket: Enhancements

  • [vx] add missing propTypes to all components. #371

:house: Internal

  • [vx] add .eslintrc. #371
  • [vx] fix all eslint errors + warnings. #371

:trophy: Contributors

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
  • [legend] add optional flex prop for overriding flex css property to <LegendLabel />. #370
  • [shape] add support for non-scaleBand scales to <BarStack /> and <BarStackHorizontal />. #368

:bug: Bug Fix

  • [legend] allow overriding flex property to fix IE flexbox bug. 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

:trophy: Contributors

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, #365

:trophy: Contributors

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

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

: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
  • [text] change measurement svg display: none => position: absolute and position the svg offscreen. #358

:rocket: Enhancements

  • [shape] add <Polygon /> component. #355

:memo: Documentation

  • [demo] update /boxplot example code. #354
  • [demo] add /polygons example. #355

:house: Internal

  • [dev] add linting. #346

:trophy: Contributors

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

:memo: Documentation

  • [demo] update heatmap example code to match new api. #340

:trophy: Contributors

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

:rocket: Enhancements

  • [text] add innerRef prop. #339

:memo: Documentation

  • [docs] add code coverage demo to readme. #337

:trophy: Contributors

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

:memo: Documentation

  • [network] remove unrelated docs from readme. #330

:trophy: Contributors

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

:trophy: Contributors

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
  • [shape] add optional y0 prop to <AreaClosed /> for custom area fills. #319

:bug: Bug Fix

  • [group] <possibly breaking change> fix <Group /> classname. should be vx-group, not cx-group. #316

:memo: Documentation

  • [docs] run readme docs sync. #325
  • [stats] update @vx/stats readme name to stats. #324
  • [shape] add docs for <BarGroup /> and <BarGroupHorizontal />. #320

:trophy: Contributors

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

:trophy: Contributors

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

:trophy: Contributors

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

:trophy: Contributors

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
  • [demo][shape] add chord demo, fix prop types. #308
  • [shape] updated accessors to pass all the arguments from D3 for LinePath, AreaClosed, and Area. #309
  • [heatmap] add index + yBin to heatmap circle/rect. #307
  • [geo] add Natural Earth (1) projection. #304

:memo: Documentation

  • [shape] Updated documentation for LinePath and AreaClosed. #309

:trophy: Contributors

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

:house: Internal

  • [build] use rollup for build #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 + 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)
    • keeps build/ with cjs babel build files for deep paths (no breaking changes 🤞)

:trophy: Contributors

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
  • [shape] Add support for pieSortValues prop. This maps to d3’s pie.sortValues() which lets you sort by extracted values instead of data. #292

:bug: Bug Fix

  • [shape] Add actual support for startAngle and endAngle props in the Pie component. #292
  • [shape] Check for != null for numeric props in Pie component. #292

:memo: Documentation

  • [shape] Fix LineRadial link. #297
  • [shape] Make <code> inside headings bigger than <code> inside paragraphs so components headings are actually clearer as such… #297
  • [shape] Add Pie documentation. #297

:white_check_mark: Tests

  • [shape] Add tests for sort callbacks in the Pie component. #292

:trophy: Contributors

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

:trophy: Contributors

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
  • [grid] add support for band scales #282
  • [shape] now supports function as children #285

:memo: Documentation

  • [demo] add /threshold demo #285
  • [demo] demo band scale grid on /barstack #282

:trophy: Contributors

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, following d3's lead in release 5.0.0. #270
  • [scale] The following files/tests/documentation are no longer part of @vx/scale: schemeCategory10, schemeCategory20, schemeCategory20b, schemeCategory20c. #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
  • [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

:memo: Documentation

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

:house: Internal

  • Add configuration for Prettier and format the existing codebase. #275
  • Add pre-commit hook to format changed files before commits. #275
  • [docs] fix npm run docs script. #281

:trophy: Contributors

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

:rocket: Enhancements

  • [shape] export link path generators. fixes: #263. #265
  • [shape] add optional path prop so you can pass in path generator function instead of creating the generator every render. #265

:trophy: Contributors

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

Example:

<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

Example:

<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:

tickComponent({ x, y, formattedValue, ...tickLabelPropsObj })

:memo: Documentation

  • [axis] update @vx/axis documentation. #260
  • [demo] fix bargroup example code. #250
  • [demo] fix barstack example code. #249
  • [text] fix readme.md of @vx/text package. #257

:trophy: Contributors

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
  • [tooltip] <TooltipWithBounds /> now also reconsiders window bounds #240

:house: Internal

  • [demo] fix streamgraph transparent fill #242

:trophy: Contributors

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

:memo: Documentation

  • [demo] update drag demos, add touch-action: none on drag demos so no scrolling when dragging #233

:trophy: Contributors

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

:memo: Documentation

  • [demo] add /drag-ii demo of a drawboard made with drag #231

:trophy: Contributors

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

:trophy: Contributors

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

:trophy: Contributors

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

:trophy: Contributors

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

:memo: Documentation

  • [demo] add vx-text tile and update /text demo #214
  • [responsive] add description and example of each component and enhancer #217

:bug: Bug Fix

  • [text] fix memoized getStringWidth ignoring styles #215
  • [text] remove default width and height from measurement SVG #219
  • [scale] fix scalePower api to take in exponent instead of base #223

:house: Internal

:trophy: Contributors

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.
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

:rocket: Enhancements

  • [geo] Added pointRadius and fixed center #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

:memo: Documentation

  • [responsive] Backticks import not working so, copy paste broken #212

:house: Internal

  • [text] Update vx-text author to @techniq #210
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

:bug: Bug Fix

  • [demo] add overflow hidden on flex: 1 <ParentSize /> parents #206
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
  • [tooltip] fix tootlip with bounds offset #204
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

:rocket: Enhancements

  • [tooltip] add offset props to <TooltipWithBounds />. #193
  • [shape] Add support for step, curve, and line links. #194
  • [responsive] add <ParentSize /> component. #198
  • [stats] added vx-stats for statistic related glyphs (boxplot and violinplot). #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
  • [demo] add /responsive gallery tile + page. #198
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

:memo: Documentation

  • [demo] add <BarStackHorizontal /> #185
  • [demo] tile updates #186

:house: Internal

  • [shape] remove build/index.js #186
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
  • [demo] add Radar chart #180
  • [axis] add additional tests #161

:bug: Bug Fix

  • [axis] less restrictive tickValue propTypes #184
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

🚀 Enhancements

  • [demo] add <Pack /> and <Treemap /> demo tiles + pages. #179
  • [mock] add exoplanets, planets, and shakespeare mocks. #179

🐛 Bug Fix

  • [hierarchy] rename <Partition /> classnames from vx-pack => vx-partition. #179
  • [hierarchy] export partition, treemap, and pack from index. #179
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

:rocket: Enhancement

  • [hierarchy] add <Pack />, <Partition />, & <Treemap /> #173

:house: Internal

  • [deps][tests] use react 16 dev dep, enzyme 3, jest 21. fix tests. #178
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

:memo: Documentation

  • [demo] fix typo on /, fix areas tile details #169
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
  • [axis] render prop for axis, full control over rendering #165
  • [event] add touch event support to localPoint(), find owner svg for single arity call #167

:bug: Bug Fix

  • [shape] fix typo in stack order enum #164
  • [legend] fix legend threshold #166
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
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

:bug: Bug Fix

  • [legend] fix legend style prop #151
  • [hierarchy] fix name collisions #147

:memo: Documentation

  • [hierarchy] update links and descriptions in readme #148
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

:memo: Documentation

  • [hierarchy] add readme for vx/hierarchy #136

:house: Internal

  • [vx][pkg] bump lerna 2.0.0-beta.38 => 2.1.2 #145
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
  • [bounds] move react-dom to peerDeps #132
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 #129
  • [demo][docs] sync vx-demo site documentation with packages #125
  • [gradient][pattern] fix typos #121
  • [demo] updated geo + network tiles #120
  • [event] add touch point #116
  • [gradient] Add minimal rendering tests #114
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
  • [network] add @vx/network #113
  • [demo] fix invalid JSX #118
  • [network][geo][demo] polish for v0.0.135 #119
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
  • [tooltip] add <TooltipWithBounds /> and PropTypes to @vx/tooltip exports #108
  • [demo] use @vx/geo version in deps #106
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.
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
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
  • [boxplot] add docs #102
  • [shape] add x-value mouseover to area demo #103
  • [grid] add styles and restProps support for grid lines #103
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
  • [Axis] Add tests to Axis.test.js #94
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
  • [bounds] add @vx/bounds package with withBoundingRects() HOC #91
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
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
  • [mock data] add genBoxPlot() #89
  • [tooltip] fix pass through style and restProps #89
  • [shape] fix BarStack.test.js #88
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
  • [glyph] put classname on the <path> not on <g> #87
  • [mock data] add mock/bitcoinPrice #87
  • [demo] add tooltip demo to dots and barstack, add legend to barstack #87
  • [shape] update data passed to each bar in <BarStack /> #87

v0.0.125

  • ignore this one, lerna publish failed midway through

v0.0.124

  • [glyph] add remaining d3 symbols #84 + #81
  • [gradient] add horizontal linear gradients, make more flexible #82
  • [axis] export orientation constants #80
  • [legend] fix proptypes check on shape prop #82
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
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
Changes:
- @vx/demo: 0.0.122 => 0.0.122
- @vx/voronoi: 0.0.0 => 0.0.122

v0.0.121

  • add @vx/legend #77
  • add scaleQuantize, scaleQuantile, scaleThreshold
  • added GlyphCross but it's not working yet
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
  • add missing restProps + additionalProps to shape & glyph #76
  • set AreaClosed y0 to the range's start not 0 #45
  • add strokeDashoffset prop to LinePath #70
  • replace lodash per-method packages with scoped imports #66
  • add tests for pattern circles #63
  • add @vx/clip-path #61
  • fix axis label transform #59
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

general

  • added jest + enzyme tests & travis + coveralls ci

v0.0.113

@vx/axis

  • axis labels and tickLabels are now passed in as components #31example diff

@vx/group

  • added transform prop #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

@vx/annotation, @vx/pattern

  • added prop-types #30