├── .editorconfig
├── .eslintrc
├── .gitattributes
├── .gitignore
├── .prettierrc
├── .stylelintrc
├── .travis.yml
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── DEPRECATED.md
├── LICENSE
├── README.md
├── ROADMAP.md
├── babel.config.json
├── docs
├── animation.md
├── arc-series.md
├── area-series.md
├── assets
│ ├── gridlines-over.png
│ ├── gridlines-under.png
│ ├── react-vis-in-codepen.png
│ ├── react-vis.gif
│ └── your-first-chart.png
├── axes.md
├── bar-series.md
├── borders.md
├── chart-label.md
├── clip.md
├── colors.md
├── contour-series.md
├── crosshair.md
├── custom-svg-series.md
├── decorative-axis.md
├── examples
│ ├── building-things-other-than-charts.md
│ ├── extensibility.md
│ ├── iris-dashboard.md
│ ├── responsive-vis.md
│ ├── showcases
│ │ ├── axes-showcase.md
│ │ ├── legends-showcase.md
│ │ ├── misc-showcase.md
│ │ ├── plots-showcase.md
│ │ ├── radar-chart-showcase.md
│ │ ├── radial-showcase.md
│ │ ├── sankeys-showcase.md
│ │ ├── sunburst-showcase.md
│ │ └── treemaps-showcase.md
│ └── stream-graph.md
├── flexible-plots.md
├── getting-started
│ ├── getting-started.md
│ ├── installing-react-vis.md
│ ├── new-react-vis-project.md
│ ├── react-vis-in-codepen.md
│ └── your-first-chart.md
├── gradients.md
├── grids.md
├── heatmap-series.md
├── hexbin-series.md
├── highlight.md
├── hint.md
├── interaction.md
├── label-series.md
├── legends.md
├── line-mark-series.md
├── line-series.md
├── mark-series.md
├── parallel-coordinates.md
├── polygon-series.md
├── presentation.md
├── radar-chart.md
├── radial-chart.md
├── rect-series.md
├── sankey.md
├── scales-and-data.md
├── series.md
├── style.md
├── sunburst.md
├── treemap.md
├── voronoi.md
├── whisker-series.md
└── xy-plot.md
├── package.json
├── packages
├── react-vis
│ ├── .babelrc.json
│ ├── build-browser.sh
│ ├── jest.config.js
│ ├── jest.setup.js
│ ├── jestBabelTransform.js
│ ├── package.json
│ ├── src
│ │ ├── animation.js
│ │ ├── index.js
│ │ ├── legends
│ │ │ ├── continuous-color-legend.js
│ │ │ ├── continuous-size-legend.js
│ │ │ ├── discrete-color-legend-item.js
│ │ │ ├── discrete-color-legend.js
│ │ │ └── searchable-discrete-color-legend.js
│ │ ├── main.scss
│ │ ├── make-vis-flexible.js
│ │ ├── parallel-coordinates
│ │ │ └── index.js
│ │ ├── plot
│ │ │ ├── axis
│ │ │ │ ├── axis-line.js
│ │ │ │ ├── axis-ticks.js
│ │ │ │ ├── axis-title.js
│ │ │ │ ├── axis.js
│ │ │ │ ├── decorative-axis-ticks.js
│ │ │ │ ├── decorative-axis.js
│ │ │ │ ├── x-axis.js
│ │ │ │ └── y-axis.js
│ │ │ ├── borders.js
│ │ │ ├── chart-label.js
│ │ │ ├── circular-grid-lines.js
│ │ │ ├── content-clip-path.js
│ │ │ ├── crosshair.js
│ │ │ ├── gradient-defs.js
│ │ │ ├── grid-lines.js
│ │ │ ├── highlight.js
│ │ │ ├── hint.js
│ │ │ ├── horizontal-grid-lines.js
│ │ │ ├── series
│ │ │ │ ├── abstract-series.js
│ │ │ │ ├── arc-series.js
│ │ │ │ ├── area-series.js
│ │ │ │ ├── bar-series-canvas.js
│ │ │ │ ├── bar-series.js
│ │ │ │ ├── canvas-wrapper.js
│ │ │ │ ├── contour-series.js
│ │ │ │ ├── custom-svg-series.js
│ │ │ │ ├── heatmap-series.js
│ │ │ │ ├── hexbin-series.js
│ │ │ │ ├── horizontal-bar-series-canvas.js
│ │ │ │ ├── horizontal-bar-series.js
│ │ │ │ ├── horizontal-rect-series-canvas.js
│ │ │ │ ├── horizontal-rect-series.js
│ │ │ │ ├── label-series.js
│ │ │ │ ├── line-mark-series-canvas.js
│ │ │ │ ├── line-mark-series.js
│ │ │ │ ├── line-series-canvas.js
│ │ │ │ ├── line-series.js
│ │ │ │ ├── mark-series-canvas.js
│ │ │ │ ├── mark-series.js
│ │ │ │ ├── polygon-series.js
│ │ │ │ ├── rect-series-canvas.js
│ │ │ │ ├── rect-series.js
│ │ │ │ ├── vertical-bar-series-canvas.js
│ │ │ │ ├── vertical-bar-series.js
│ │ │ │ ├── vertical-rect-series-canvas.js
│ │ │ │ ├── vertical-rect-series.js
│ │ │ │ └── whisker-series.js
│ │ │ ├── vertical-grid-lines.js
│ │ │ ├── voronoi.js
│ │ │ └── xy-plot.js
│ │ ├── radar-chart
│ │ │ └── index.js
│ │ ├── radial-chart
│ │ │ └── index.js
│ │ ├── sankey
│ │ │ ├── index.js
│ │ │ └── sankey-link.js
│ │ ├── styles
│ │ │ ├── examples.scss
│ │ │ ├── legends.scss
│ │ │ ├── plot.scss
│ │ │ ├── radial-chart.scss
│ │ │ └── treemap.scss
│ │ ├── sunburst
│ │ │ └── index.js
│ │ ├── theme.js
│ │ ├── treemap
│ │ │ ├── index.js
│ │ │ ├── treemap-dom.js
│ │ │ ├── treemap-leaf.js
│ │ │ └── treemap-svg.js
│ │ └── utils
│ │ │ ├── axis-utils.js
│ │ │ ├── chart-utils.js
│ │ │ ├── data-utils.js
│ │ │ ├── react-utils.js
│ │ │ ├── scales-utils.js
│ │ │ ├── series-utils.js
│ │ │ └── styling-utils.js
│ └── tests
│ │ ├── .eslintrc
│ │ ├── components.js
│ │ ├── components
│ │ ├── animation.test.js
│ │ ├── arc-series.test.js
│ │ ├── area-series.test.js
│ │ ├── axes.test.js
│ │ ├── axis-tick-format.test.js
│ │ ├── axis-title.test.js
│ │ ├── bar-series.test.js
│ │ ├── borders.test.js
│ │ ├── canvas-component.test.js
│ │ ├── circular-grid-lines.test.js
│ │ ├── color-article.test.js
│ │ ├── contour-series.test.js
│ │ ├── crosshair.test.js
│ │ ├── custom-svg-series.test.js
│ │ ├── data-article.test.js
│ │ ├── decorative-axis.test.js
│ │ ├── gradient.test.js
│ │ ├── grid-lines.test.js
│ │ ├── heatmap.test.js
│ │ ├── hexbin-series.test.js
│ │ ├── highlight.test.js
│ │ ├── hints.test.js
│ │ ├── interaction-article.test.js
│ │ ├── label-series.test.js
│ │ ├── legends.test.js
│ │ ├── line-series-canvas.test.js
│ │ ├── line-series.test.js
│ │ ├── make-vis-flexible.test.js
│ │ ├── mark-series.test.js
│ │ ├── parallel-coordinates.test.js
│ │ ├── polygon-series.test.js
│ │ ├── radar-chart.test.js
│ │ ├── radial.test.js
│ │ ├── rect-series.test.js
│ │ ├── sankey.test.js
│ │ ├── sunburst.test.js
│ │ ├── treemap.test.js
│ │ ├── voronoi.test.js
│ │ ├── whisker-series.test.js
│ │ └── xy-plot.test.js
│ │ ├── index.js
│ │ ├── jsconfig.json
│ │ ├── plot
│ │ ├── __snapshots__
│ │ │ └── content-clip-path.test.js.snap
│ │ └── content-clip-path.test.js
│ │ ├── setup.js
│ │ ├── test-utils.js
│ │ └── utils
│ │ ├── axis-utils.test.js
│ │ ├── chart-utils.test.js
│ │ ├── data-utils.test.js
│ │ ├── react-utils.test.js
│ │ ├── scales-utils.test.js
│ │ ├── series-utils.test.js
│ │ └── styling-utils.test.js
├── showcase
│ ├── .babelrc.json
│ ├── app.js
│ ├── axes
│ │ ├── axis-on-0.js
│ │ ├── custom-axes-orientation.js
│ │ ├── custom-axes.js
│ │ ├── custom-axis-tick-element.js
│ │ ├── custom-axis-tick-format.js
│ │ ├── custom-axis.js
│ │ ├── decorative-axes-criss-cross.js
│ │ ├── dynamic-complex-edge-hints.js
│ │ ├── dynamic-crosshair-scatterplot.js
│ │ ├── dynamic-crosshair.js
│ │ ├── dynamic-hints.js
│ │ ├── dynamic-programmatic-rightedge-hints.js
│ │ ├── dynamic-simple-edge-hints.js
│ │ ├── dynamic-simple-topedge-hints.js
│ │ ├── empty-chart.js
│ │ ├── padded-axis.js
│ │ ├── parallel-coordinates-example.js
│ │ ├── static-crosshair.js
│ │ └── static-hints.js
│ ├── color
│ │ ├── line-chart-many-colors.js
│ │ └── mini-color-examples.js
│ ├── data
│ │ └── mini-data-examples.js
│ ├── datasets
│ │ ├── car-data.json
│ │ ├── d3-flare-example.json
│ │ ├── energy.json
│ │ ├── iris.json
│ │ └── old-faithful.json
│ ├── examples
│ │ ├── candlestick
│ │ │ ├── candlestick-example.js
│ │ │ ├── candlestick.js
│ │ │ └── candlestick.scss
│ │ ├── force-directed-graph
│ │ │ ├── force-directed-example.js
│ │ │ ├── force-directed-graph.js
│ │ │ ├── force-directed.scss
│ │ │ └── les-mis-data.json
│ │ ├── iris-dashboard
│ │ │ ├── iris-dashboard.js
│ │ │ └── iris-dashboard.scss
│ │ ├── responsive-vis
│ │ │ ├── responsive-bar-chart.js
│ │ │ ├── responsive-scatterplot.js
│ │ │ ├── responsive-vis-example.js
│ │ │ ├── responsive-vis-utils.js
│ │ │ └── responsive-vis.scss
│ │ └── streamgraph
│ │ │ ├── streamgraph-example.js
│ │ │ └── streamgraph-example.scss
│ ├── flexible
│ │ └── flexible-examples.js
│ ├── index.html
│ ├── index.js
│ ├── interaction
│ │ └── interaction-examples.js
│ ├── legends
│ │ ├── continuous-color.js
│ │ ├── continuous-size.js
│ │ ├── horizontal-discrete-color.js
│ │ ├── horizontal-discrete-custom-palette.js
│ │ ├── searchable-discrete-color-hover.js
│ │ ├── searchable-discrete-color.js
│ │ └── vertical-discrete-color.js
│ ├── misc
│ │ ├── 2d-dragable-plot.js
│ │ ├── animation-example.js
│ │ ├── clip-example.js
│ │ ├── dragable-chart-example.js
│ │ ├── gradient-example.js
│ │ ├── label-series-example.js
│ │ ├── null-data-example.js
│ │ ├── selection-plot-example.js
│ │ ├── synced-charts.js
│ │ ├── time-chart.js
│ │ ├── triangle-example.js
│ │ ├── voronoi-line-chart.js
│ │ └── zoomable-chart-example.js
│ ├── package.json
│ ├── parallel-coordinates
│ │ ├── animated-parallel-coordinates.js
│ │ ├── basic-parallel-coordinates.js
│ │ └── brushed-parallel-coordinates.js
│ ├── plot
│ │ ├── area-chart-elevated.js
│ │ ├── area-chart.js
│ │ ├── axis-with-turned-labels.js
│ │ ├── bar-chart.js
│ │ ├── big-base-bar-chart.js
│ │ ├── clustered-stacked-bar-chart.js
│ │ ├── complex-chart.js
│ │ ├── contour-series-example.js
│ │ ├── custom-scales.js
│ │ ├── custom-svg-all-the-marks.js
│ │ ├── custom-svg-example.js
│ │ ├── custom-svg-root-level.js
│ │ ├── difference-chart.js
│ │ ├── faux-radial-scatterplot.js
│ │ ├── grid.js
│ │ ├── heatmap-chart.js
│ │ ├── hex-heatmap.js
│ │ ├── hexbin-size-example.js
│ │ ├── histogram.js
│ │ ├── labeled-heatmap.js
│ │ ├── labeled-stacked-vertical-bar-chart.js
│ │ ├── line-chart-canvas.js
│ │ ├── line-chart-with-style.js
│ │ ├── line-chart.js
│ │ ├── line-series-canvas-nearest-xy-example.js
│ │ ├── linemark-chart.js
│ │ ├── mixed-stacked-chart.js
│ │ ├── scatterplot-canvas.js
│ │ ├── scatterplot.js
│ │ ├── stacked-histogram.js
│ │ ├── stacked-horizontal-bar-chart.js
│ │ ├── stacked-vertical-bar-chart.js
│ │ ├── whisker-chart.js
│ │ └── width-height-margin.js
│ ├── radar-chart
│ │ ├── animated-radar-chart.js
│ │ ├── basic-radar-chart.js
│ │ ├── four-quadrant-radar-chart.js
│ │ ├── radar-chart-series-tooltips.js
│ │ └── radar-chart-with-tooltips.js
│ ├── radial-chart
│ │ ├── arc-series-example.js
│ │ ├── custom-radius-radial-chart.js
│ │ ├── donut-chart.js
│ │ ├── gradient-pie.js
│ │ └── simple-radial-chart.js
│ ├── sankey
│ │ ├── basic.js
│ │ ├── energy-sankey.js
│ │ ├── link-event.js
│ │ ├── link-hint.js
│ │ └── voronoi.js
│ ├── showcase-app.js
│ ├── showcase-components
│ │ ├── showcase-button.js
│ │ ├── showcase-dropdown.js
│ │ ├── showcase-utils.js
│ │ └── source-linker.js
│ ├── showcase-index.js
│ ├── showcase-links.js
│ ├── showcase-sections
│ │ ├── axes-showcase.js
│ │ ├── legends-showcase.js
│ │ ├── misc-showcase.js
│ │ ├── parallel-coordinates-showcase.js
│ │ ├── plots-showcase.js
│ │ ├── radar-showcase.js
│ │ ├── radial-showcase.js
│ │ ├── sankeys-showcase.js
│ │ ├── sunburst-showcase.js
│ │ └── treemap-showcase.js
│ ├── showcase-utils.js
│ ├── sunbursts
│ │ ├── animated-sunburst.js
│ │ ├── basic-sunburst.js
│ │ ├── clock-example.js
│ │ └── sunburst-with-tooltips.js
│ ├── treemap
│ │ ├── dynamic-treemap.js
│ │ └── simple-treemap.js
│ └── webpack.config.js
└── website
│ ├── .storybook
│ ├── addons.js
│ ├── config.js
│ └── storybook.css
│ ├── html.config.js
│ ├── package.json
│ ├── src
│ ├── components
│ │ └── Hero.js
│ ├── config.js
│ ├── demos.js
│ ├── mdRoutes.js
│ └── styles
│ │ ├── _variables.scss
│ │ └── index.scss
│ ├── static
│ └── .gitkeep
│ ├── storybook
│ ├── areaseries-story.js
│ ├── axis-story.js
│ ├── barseries-story.js
│ ├── index.js
│ ├── legend-story.js
│ ├── lineseries-story.js
│ ├── markseries-story.js
│ ├── misc-story.js
│ ├── radial-story.js
│ ├── storybook-data.js
│ └── storybook-utils.js
│ └── webpack.config.js
├── publish-docs.sh
├── publish.sh
├── remove-refs-to-unpm.pl
└── yarn.lock
/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig: http://editorconfig.org
2 |
3 | root = true
4 |
5 | [*]
6 | indent_style = space
7 | indent_size = 2
8 | end_of_line = lf
9 | charset = utf-8
10 | trim_trailing_whitespace = true
11 | insert_final_newline = true
12 |
--------------------------------------------------------------------------------
/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": [
3 | "eslint:recommended",
4 | "plugin:react/recommended",
5 | "plugin:react-hooks/recommended",
6 | "plugin:jest/recommended",
7 | "prettier",
8 | "prettier/react"
9 | ],
10 | "parser": "babel-eslint",
11 | "plugins": [
12 | "react",
13 | "react-hooks",
14 | "prettier",
15 | "babel",
16 | "jest"
17 | ],
18 | "ignorePatterns": [
19 | "node_modules",
20 | "bundle.js",
21 | "**/dist/",
22 | "**/es/"
23 | ],
24 | "settings":{
25 | "react":{
26 | "version": "detect"
27 | }
28 | },
29 | "env": {
30 | "es6": true,
31 | "browser": true,
32 | "jest": true
33 | },
34 | "rules": {
35 | "consistent-return": 0,
36 | "max-len": [1, 110, 4],
37 | "max-params": ["error", 6],
38 | "object-curly-spacing": 0,
39 | "babel/object-curly-spacing": 2,
40 | "jest/require-top-level-describe":"error",
41 | "react/prop-types": "off",
42 | "prettier/prettier": "warn"
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | yarn.lock -diff
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | .sass-cache/
3 | .nyc_output/
4 | coverage/
5 | dist/
6 | es/
7 |
8 | npm-debug.log*
9 | yarn-error.log*
10 | .DS_Store
11 | .idea/
12 | public/
13 | .vscode/
14 |
15 | bundle.js
16 | bundle.css
17 | packages/showcase/app.css
18 |
19 | /index.html
20 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "singleQuote": true,
3 | "trailingComma": "none",
4 | "bracketSpacing": false,
5 | "jsxBracketSameLine": false,
6 | "semi": true,
7 | "parser": "babel"
8 | }
9 |
--------------------------------------------------------------------------------
/.stylelintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "stylelint-config-standard",
3 | "rules": {
4 | "selector-list-comma-newline-after": "always"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - '10'
4 | script:
5 | - npm run lint
6 | - cd packages/react-vis
7 | - npm run cover
8 | after_success:
9 | - npm install -g coveralls
10 | - cat coverage/lcov.info | coveralls
11 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Want to contribute?
2 |
3 | Great! That's why this is an open source project. We use this project in our infrastructure at Uber, and we hope that it's useful to others as well.
4 |
5 | Before you get started, here are some suggestions:
6 |
7 | - Check open issues for what you want.
8 | - If there is an open issue, comment on it. Otherwise open an issue describing your bug or feature with use cases.
9 | - Before undertaking a major change, please discuss this on the issue. We'd hate to see you spend a lot of time working on something that conflicts with other goals or requirements that might not be obvious.
10 | - Write code to fix the problem, then open a pull request with tests and documentation.
11 | - The pull requests gets reviewed and then merged assuming there are no problems.
12 | - A new release version gets cut.
13 |
14 | ## Hints
15 |
16 | Want to make sure your PR gets a speedy review and a quick merge? Here are some tips:
17 |
18 | - Add Tests
19 | - Add documentation about the feature you added
20 | - Make sure you have a clear description of what your PR is about
21 | - Include screenshots
22 | - Add Tests
23 |
24 | ## Releases
25 |
26 | Declaring formal releases requires peer review.
27 |
28 | - A reviewer of a pull request should recommend a new version number (patch, minor or major).
29 | - Once your change is merged feel free to bump the version as recommended by the reviewer.
30 | - A new version number should not be cut without peer review unless done by the project maintainer.
31 |
32 | ### Cutting a new version
33 |
34 | - Get your branch merged on master
35 | - Run `npm version major` or `npm version minor` or `npm version patch`
36 | - `git push origin master --tags`
37 | - If you are a project owner, then `npm publish`
38 |
--------------------------------------------------------------------------------
/DEPRECATED.md:
--------------------------------------------------------------------------------
1 | # Deprecated
2 |
3 | Unfortunately, `react-vis` currently has no active maintainers. As such, we have
4 | decided to deprecate the library. This deprecation means that `react-vis` won't
5 | receive any patches or new features. If you're interested to take on ownership,
6 | please discuss on #1303. Anyone is welcome to fork this library.
7 |
8 | We're working on a new charting library that we'll introduce in 2020. We will
9 | keep you folks updated on this repo on the new library!
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2016 Uber Technologies, Inc.
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/ROADMAP.md:
--------------------------------------------------------------------------------
1 | # Roadmap
2 |
3 | This document will be updated with the middle-term ambition for React-vis.
4 |
5 | ## Current priority
6 |
7 | Right now the priority is to get React-Vis healthy and bug free while addressing as many open issues as possible.
8 |
9 | These efforts are essentially focused towards what we consider the core of react-vis: AbstractSeries, ArcSeries, AreaSeries, AxisUtils, ContinuousColorLegend, ContinuousSizeLegend, Crosshair, DiscreteColorLegend, GridLines, Hint, HorizontalBarSeries, HorizontalGridLines, LabelSeries, LineSeries, MarkSeries, RadialChart, ScaleUtils, SearchableDiscreteColorLegend, VerticalBarSeries, VerticalGridLines, XAxis, XYPlot and YAxis.
10 |
11 |
--------------------------------------------------------------------------------
/babel.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "babelrcRoots": [
3 | ".",
4 | "./packages/*"
5 | ],
6 | "env": {
7 | "production": {
8 | "presets": [
9 | "@babel/preset-env",
10 | "@babel/preset-react"
11 | ],
12 | "plugins": [
13 | "@babel/plugin-proposal-class-properties",
14 | "@babel/plugin-proposal-export-default-from",
15 | "@babel/plugin-proposal-optional-chaining",
16 | "@babel/plugin-proposal-nullish-coalescing-operator"
17 | ]
18 | },
19 | "development": {
20 | "presets": [
21 | "@babel/preset-env",
22 | "@babel/preset-react"
23 | ],
24 | "plugins": [
25 | "@babel/plugin-proposal-class-properties",
26 | "@babel/plugin-proposal-export-default-from",
27 | "@babel/plugin-proposal-optional-chaining",
28 | "@babel/plugin-proposal-nullish-coalescing-operator"
29 | ]
30 | },
31 | "es": {
32 | "presets": [
33 | [
34 | "@babel/preset-env",
35 | {
36 | "modules": false
37 | }
38 | ],
39 | "@babel/preset-react"
40 | ],
41 | "plugins": [
42 | "@babel/plugin-proposal-class-properties",
43 | "@babel/plugin-proposal-export-default-from",
44 | "@babel/plugin-proposal-optional-chaining",
45 | "@babel/plugin-proposal-nullish-coalescing-operator"
46 | ]
47 | },
48 | "browser": {
49 | "presets": [
50 | "@babel/preset-env",
51 | "@babel/preset-react"
52 | ],
53 | "plugins": [
54 | "@babel/plugin-proposal-class-properties",
55 | "@babel/plugin-proposal-export-default-from",
56 | "@babel/plugin-proposal-optional-chaining",
57 | "@babel/plugin-proposal-nullish-coalescing-operator",
58 | ["@babel/plugin-transform-runtime",
59 | {
60 | "regenerator": true
61 | }
62 | ]
63 | ]
64 | }
65 | }
66 | }
--------------------------------------------------------------------------------
/docs/animation.md:
--------------------------------------------------------------------------------
1 | > This library is deprecated. Please see `DEPRECATED.md`.
2 |
3 | ## Animation
4 |
5 | Animation makes your charts feel physical, it makes them feel alive, shoot it makes them feel l33t. `react-vis` offers a simple portal into the [react-motion](https://github.com/chenglou/react-motion) animation system by exposing a simple animation prop on most components! This prop accepts three types of values:
6 |
7 | *Booleans*: if true is present then `react-vis` will use the `no-wobble` preset (see below)
8 |
9 | *Strings*: react-motion offers several different motion presets that cover most use cases. To access them set your animation prop to one of [noWobble, gentle, wobbly, stiff].
10 |
11 |
12 |
13 | *Objects*: react-motion expects an object formatting like `{damping: NUMBER, stiffness: NUMBER}`, and if you want to give us an object like that, we will hand it direct to react-motion. You can also pass an object with `{nonAnimatedProps: ['foo', 'bar']}` to prevent those props from being interpolated by d3-interpolator.
14 |
15 |
16 |
17 | The above example has `animation: {damping: 9, stiffness: 300}`!
18 |
19 | **NOTE** In Jsx the presence of the animation prop is enough to trigger an animation, eg
20 |
21 | ```javascript
22 |
30 | ```
31 |
32 | Will be treated as true. If you want to include the animation prop but not have animation be engaged, you need to use animation={null}!
33 |
--------------------------------------------------------------------------------
/docs/assets/gridlines-over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/uber/react-vis/92e2af2eac8269cb6aefaee9864cd1bd14666d80/docs/assets/gridlines-over.png
--------------------------------------------------------------------------------
/docs/assets/gridlines-under.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/uber/react-vis/92e2af2eac8269cb6aefaee9864cd1bd14666d80/docs/assets/gridlines-under.png
--------------------------------------------------------------------------------
/docs/assets/react-vis-in-codepen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/uber/react-vis/92e2af2eac8269cb6aefaee9864cd1bd14666d80/docs/assets/react-vis-in-codepen.png
--------------------------------------------------------------------------------
/docs/assets/react-vis.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/uber/react-vis/92e2af2eac8269cb6aefaee9864cd1bd14666d80/docs/assets/react-vis.gif
--------------------------------------------------------------------------------
/docs/assets/your-first-chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/uber/react-vis/92e2af2eac8269cb6aefaee9864cd1bd14666d80/docs/assets/your-first-chart.png
--------------------------------------------------------------------------------
/docs/clip.md:
--------------------------------------------------------------------------------
1 | > This library is deprecated. Please see `DEPRECATED.md`.
2 |
3 | ## Clip
4 |
5 | Depending on the data and domain, sometimes the series in the plot will extend into the axis. This can either be solved with a [Border](border.md), or the elements can be clipped.
6 |
7 | To have the rendered series, clipped you will need to set up a `clipPath` (see [MDN](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/clipPath)) and tell the series to use it.
8 |
9 | As seen below, the `clipPath` can be created with the `ContentClipArea` component, and its `id` can be referenced by the components that want to be clipped.
10 |
11 | ```jsx
12 |
13 |
14 |
15 |
16 | ```
17 |
18 |
19 |
20 | ## API Reference
21 |
22 | #### id (optional)
23 |
24 | Type: `String`
25 |
26 | The id to assign to the `clipArea`. If not provided, this will default to `content-area`
27 |
--------------------------------------------------------------------------------
/docs/crosshair.md:
--------------------------------------------------------------------------------
1 | > This library is deprecated. Please see `DEPRECATED.md`.
2 |
3 | ## Crosshair
4 |
5 |
6 |
7 | `Crosshair` is a tooltip for multiple values at the same time. Its purpose is to combine several values with the similar X coordinate in one tooltip. Crosshair is automatically aligned by the x coordinate depending on what values are passed.
8 | In case if custom representation of crosshair is needed, the component is able to wrap the user's JSX. In this case no CSS is applied to that. Here's a short example:
9 |
10 | ```jsx
11 |
12 |
13 |
Values of crosshair:
14 |
Series 1: {myValues[0].x}
15 |
Series 2: {myValues[1].x}
16 |
17 |
18 | ```
19 |
20 | #### className (optional)
21 |
22 | Type: `string`
23 |
24 | Provide an additional class name for the series.
25 |
26 | #### itemsFormat (optional)
27 |
28 | Type: `function`
29 |
30 | The function that formats the list of items for the crosshair. Receives the list of data points, should return an array of objects containing `title` and `value` properties.
31 | _Note: please pass custom contents in case if you need different look for the crosshair._
32 |
33 | #### style (optional)
34 |
35 | Type: `object`
36 |
37 | An object that contains objects of CSS properties with which the component can be entirely re-styled.
38 | As the Crosshair is composed of several elements, it is possible to provide style objects for any and all parts of the tree. See [style](style.md)
39 | Most generally, there are three top level keys: `line`, `title`, and `box`. These in turn lead to their corresponding style objects.
40 |
41 | #### titleFormat (optional)
42 |
43 | Type: `function`
44 |
45 | The function that formats the title for the crosshair. Receives the list of data points, should return an object containing `title` and `value` properties.
46 | _Note: please pass custom contents in case if you need different look for the crosshair._
47 |
48 | #### values
49 |
50 | Type: `Array