├── .gitignore ├── README.md ├── babel.config.js ├── jsconfig.json ├── lerna.json ├── package.json ├── packages ├── vx-axis │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ ├── axis │ │ ├── Axis.vue │ │ ├── AxisBottom.vue │ │ ├── AxisLeft.vue │ │ ├── AxisRight.vue │ │ └── AxisTop.vue │ │ ├── constants │ │ └── orientation.js │ │ ├── index.js │ │ └── utils │ │ └── center.js ├── vx-bounds │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ ├── enhancers │ │ └── withBoundingRects.js │ │ └── index.js ├── vx-chord │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ ├── Chord.vue │ │ ├── Ribbon.vue │ │ └── index.js ├── vx-clip-path │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ ├── clip-paths │ │ ├── CircleClipPath.vue │ │ ├── ClipPath.vue │ │ └── RectClipPath.vue │ │ └── index.js ├── vx-curve │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ └── index.js ├── vx-event │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ └── index.js ├── vx-glyph │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ ├── glyphs │ │ ├── AbstractGlyph.vue │ │ ├── Circle.vue │ │ ├── Cross.vue │ │ ├── Diamond.vue │ │ ├── Dot.vue │ │ ├── Square.vue │ │ ├── Star.vue │ │ ├── Triangle.vue │ │ └── Wye.vue │ │ └── index.js ├── vx-gradient │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ ├── gradients │ │ ├── DarkgreenGreen.vue │ │ ├── LightgreenGreen.vue │ │ ├── LinearGradient.vue │ │ ├── OrangeRed.vue │ │ ├── PinkBlue.vue │ │ ├── PinkRed.vue │ │ ├── PurpleOrange.vue │ │ ├── PurpleRed.vue │ │ ├── PurpleTeal.vue │ │ ├── RadialGradient.vue │ │ ├── SteelPurple.vue │ │ └── TealBlue.vue │ │ └── index.js ├── vx-grid │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ ├── grids │ │ ├── Columns.vue │ │ ├── Grid.vue │ │ └── Rows.vue │ │ └── index.js ├── vx-group │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ ├── Group.vue │ │ └── index.js ├── vx-heatmap │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ ├── Heatmap.vue │ │ ├── heatmaps │ │ ├── Circle.vue │ │ └── Rect.vue │ │ └── index.js ├── vx-hierarchy │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ ├── HierarchyDefaultLink.vue │ │ ├── HierarchyDefaultNode.vue │ │ ├── hierarchies │ │ ├── Cluster.vue │ │ ├── Pack.vue │ │ ├── Partition.vue │ │ ├── Tree.vue │ │ └── Treemap.vue │ │ └── index.js ├── vx-legend │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ ├── index.js │ │ ├── legends │ │ ├── Legend.vue │ │ ├── LegendItem.vue │ │ ├── LegendLabel.vue │ │ ├── LegendShape.vue │ │ ├── Linear.vue │ │ ├── Ordinal.vue │ │ ├── Quantile.vue │ │ ├── Size.vue │ │ └── Threshold.vue │ │ ├── shapes │ │ ├── Circle.vue │ │ └── Rect.vue │ │ └── util │ │ ├── additionalProps.js │ │ ├── callOrValue.js │ │ └── valueOrIdentity.js ├── vx-mock-data │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ ├── src │ │ └── index.js │ └── yarn.lock ├── vx-pattern │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ ├── index.js │ │ └── patterns │ │ ├── Circles.vue │ │ ├── Hexagons.vue │ │ ├── Lines.vue │ │ ├── Path.vue │ │ ├── Pattern.vue │ │ └── Waves.vue ├── vx-point │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ └── index.js ├── vx-scale │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ └── index.js ├── vx-shape │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ ├── index.js │ │ └── shapes │ │ ├── Arc.vue │ │ ├── Area.vue │ │ ├── AreaClosed.vue │ │ ├── AreaStack.vue │ │ ├── Bar.vue │ │ ├── BarGroup.vue │ │ ├── BarGroupHorizontal.vue │ │ ├── BarStack.vue │ │ ├── Line.vue │ │ ├── LinePath.vue │ │ ├── LineRadial.vue │ │ ├── Pie.vue │ │ └── link │ │ ├── curve │ │ ├── LinkHorizontalCurve.vue │ │ ├── LinkRadialCurve.vue │ │ └── LinkVerticalCurve.vue │ │ ├── diagonal │ │ ├── LinkHorizontal.vue │ │ ├── LinkRadial.vue │ │ └── LinkVertical.vue │ │ ├── line │ │ ├── LinkHorizontalLine.vue │ │ ├── LinkRadialLine.vue │ │ └── LinkVerticalLine.vue │ │ └── step │ │ ├── LinkHorizontalStep.vue │ │ ├── LinkRadialStep.vue │ │ └── LinkVerticalStep.vue ├── vx-text │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ ├── Text.vue │ │ └── index.js ├── vx-threshold │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ ├── Threshold.vue │ │ └── index.js ├── vx-tooltip │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ │ ├── enhancers │ │ └── withTooltip.js │ │ ├── index.js │ │ └── tooltips │ │ ├── Tooltip.vue │ │ └── TooltipWithBounds.vue └── vx-voronoi │ ├── babel.config.js │ ├── package-lock.json │ ├── package.json │ └── src │ ├── components │ └── VoronoiPolygon.vue │ ├── index.js │ └── voronoi.js ├── public ├── favicon.ico ├── index.html └── screenshot.jpg ├── src ├── App.vue ├── assets │ └── logo.png ├── components │ ├── AreaGraph.vue │ ├── AxisGraph.vue │ ├── BarGraph.vue │ ├── BarGroupGraph.vue │ ├── BarGroupHorizontalGraph.vue │ ├── BarStackGraph.vue │ ├── ChordGraph.vue │ ├── DendrogramGraph.vue │ ├── GlyphGraph.vue │ ├── GradientGraph.vue │ ├── Graph.vue │ ├── HeatmapGraph.vue │ ├── HelloWorld.vue │ ├── LegendGraph.vue │ ├── PatternGraph.vue │ ├── PieGraph.vue │ ├── PointGraph.vue │ ├── RadialGraph.vue │ ├── StackedAreaGraph.vue │ ├── ThresholdGraph.vue │ ├── TreeGraph.vue │ └── VoronoiGraph.vue └── main.js ├── vue.config.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | # local env files 6 | .env.local 7 | .env.*.local 8 | 9 | # Log files 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | 14 | # Editor directories and files 15 | .idea 16 | .vscode 17 | *.suo 18 | *.ntvs* 19 | *.njsproj 20 | *.sln 21 | *.sw* 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

4 | 5 | 6 | # vue-vx 7 | 8 | This is a vue port of [vx](https://github.com/hshoff/vx/). 9 | 10 | The screenshot above is what you will see when running `yarn run serve`. 11 | 12 | ## Run it 13 | ```bash 14 | yarn install 15 | yarn run serve 16 | ``` 17 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": [ 3 | "./src/**/*" 4 | ] 5 | } -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ 3 | "packages/*" 4 | ], 5 | "version": "0.2.0" 6 | } 7 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-vx", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "serve": "vue-cli-service serve", 7 | "build": "vue-cli-service build", 8 | "lint": "vue-cli-service lint", 9 | "docs:dev": "vuepress dev docs", 10 | "docs:build": "vuepress build docs" 11 | }, 12 | "dependencies": { 13 | "d3-chord": "^1.0.4", 14 | "d3-hierarchy": "^1.1.6", 15 | "d3-shape": "^1.2.0", 16 | "d3-voronoi": "^1.1.2", 17 | "vue": "^2.5.16" 18 | }, 19 | "devDependencies": { 20 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 21 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 22 | "@vue/cli-service": "^3.0.0-rc.10", 23 | "@vx/curve": "^0.0.165", 24 | "@vx/event": "^0.0.165", 25 | "@vx/mock-data": "0.0.165", 26 | "@vx/point": "^0.0.165", 27 | "@vx/scale": "0.0.165", 28 | "vue-template-compiler": "^2.5.16", 29 | "vuepress": "^0.14.0" 30 | }, 31 | "eslintConfig": { 32 | "root": true, 33 | "env": { 34 | "node": true 35 | }, 36 | "extends": [ 37 | "plugin:vue/essential", 38 | "eslint:recommended" 39 | ], 40 | "rules": {}, 41 | "parserOptions": { 42 | "parser": "babel-eslint" 43 | } 44 | }, 45 | "postcss": { 46 | "plugins": { 47 | "autoprefixer": {} 48 | } 49 | }, 50 | "browserslist": [ 51 | "> 1%", 52 | "last 2 versions", 53 | "not ie <= 8" 54 | ] 55 | } 56 | -------------------------------------------------------------------------------- /packages/vx-axis/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-axis/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/axis", 3 | "version": "0.2.0", 4 | "description": "vue-vx axis", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name axis ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "@vue-vx/group": "^0.2.0", 32 | "@vue-vx/point": "^0.2.0", 33 | "@vue-vx/shape": "^0.2.0" 34 | }, 35 | "devDependencies": { 36 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 37 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 38 | "@vue/cli-service": "^3.0.0-rc.10", 39 | "vue-template-compiler": "^2.5.16" 40 | }, 41 | "eslintConfig": { 42 | "root": true, 43 | "env": { 44 | "node": true 45 | }, 46 | "extends": [ 47 | "plugin:vue/essential", 48 | "eslint:recommended" 49 | ], 50 | "rules": {}, 51 | "parserOptions": { 52 | "parser": "babel-eslint" 53 | } 54 | }, 55 | "postcss": { 56 | "plugins": { 57 | "autoprefixer": {} 58 | } 59 | }, 60 | "browserslist": [ 61 | "> 1%", 62 | "last 2 versions", 63 | "not ie <= 8" 64 | ], 65 | "publishConfig": { 66 | "access": "public" 67 | }, 68 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 69 | } 70 | -------------------------------------------------------------------------------- /packages/vx-axis/src/axis/AxisBottom.vue: -------------------------------------------------------------------------------- 1 | 35 | 53 | -------------------------------------------------------------------------------- /packages/vx-axis/src/axis/AxisLeft.vue: -------------------------------------------------------------------------------- 1 | 36 | 58 | -------------------------------------------------------------------------------- /packages/vx-axis/src/axis/AxisRight.vue: -------------------------------------------------------------------------------- 1 | 36 | 58 | -------------------------------------------------------------------------------- /packages/vx-axis/src/axis/AxisTop.vue: -------------------------------------------------------------------------------- 1 | 35 | 53 | -------------------------------------------------------------------------------- /packages/vx-axis/src/constants/orientation.js: -------------------------------------------------------------------------------- 1 | export default { 2 | top: 'top', 3 | left: 'left', 4 | right: 'right', 5 | bottom: 'bottom' 6 | }; 7 | -------------------------------------------------------------------------------- /packages/vx-axis/src/index.js: -------------------------------------------------------------------------------- 1 | export { default as Axis } from './axis/Axis' 2 | export { default as AxisLeft } from './axis/AxisLeft' 3 | export { default as AxisRight } from './axis/AxisRight' 4 | export { default as AxisTop } from './axis/AxisTop' 5 | export { default as AxisBottom } from './axis/AxisBottom' 6 | export { default as Orientation } from './constants/orientation' 7 | -------------------------------------------------------------------------------- /packages/vx-axis/src/utils/center.js: -------------------------------------------------------------------------------- 1 | export default function center(scale) { 2 | var offset = scale.bandwidth() / 2; 3 | if (scale.round()) offset = Math.round(offset); 4 | return function(d) { 5 | return scale(d) + offset; 6 | }; 7 | } 8 | -------------------------------------------------------------------------------- /packages/vx-bounds/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-bounds/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/bounds", 3 | "version": "0.2.0", 4 | "description": "vue-vx bounds", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name bounds ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "vue": "^2.5.16" 32 | }, 33 | "devDependencies": { 34 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 35 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 36 | "@vue/cli-service": "^3.0.0-rc.10", 37 | "vue-template-compiler": "^2.5.16" 38 | }, 39 | "eslintConfig": { 40 | "root": true, 41 | "env": { 42 | "node": true 43 | }, 44 | "extends": [ 45 | "plugin:vue/essential", 46 | "eslint:recommended" 47 | ], 48 | "rules": {}, 49 | "parserOptions": { 50 | "parser": "babel-eslint" 51 | } 52 | }, 53 | "postcss": { 54 | "plugins": { 55 | "autoprefixer": {} 56 | } 57 | }, 58 | "browserslist": [ 59 | "> 1%", 60 | "last 2 versions", 61 | "not ie <= 8" 62 | ], 63 | "publishConfig": { 64 | "access": "public" 65 | }, 66 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 67 | } 68 | -------------------------------------------------------------------------------- /packages/vx-bounds/src/enhancers/withBoundingRects.js: -------------------------------------------------------------------------------- 1 | export default { 2 | props: { 3 | top: { 4 | type: Number, 5 | required: true 6 | }, 7 | right: { 8 | type: Number, 9 | required: true 10 | }, 11 | bottom: { 12 | type: Number, 13 | required: true 14 | }, 15 | left: { 16 | type: Number, 17 | required: true 18 | }, 19 | width: { 20 | type: Number, 21 | required: true 22 | }, 23 | height: { 24 | type: Number, 25 | required: true 26 | }, 27 | rect: Object, 28 | parentRect: Object 29 | }, 30 | mounted () { 31 | // TODO get bounding rect 32 | // this.node = ReactDOM.findDOMNode(this); 33 | // this.setState(() => this.getRects()); 34 | }, 35 | methods: { 36 | getRects () { 37 | // if (!this.node) return this.state; 38 | 39 | // const node = this.node; 40 | // const parentNode = this.node.parentNode; 41 | 42 | // const rect = node.getBoundingClientRect ? node.getBoundingClientRect() : emptyRect; 43 | 44 | // const parentRect = 45 | // parentNode && parentNode.getBoundingClientRect 46 | // ? parentNode.getBoundingClientRect() 47 | // : emptyRect; 48 | 49 | return { 50 | rect: this.rect, 51 | parentRect: this.parentRect 52 | } 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /packages/vx-bounds/src/index.js: -------------------------------------------------------------------------------- 1 | export { default as withBoundingRects } from './enhancers/withBoundingRects' 2 | -------------------------------------------------------------------------------- /packages/vx-chord/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-chord/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/chord", 3 | "version": "0.2.0", 4 | "description": "vue-vx chord", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name chord ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "@vue-vx/group": "^0.2.0", 32 | "vue": "^2.5.16" 33 | }, 34 | "devDependencies": { 35 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 36 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 37 | "@vue/cli-service": "^3.0.0-rc.10", 38 | "vue-template-compiler": "^2.5.16" 39 | }, 40 | "eslintConfig": { 41 | "root": true, 42 | "env": { 43 | "node": true 44 | }, 45 | "extends": [ 46 | "plugin:vue/essential", 47 | "eslint:recommended" 48 | ], 49 | "rules": {}, 50 | "parserOptions": { 51 | "parser": "babel-eslint" 52 | } 53 | }, 54 | "postcss": { 55 | "plugins": { 56 | "autoprefixer": {} 57 | } 58 | }, 59 | "browserslist": [ 60 | "> 1%", 61 | "last 2 versions", 62 | "not ie <= 8" 63 | ], 64 | "publishConfig": { 65 | "access": "public" 66 | }, 67 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 68 | } 69 | -------------------------------------------------------------------------------- /packages/vx-chord/src/Chord.vue: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /packages/vx-chord/src/Ribbon.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /packages/vx-chord/src/index.js: -------------------------------------------------------------------------------- 1 | export { default as Chord } from './Chord' 2 | export { default as Ribbon } from './Ribbon' 3 | -------------------------------------------------------------------------------- /packages/vx-clip-path/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-clip-path/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/clip-path", 3 | "version": "0.2.0", 4 | "description": "vue-vx clip-path", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name clip-path ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "vue": "^2.5.16" 32 | }, 33 | "devDependencies": { 34 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 35 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 36 | "@vue/cli-service": "^3.0.0-rc.10", 37 | "vue-template-compiler": "^2.5.16" 38 | }, 39 | "eslintConfig": { 40 | "root": true, 41 | "env": { 42 | "node": true 43 | }, 44 | "extends": [ 45 | "plugin:vue/essential", 46 | "eslint:recommended" 47 | ], 48 | "rules": {}, 49 | "parserOptions": { 50 | "parser": "babel-eslint" 51 | } 52 | }, 53 | "postcss": { 54 | "plugins": { 55 | "autoprefixer": {} 56 | } 57 | }, 58 | "browserslist": [ 59 | "> 1%", 60 | "last 2 versions", 61 | "not ie <= 8" 62 | ], 63 | "publishConfig": { 64 | "access": "public" 65 | }, 66 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 67 | } 68 | -------------------------------------------------------------------------------- /packages/vx-clip-path/src/clip-paths/CircleClipPath.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /packages/vx-clip-path/src/clip-paths/ClipPath.vue: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /packages/vx-clip-path/src/clip-paths/RectClipPath.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /packages/vx-clip-path/src/index.js: -------------------------------------------------------------------------------- 1 | export { default as ClipPathElement } from './clip-paths/ClipPath' 2 | export { default as CircleClipPath } from './clip-paths/CircleClipPath' 3 | export { default as RectClipPath } from './clip-paths/RectClipPath' 4 | -------------------------------------------------------------------------------- /packages/vx-curve/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-curve/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/curve", 3 | "version": "0.2.0", 4 | "description": "vue-vx curve", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name curve ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "vue": "^2.5.16" 32 | }, 33 | "devDependencies": { 34 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 35 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 36 | "@vue/cli-service": "^3.0.0-rc.10", 37 | "vue-template-compiler": "^2.5.16" 38 | }, 39 | "eslintConfig": { 40 | "root": true, 41 | "env": { 42 | "node": true 43 | }, 44 | "extends": [ 45 | "plugin:vue/essential", 46 | "eslint:recommended" 47 | ], 48 | "rules": {}, 49 | "parserOptions": { 50 | "parser": "babel-eslint" 51 | } 52 | }, 53 | "postcss": { 54 | "plugins": { 55 | "autoprefixer": {} 56 | } 57 | }, 58 | "browserslist": [ 59 | "> 1%", 60 | "last 2 versions", 61 | "not ie <= 8" 62 | ], 63 | "publishConfig": { 64 | "access": "public" 65 | }, 66 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 67 | } 68 | -------------------------------------------------------------------------------- /packages/vx-curve/src/index.js: -------------------------------------------------------------------------------- 1 | export * from '@vx/curve' 2 | -------------------------------------------------------------------------------- /packages/vx-event/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-event/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/event", 3 | "version": "0.2.0", 4 | "description": "vue-vx event", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name event ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "vue": "^2.5.16" 32 | }, 33 | "devDependencies": { 34 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 35 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 36 | "@vue/cli-service": "^3.0.0-rc.10", 37 | "vue-template-compiler": "^2.5.16" 38 | }, 39 | "eslintConfig": { 40 | "root": true, 41 | "env": { 42 | "node": true 43 | }, 44 | "extends": [ 45 | "plugin:vue/essential", 46 | "eslint:recommended" 47 | ], 48 | "rules": {}, 49 | "parserOptions": { 50 | "parser": "babel-eslint" 51 | } 52 | }, 53 | "postcss": { 54 | "plugins": { 55 | "autoprefixer": {} 56 | } 57 | }, 58 | "browserslist": [ 59 | "> 1%", 60 | "last 2 versions", 61 | "not ie <= 8" 62 | ], 63 | "publishConfig": { 64 | "access": "public" 65 | }, 66 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 67 | } 68 | -------------------------------------------------------------------------------- /packages/vx-event/src/index.js: -------------------------------------------------------------------------------- 1 | export * from '@vx/event' -------------------------------------------------------------------------------- /packages/vx-glyph/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-glyph/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/glyph", 3 | "version": "0.2.0", 4 | "description": "vue-vx glyph", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name glyph ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "@vue-vx/group": "^0.2.0", 32 | "vue": "^2.5.16" 33 | }, 34 | "devDependencies": { 35 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 36 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 37 | "@vue/cli-service": "^3.0.0-rc.10", 38 | "vue-template-compiler": "^2.5.16" 39 | }, 40 | "eslintConfig": { 41 | "root": true, 42 | "env": { 43 | "node": true 44 | }, 45 | "extends": [ 46 | "plugin:vue/essential", 47 | "eslint:recommended" 48 | ], 49 | "rules": {}, 50 | "parserOptions": { 51 | "parser": "babel-eslint" 52 | } 53 | }, 54 | "postcss": { 55 | "plugins": { 56 | "autoprefixer": {} 57 | } 58 | }, 59 | "browserslist": [ 60 | "> 1%", 61 | "last 2 versions", 62 | "not ie <= 8" 63 | ], 64 | "publishConfig": { 65 | "access": "public" 66 | }, 67 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 68 | } 69 | -------------------------------------------------------------------------------- /packages/vx-glyph/src/glyphs/AbstractGlyph.vue: -------------------------------------------------------------------------------- 1 | 6 | 29 | 30 | -------------------------------------------------------------------------------- /packages/vx-glyph/src/glyphs/Circle.vue: -------------------------------------------------------------------------------- 1 | 11 | 43 | -------------------------------------------------------------------------------- /packages/vx-glyph/src/glyphs/Cross.vue: -------------------------------------------------------------------------------- 1 | 11 | 40 | -------------------------------------------------------------------------------- /packages/vx-glyph/src/glyphs/Diamond.vue: -------------------------------------------------------------------------------- 1 | 11 | 40 | -------------------------------------------------------------------------------- /packages/vx-glyph/src/glyphs/Dot.vue: -------------------------------------------------------------------------------- 1 | 17 | 45 | -------------------------------------------------------------------------------- /packages/vx-glyph/src/glyphs/Square.vue: -------------------------------------------------------------------------------- 1 | 11 | 40 | -------------------------------------------------------------------------------- /packages/vx-glyph/src/glyphs/Star.vue: -------------------------------------------------------------------------------- 1 | 11 | 40 | -------------------------------------------------------------------------------- /packages/vx-glyph/src/glyphs/Triangle.vue: -------------------------------------------------------------------------------- 1 | 11 | 40 | -------------------------------------------------------------------------------- /packages/vx-glyph/src/glyphs/Wye.vue: -------------------------------------------------------------------------------- 1 | 11 | 40 | -------------------------------------------------------------------------------- /packages/vx-glyph/src/index.js: -------------------------------------------------------------------------------- 1 | export { default as AbstractGlyph } from './glyphs/AbstractGlyph'; 2 | export { default as GlyphDot } from './glyphs/Dot'; 3 | export { default as GlyphCross } from './glyphs/Cross'; 4 | export { default as GlyphDiamond } from './glyphs/Diamond'; 5 | export { default as GlyphStar } from './glyphs/Star'; 6 | export { default as GlyphTriangle } from './glyphs/Triangle'; 7 | export { default as GlyphWye } from './glyphs/Wye'; 8 | export { default as GlyphSquare } from './glyphs/Square'; 9 | export { default as GlyphCircle } from './glyphs/Circle'; 10 | -------------------------------------------------------------------------------- /packages/vx-gradient/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-gradient/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/gradient", 3 | "version": "0.2.0", 4 | "description": "vue-vx gradient", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name gradient ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "vue": "^2.5.16" 32 | }, 33 | "devDependencies": { 34 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 35 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 36 | "@vue/cli-service": "^3.0.0-rc.10", 37 | "vue-template-compiler": "^2.5.16" 38 | }, 39 | "eslintConfig": { 40 | "root": true, 41 | "env": { 42 | "node": true 43 | }, 44 | "extends": [ 45 | "plugin:vue/essential", 46 | "eslint:recommended" 47 | ], 48 | "rules": {}, 49 | "parserOptions": { 50 | "parser": "babel-eslint" 51 | } 52 | }, 53 | "postcss": { 54 | "plugins": { 55 | "autoprefixer": {} 56 | } 57 | }, 58 | "browserslist": [ 59 | "> 1%", 60 | "last 2 versions", 61 | "not ie <= 8" 62 | ], 63 | "publishConfig": { 64 | "access": "public" 65 | }, 66 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 67 | } 68 | -------------------------------------------------------------------------------- /packages/vx-gradient/src/gradients/DarkgreenGreen.vue: -------------------------------------------------------------------------------- 1 | 4 | 12 | 13 | -------------------------------------------------------------------------------- /packages/vx-gradient/src/gradients/LightgreenGreen.vue: -------------------------------------------------------------------------------- 1 | 4 | 12 | -------------------------------------------------------------------------------- /packages/vx-gradient/src/gradients/LinearGradient.vue: -------------------------------------------------------------------------------- 1 | 18 | 69 | 70 | -------------------------------------------------------------------------------- /packages/vx-gradient/src/gradients/OrangeRed.vue: -------------------------------------------------------------------------------- 1 | 4 | 12 | -------------------------------------------------------------------------------- /packages/vx-gradient/src/gradients/PinkBlue.vue: -------------------------------------------------------------------------------- 1 | 4 | 12 | -------------------------------------------------------------------------------- /packages/vx-gradient/src/gradients/PinkRed.vue: -------------------------------------------------------------------------------- 1 | 4 | 12 | -------------------------------------------------------------------------------- /packages/vx-gradient/src/gradients/PurpleOrange.vue: -------------------------------------------------------------------------------- 1 | 4 | 12 | -------------------------------------------------------------------------------- /packages/vx-gradient/src/gradients/PurpleRed.vue: -------------------------------------------------------------------------------- 1 | 4 | 12 | -------------------------------------------------------------------------------- /packages/vx-gradient/src/gradients/PurpleTeal.vue: -------------------------------------------------------------------------------- 1 | 4 | 12 | -------------------------------------------------------------------------------- /packages/vx-gradient/src/gradients/RadialGradient.vue: -------------------------------------------------------------------------------- 1 | 14 | 45 | -------------------------------------------------------------------------------- /packages/vx-gradient/src/gradients/SteelPurple.vue: -------------------------------------------------------------------------------- 1 | 4 | 12 | -------------------------------------------------------------------------------- /packages/vx-gradient/src/gradients/TealBlue.vue: -------------------------------------------------------------------------------- 1 | 4 | 12 | -------------------------------------------------------------------------------- /packages/vx-gradient/src/index.js: -------------------------------------------------------------------------------- 1 | export { default as LinearGradient } from './gradients/LinearGradient' 2 | export { default as RadialGradient } from './gradients/RadialGradient' 3 | export { default as GradientDarkgreenGreen } from './gradients/DarkgreenGreen' 4 | export { default as GradientLightgreenGreen } from './gradients/LightgreenGreen' 5 | export { default as GradientOrangeRed } from './gradients/OrangeRed' 6 | export { default as GradientPinkBlue } from './gradients/PinkBlue' 7 | export { default as GradientPinkRed } from './gradients/PinkRed' 8 | export { default as GradientPurpleOrange } from './gradients/PurpleOrange' 9 | export { default as GradientPurpleRed } from './gradients/PurpleRed' 10 | export { default as GradientPurpleTeal } from './gradients/PurpleTeal' 11 | export { default as GradientSteelPurple } from './gradients/SteelPurple' 12 | export { default as GradientTealBlue } from './gradients/TealBlue' 13 | -------------------------------------------------------------------------------- /packages/vx-grid/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-grid/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/grid", 3 | "version": "0.2.0", 4 | "description": "vue-vx grid", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name grid ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "@vue-vx/point": "^0.2.0", 32 | "@vue-vx/shape": "^0.2.0", 33 | "vue": "^2.5.16" 34 | }, 35 | "devDependencies": { 36 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 37 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 38 | "@vue/cli-service": "^3.0.0-rc.10", 39 | "vue-template-compiler": "^2.5.16" 40 | }, 41 | "eslintConfig": { 42 | "root": true, 43 | "env": { 44 | "node": true 45 | }, 46 | "extends": [ 47 | "plugin:vue/essential", 48 | "eslint:recommended" 49 | ], 50 | "rules": {}, 51 | "parserOptions": { 52 | "parser": "babel-eslint" 53 | } 54 | }, 55 | "postcss": { 56 | "plugins": { 57 | "autoprefixer": {} 58 | } 59 | }, 60 | "browserslist": [ 61 | "> 1%", 62 | "last 2 versions", 63 | "not ie <= 8" 64 | ], 65 | "publishConfig": { 66 | "access": "public" 67 | }, 68 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 69 | } 70 | -------------------------------------------------------------------------------- /packages/vx-grid/src/grids/Columns.vue: -------------------------------------------------------------------------------- 1 | 15 | 66 | -------------------------------------------------------------------------------- /packages/vx-grid/src/grids/Grid.vue: -------------------------------------------------------------------------------- 1 | 31 | 77 | -------------------------------------------------------------------------------- /packages/vx-grid/src/grids/Rows.vue: -------------------------------------------------------------------------------- 1 | 16 | 67 | -------------------------------------------------------------------------------- /packages/vx-grid/src/index.js: -------------------------------------------------------------------------------- 1 | export { default as GridRows } from './grids/Rows' 2 | export { default as GridColumns } from './grids/Columns' 3 | export { default as Grid } from './grids/Grid' 4 | -------------------------------------------------------------------------------- /packages/vx-group/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-group/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/group", 3 | "version": "0.2.0", 4 | "description": "vue-vx group", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name group ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "vue": "^2.5.16" 32 | }, 33 | "devDependencies": { 34 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 35 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 36 | "@vue/cli-service": "^3.0.0-rc.10", 37 | "vue-template-compiler": "^2.5.16" 38 | }, 39 | "eslintConfig": { 40 | "root": true, 41 | "env": { 42 | "node": true 43 | }, 44 | "extends": [ 45 | "plugin:vue/essential", 46 | "eslint:recommended" 47 | ], 48 | "rules": {}, 49 | "parserOptions": { 50 | "parser": "babel-eslint" 51 | } 52 | }, 53 | "postcss": { 54 | "plugins": { 55 | "autoprefixer": {} 56 | } 57 | }, 58 | "browserslist": [ 59 | "> 1%", 60 | "last 2 versions", 61 | "not ie <= 8" 62 | ], 63 | "publishConfig": { 64 | "access": "public" 65 | }, 66 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 67 | } 68 | -------------------------------------------------------------------------------- /packages/vx-group/src/Group.vue: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /packages/vx-group/src/index.js: -------------------------------------------------------------------------------- 1 | export { default as Group } from './Group' 2 | -------------------------------------------------------------------------------- /packages/vx-heatmap/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-heatmap/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/heatmap", 3 | "version": "0.2.0", 4 | "description": "vue-vx heatmap", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name heatmap ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "@vue-vx/group": "^0.2.0", 32 | "vue": "^2.5.16" 33 | }, 34 | "devDependencies": { 35 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 36 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 37 | "@vue/cli-service": "^3.0.0-rc.10", 38 | "vue-template-compiler": "^2.5.16" 39 | }, 40 | "eslintConfig": { 41 | "root": true, 42 | "env": { 43 | "node": true 44 | }, 45 | "extends": [ 46 | "plugin:vue/essential", 47 | "eslint:recommended" 48 | ], 49 | "rules": {}, 50 | "parserOptions": { 51 | "parser": "babel-eslint" 52 | } 53 | }, 54 | "postcss": { 55 | "plugins": { 56 | "autoprefixer": {} 57 | } 58 | }, 59 | "browserslist": [ 60 | "> 1%", 61 | "last 2 versions", 62 | "not ie <= 8" 63 | ], 64 | "publishConfig": { 65 | "access": "public" 66 | }, 67 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 68 | } 69 | -------------------------------------------------------------------------------- /packages/vx-heatmap/src/Heatmap.vue: -------------------------------------------------------------------------------- 1 | 26 | -------------------------------------------------------------------------------- /packages/vx-heatmap/src/heatmaps/Circle.vue: -------------------------------------------------------------------------------- 1 | 25 | -------------------------------------------------------------------------------- /packages/vx-heatmap/src/heatmaps/Rect.vue: -------------------------------------------------------------------------------- 1 | 26 | -------------------------------------------------------------------------------- /packages/vx-heatmap/src/index.js: -------------------------------------------------------------------------------- 1 | export { default as Heatmap } from './Heatmap' 2 | -------------------------------------------------------------------------------- /packages/vx-hierarchy/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-hierarchy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/hierarchy", 3 | "version": "0.2.0", 4 | "description": "vue-vx hierarchy", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name hierarchy ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "@vue-vx/group": "^0.2.0", 32 | "vue": "^2.5.16" 33 | }, 34 | "devDependencies": { 35 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 36 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 37 | "@vue/cli-service": "^3.0.0-rc.10", 38 | "vue-template-compiler": "^2.5.16" 39 | }, 40 | "eslintConfig": { 41 | "root": true, 42 | "env": { 43 | "node": true 44 | }, 45 | "extends": [ 46 | "plugin:vue/essential", 47 | "eslint:recommended" 48 | ], 49 | "rules": {}, 50 | "parserOptions": { 51 | "parser": "babel-eslint" 52 | } 53 | }, 54 | "postcss": { 55 | "plugins": { 56 | "autoprefixer": {} 57 | } 58 | }, 59 | "browserslist": [ 60 | "> 1%", 61 | "last 2 versions", 62 | "not ie <= 8" 63 | ], 64 | "publishConfig": { 65 | "access": "public" 66 | }, 67 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 68 | } 69 | -------------------------------------------------------------------------------- /packages/vx-hierarchy/src/HierarchyDefaultLink.vue: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /packages/vx-hierarchy/src/HierarchyDefaultNode.vue: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /packages/vx-hierarchy/src/hierarchies/Cluster.vue: -------------------------------------------------------------------------------- 1 | 46 | -------------------------------------------------------------------------------- /packages/vx-hierarchy/src/hierarchies/Pack.vue: -------------------------------------------------------------------------------- 1 | 32 | -------------------------------------------------------------------------------- /packages/vx-hierarchy/src/hierarchies/Partition.vue: -------------------------------------------------------------------------------- 1 | 32 | -------------------------------------------------------------------------------- /packages/vx-hierarchy/src/hierarchies/Tree.vue: -------------------------------------------------------------------------------- 1 | 33 | -------------------------------------------------------------------------------- /packages/vx-hierarchy/src/hierarchies/Treemap.vue: -------------------------------------------------------------------------------- 1 | 29 | -------------------------------------------------------------------------------- /packages/vx-hierarchy/src/index.js: -------------------------------------------------------------------------------- 1 | export { default as Tree } from './hierarchies/Tree' 2 | export { default as Treemap } from './hierarchies/Treemap' 3 | export { default as Cluster } from './hierarchies/Cluster' 4 | export { default as Pack } from './hierarchies/Pack' 5 | export { default as Partition } from './hierarchies/Partition' 6 | export { default as HierarchyDefaultLink } from './HierarchyDefaultLink' 7 | export { default as HierarchyDefaultNode } from './HierarchyDefaultNode' 8 | -------------------------------------------------------------------------------- /packages/vx-legend/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-legend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/legend", 3 | "version": "0.2.0", 4 | "description": "vue-vx legend", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name legend ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "@vue-vx/group": "^0.2.0", 32 | "vue": "^2.5.16" 33 | }, 34 | "devDependencies": { 35 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 36 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 37 | "@vue/cli-service": "^3.0.0-rc.10", 38 | "vue-template-compiler": "^2.5.16" 39 | }, 40 | "eslintConfig": { 41 | "root": true, 42 | "env": { 43 | "node": true 44 | }, 45 | "extends": [ 46 | "plugin:vue/essential", 47 | "eslint:recommended" 48 | ], 49 | "rules": {}, 50 | "parserOptions": { 51 | "parser": "babel-eslint" 52 | } 53 | }, 54 | "postcss": { 55 | "plugins": { 56 | "autoprefixer": {} 57 | } 58 | }, 59 | "browserslist": [ 60 | "> 1%", 61 | "last 2 versions", 62 | "not ie <= 8" 63 | ], 64 | "publishConfig": { 65 | "access": "public" 66 | }, 67 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 68 | } 69 | -------------------------------------------------------------------------------- /packages/vx-legend/src/index.js: -------------------------------------------------------------------------------- 1 | export { default as Legend } from './legends/Legend' 2 | export { default as LegendQuantile } from './legends/Quantile' 3 | export { default as LegendLinear } from './legends/Linear' 4 | export { default as LegendOrdinal } from './legends/Ordinal' 5 | export { default as LegendThreshold } from './legends/Threshold' 6 | export { default as LegendSize } from './legends/Size' 7 | -------------------------------------------------------------------------------- /packages/vx-legend/src/legends/Legend.vue: -------------------------------------------------------------------------------- 1 | 26 | 132 | -------------------------------------------------------------------------------- /packages/vx-legend/src/legends/LegendItem.vue: -------------------------------------------------------------------------------- 1 | 10 | 43 | -------------------------------------------------------------------------------- /packages/vx-legend/src/legends/LegendLabel.vue: -------------------------------------------------------------------------------- 1 | 14 | -------------------------------------------------------------------------------- /packages/vx-legend/src/legends/LegendShape.vue: -------------------------------------------------------------------------------- 1 | 21 | -------------------------------------------------------------------------------- /packages/vx-legend/src/legends/Linear.vue: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /packages/vx-legend/src/legends/Ordinal.vue: -------------------------------------------------------------------------------- 1 | 11 | -------------------------------------------------------------------------------- /packages/vx-legend/src/legends/Quantile.vue: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /packages/vx-legend/src/legends/Size.vue: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /packages/vx-legend/src/legends/Threshold.vue: -------------------------------------------------------------------------------- 1 | 10 | 94 | -------------------------------------------------------------------------------- /packages/vx-legend/src/shapes/Circle.vue: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /packages/vx-legend/src/shapes/Rect.vue: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /packages/vx-legend/src/util/additionalProps.js: -------------------------------------------------------------------------------- 1 | import callOrValue from './callOrValue' 2 | 3 | export default function additionalProps(restProps, data) { 4 | return Object.keys(restProps).reduce((ret, cur) => { 5 | ret[cur] = callOrValue(restProps[cur], data) 6 | return ret 7 | }, {}) 8 | } 9 | -------------------------------------------------------------------------------- /packages/vx-legend/src/util/callOrValue.js: -------------------------------------------------------------------------------- 1 | export default function callOrValue(maybeFn, data) { 2 | if (typeof maybeFn === 'function') { 3 | return maybeFn(data); 4 | } 5 | return maybeFn; 6 | } 7 | -------------------------------------------------------------------------------- /packages/vx-legend/src/util/valueOrIdentity.js: -------------------------------------------------------------------------------- 1 | export default function valueOrIdentity(x) { 2 | if (x && x.value) return x.value; 3 | return x; 4 | } 5 | -------------------------------------------------------------------------------- /packages/vx-mock-data/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-mock-data/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/mock-data", 3 | "version": "0.2.0", 4 | "description": "vue-vx mock-data", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name mock-data ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "@vx/mock-data": "0.0.165", 32 | "vue": "^2.5.16" 33 | }, 34 | "devDependencies": { 35 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 36 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 37 | "@vue/cli-service": "^3.0.0-rc.10", 38 | "vue-template-compiler": "^2.5.16" 39 | }, 40 | "eslintConfig": { 41 | "root": true, 42 | "env": { 43 | "node": true 44 | }, 45 | "extends": [ 46 | "plugin:vue/essential", 47 | "eslint:recommended" 48 | ], 49 | "rules": {}, 50 | "parserOptions": { 51 | "parser": "babel-eslint" 52 | } 53 | }, 54 | "postcss": { 55 | "plugins": { 56 | "autoprefixer": {} 57 | } 58 | }, 59 | "browserslist": [ 60 | "> 1%", 61 | "last 2 versions", 62 | "not ie <= 8" 63 | ], 64 | "publishConfig": { 65 | "access": "public" 66 | }, 67 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 68 | } 69 | -------------------------------------------------------------------------------- /packages/vx-mock-data/src/index.js: -------------------------------------------------------------------------------- 1 | export * from '@vx/mock-data' -------------------------------------------------------------------------------- /packages/vx-pattern/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-pattern/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/pattern", 3 | "version": "0.2.0", 4 | "description": "vue-vx pattern", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name pattern ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "vue": "^2.5.16" 32 | }, 33 | "devDependencies": { 34 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 35 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 36 | "@vue/cli-service": "^3.0.0-rc.10", 37 | "vue-template-compiler": "^2.5.16" 38 | }, 39 | "eslintConfig": { 40 | "root": true, 41 | "env": { 42 | "node": true 43 | }, 44 | "extends": [ 45 | "plugin:vue/essential", 46 | "eslint:recommended" 47 | ], 48 | "rules": {}, 49 | "parserOptions": { 50 | "parser": "babel-eslint" 51 | } 52 | }, 53 | "postcss": { 54 | "plugins": { 55 | "autoprefixer": {} 56 | } 57 | }, 58 | "browserslist": [ 59 | "> 1%", 60 | "last 2 versions", 61 | "not ie <= 8" 62 | ], 63 | "publishConfig": { 64 | "access": "public" 65 | }, 66 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 67 | } 68 | -------------------------------------------------------------------------------- /packages/vx-pattern/src/index.js: -------------------------------------------------------------------------------- 1 | export { default as AbstractPattern } from './patterns/Pattern' 2 | export { default as PatternLines } from './patterns/Lines' 3 | export { default as PatternCircles } from './patterns/Circles' 4 | export { default as PatternWaves } from './patterns/Waves' 5 | export { default as PatternHexagons } from './patterns/Hexagons' 6 | export { default as PatternPath } from './patterns/Path' 7 | -------------------------------------------------------------------------------- /packages/vx-pattern/src/patterns/Circles.vue: -------------------------------------------------------------------------------- 1 | 27 | 65 | -------------------------------------------------------------------------------- /packages/vx-pattern/src/patterns/Hexagons.vue: -------------------------------------------------------------------------------- 1 | 20 | 63 | -------------------------------------------------------------------------------- /packages/vx-pattern/src/patterns/Lines.vue: -------------------------------------------------------------------------------- 1 | 23 | 104 | -------------------------------------------------------------------------------- /packages/vx-pattern/src/patterns/Path.vue: -------------------------------------------------------------------------------- 1 | 16 | 60 | -------------------------------------------------------------------------------- /packages/vx-pattern/src/patterns/Pattern.vue: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /packages/vx-pattern/src/patterns/Waves.vue: -------------------------------------------------------------------------------- 1 | 23 | 61 | -------------------------------------------------------------------------------- /packages/vx-point/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-point/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/point", 3 | "version": "0.2.0", 4 | "description": "vue-vx point", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name point ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "vue": "^2.5.16" 32 | }, 33 | "devDependencies": { 34 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 35 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 36 | "@vue/cli-service": "^3.0.0-rc.10", 37 | "vue-template-compiler": "^2.5.16" 38 | }, 39 | "eslintConfig": { 40 | "root": true, 41 | "env": { 42 | "node": true 43 | }, 44 | "extends": [ 45 | "plugin:vue/essential", 46 | "eslint:recommended" 47 | ], 48 | "rules": {}, 49 | "parserOptions": { 50 | "parser": "babel-eslint" 51 | } 52 | }, 53 | "postcss": { 54 | "plugins": { 55 | "autoprefixer": {} 56 | } 57 | }, 58 | "browserslist": [ 59 | "> 1%", 60 | "last 2 versions", 61 | "not ie <= 8" 62 | ], 63 | "publishConfig": { 64 | "access": "public" 65 | }, 66 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 67 | } 68 | -------------------------------------------------------------------------------- /packages/vx-point/src/index.js: -------------------------------------------------------------------------------- 1 | export * from '@vx/point' -------------------------------------------------------------------------------- /packages/vx-scale/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-scale/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/scale", 3 | "version": "0.2.0", 4 | "description": "vue-vx scale", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name scale ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "vue": "^2.5.16" 32 | }, 33 | "devDependencies": { 34 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 35 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 36 | "@vue/cli-service": "^3.0.0-rc.10", 37 | "vue-template-compiler": "^2.5.16" 38 | }, 39 | "eslintConfig": { 40 | "root": true, 41 | "env": { 42 | "node": true 43 | }, 44 | "extends": [ 45 | "plugin:vue/essential", 46 | "eslint:recommended" 47 | ], 48 | "rules": {}, 49 | "parserOptions": { 50 | "parser": "babel-eslint" 51 | } 52 | }, 53 | "postcss": { 54 | "plugins": { 55 | "autoprefixer": {} 56 | } 57 | }, 58 | "browserslist": [ 59 | "> 1%", 60 | "last 2 versions", 61 | "not ie <= 8" 62 | ], 63 | "publishConfig": { 64 | "access": "public" 65 | }, 66 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 67 | } 68 | -------------------------------------------------------------------------------- /packages/vx-scale/src/index.js: -------------------------------------------------------------------------------- 1 | export * from '@vx/scale' -------------------------------------------------------------------------------- /packages/vx-shape/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-shape/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/shape", 3 | "version": "0.2.0", 4 | "description": "vue-vx shape", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name shape ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "@vue-vx/curve": "^0.2.0", 32 | "@vue-vx/defaults": "^0.2.0", 33 | "@vue-vx/group": "^0.2.0", 34 | "@vue-vx/point": "^0.2.0", 35 | "vue": "^2.5.16" 36 | }, 37 | "devDependencies": { 38 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 39 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 40 | "@vue/cli-service": "^3.0.0-rc.10", 41 | "vue-template-compiler": "^2.5.16" 42 | }, 43 | "eslintConfig": { 44 | "root": true, 45 | "env": { 46 | "node": true 47 | }, 48 | "extends": [ 49 | "plugin:vue/essential", 50 | "eslint:recommended" 51 | ], 52 | "rules": {}, 53 | "parserOptions": { 54 | "parser": "babel-eslint" 55 | } 56 | }, 57 | "postcss": { 58 | "plugins": { 59 | "autoprefixer": {} 60 | } 61 | }, 62 | "browserslist": [ 63 | "> 1%", 64 | "last 2 versions", 65 | "not ie <= 8" 66 | ], 67 | "publishConfig": { 68 | "access": "public" 69 | }, 70 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 71 | } 72 | -------------------------------------------------------------------------------- /packages/vx-shape/src/index.js: -------------------------------------------------------------------------------- 1 | export { default as LinePath } from './shapes/LinePath' 2 | 3 | export { default as Bar } from './shapes/Bar' 4 | export { default as LineShape } from './shapes/Line' 5 | export { default as AreaShape } from './shapes/Area' 6 | export { default as AreaClosed } from './shapes/AreaClosed' 7 | export { default as AreaStack } from './shapes/AreaStack' 8 | export { default as BarGroup } from './shapes/BarGroup' 9 | export { default as BarGroupHorizontal } from './shapes/BarGroupHorizontal' 10 | export { default as BarStack } from './shapes/BarStack' 11 | export { default as LineRadial } from './shapes/LineRadial' 12 | export { default as Pie } from './shapes/Pie' 13 | export { default as Arc } from './shapes/Arc' 14 | 15 | export { default as LinkHorizontal } from './shapes/link/diagonal/LinkHorizontal' 16 | export { default as LinkVertical } from './shapes/link/diagonal/LinkVertical' 17 | export { default as LinkRadial } from './shapes/link/diagonal/LinkRadial' 18 | 19 | export { default as LinkHorizontalCurve } from './shapes/link/curve/LinkHorizontalCurve' 20 | export { default as LinkRadialCurve } from './shapes/link/curve/LinkRadialCurve' 21 | export { default as LinkVerticalCurve } from './shapes/link/curve/LinkVerticalCurve' 22 | 23 | export { default as LinkHorizontalLine } from './shapes/link/line/LinkHorizontalLine' 24 | export { default as LinkRadialLine } from './shapes/link/line/LinkRadialLine' 25 | export { default as LinkVerticalLine } from './shapes/link/line/LinkVerticalLine' 26 | 27 | export { default as LinkHorizontalStep } from './shapes/link/step/LinkHorizontalStep' 28 | export { default as LinkRadialStep } from './shapes/link/step/LinkRadialStep' 29 | export { default as LinkVerticalStep } from './shapes/link/step/LinkVerticalStep' -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/Arc.vue: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/Area.vue: -------------------------------------------------------------------------------- 1 | 14 | 69 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/AreaClosed.vue: -------------------------------------------------------------------------------- 1 | 16 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/AreaStack.vue: -------------------------------------------------------------------------------- 1 | 16 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/Bar.vue: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/BarGroup.vue: -------------------------------------------------------------------------------- 1 | 29 | 83 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/BarGroupHorizontal.vue: -------------------------------------------------------------------------------- 1 | 22 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/BarStack.vue: -------------------------------------------------------------------------------- 1 | 39 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/Line.vue: -------------------------------------------------------------------------------- 1 | 16 | 55 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/LinePath.vue: -------------------------------------------------------------------------------- 1 | 13 | 53 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/LineRadial.vue: -------------------------------------------------------------------------------- 1 | 16 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/Pie.vue: -------------------------------------------------------------------------------- 1 | 21 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/link/curve/LinkHorizontalCurve.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/link/curve/LinkRadialCurve.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/link/curve/LinkVerticalCurve.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/link/diagonal/LinkHorizontal.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/link/diagonal/LinkRadial.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/link/diagonal/LinkVertical.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/link/line/LinkHorizontalLine.vue: -------------------------------------------------------------------------------- 1 | 9 | 66 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/link/line/LinkRadialLine.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/link/line/LinkVerticalLine.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/link/step/LinkHorizontalStep.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/link/step/LinkRadialStep.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /packages/vx-shape/src/shapes/link/step/LinkVerticalStep.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /packages/vx-text/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-text/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/text", 3 | "version": "0.2.0", 4 | "description": "vue-vx text", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name text ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "vue": "^2.5.16" 32 | }, 33 | "devDependencies": { 34 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 35 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 36 | "@vue/cli-service": "^3.0.0-rc.10", 37 | "vue-template-compiler": "^2.5.16" 38 | }, 39 | "eslintConfig": { 40 | "root": true, 41 | "env": { 42 | "node": true 43 | }, 44 | "extends": [ 45 | "plugin:vue/essential", 46 | "eslint:recommended" 47 | ], 48 | "rules": {}, 49 | "parserOptions": { 50 | "parser": "babel-eslint" 51 | } 52 | }, 53 | "postcss": { 54 | "plugins": { 55 | "autoprefixer": {} 56 | } 57 | }, 58 | "browserslist": [ 59 | "> 1%", 60 | "last 2 versions", 61 | "not ie <= 8" 62 | ], 63 | "publishConfig": { 64 | "access": "public" 65 | }, 66 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 67 | } 68 | -------------------------------------------------------------------------------- /packages/vx-text/src/index.js: -------------------------------------------------------------------------------- 1 | export { default as Text } from './Text' 2 | -------------------------------------------------------------------------------- /packages/vx-threshold/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-threshold/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/threshold", 3 | "version": "0.2.0", 4 | "description": "vue-vx threshold", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name threshold ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "@vue-vx/clip-path": "^0.2.0", 32 | "@vue-vx/shape": "^0.2.0", 33 | "vue": "^2.5.16" 34 | }, 35 | "devDependencies": { 36 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 37 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 38 | "@vue/cli-service": "^3.0.0-rc.10", 39 | "vue-template-compiler": "^2.5.16" 40 | }, 41 | "eslintConfig": { 42 | "root": true, 43 | "env": { 44 | "node": true 45 | }, 46 | "extends": [ 47 | "plugin:vue/essential", 48 | "eslint:recommended" 49 | ], 50 | "rules": {}, 51 | "parserOptions": { 52 | "parser": "babel-eslint" 53 | } 54 | }, 55 | "postcss": { 56 | "plugins": { 57 | "autoprefixer": {} 58 | } 59 | }, 60 | "browserslist": [ 61 | "> 1%", 62 | "last 2 versions", 63 | "not ie <= 8" 64 | ], 65 | "publishConfig": { 66 | "access": "public" 67 | }, 68 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 69 | } 70 | -------------------------------------------------------------------------------- /packages/vx-threshold/src/Threshold.vue: -------------------------------------------------------------------------------- 1 | 37 | -------------------------------------------------------------------------------- /packages/vx-threshold/src/index.js: -------------------------------------------------------------------------------- 1 | export { default as Threshold } from './Threshold' 2 | -------------------------------------------------------------------------------- /packages/vx-tooltip/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-tooltip/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/tooltip", 3 | "version": "0.2.0", 4 | "description": "vue-vx tooltip", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name tooltip ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "vue": "^2.5.16" 32 | }, 33 | "devDependencies": { 34 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 35 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 36 | "@vue/cli-service": "^3.0.0-rc.10", 37 | "vue-template-compiler": "^2.5.16" 38 | }, 39 | "eslintConfig": { 40 | "root": true, 41 | "env": { 42 | "node": true 43 | }, 44 | "extends": [ 45 | "plugin:vue/essential", 46 | "eslint:recommended" 47 | ], 48 | "rules": {}, 49 | "parserOptions": { 50 | "parser": "babel-eslint" 51 | } 52 | }, 53 | "postcss": { 54 | "plugins": { 55 | "autoprefixer": {} 56 | } 57 | }, 58 | "browserslist": [ 59 | "> 1%", 60 | "last 2 versions", 61 | "not ie <= 8" 62 | ], 63 | "publishConfig": { 64 | "access": "public" 65 | }, 66 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 67 | } 68 | -------------------------------------------------------------------------------- /packages/vx-tooltip/src/enhancers/withTooltip.js: -------------------------------------------------------------------------------- 1 | export default { 2 | data () { 3 | return { 4 | containerStyle: { 5 | position: 'relative', 6 | width: 'inherit', 7 | height: 'inherit' 8 | }, 9 | tooltipOpen: false, 10 | tooltipLeft: 0, 11 | tooltipTop: 0, 12 | tooltipTimeout: null, 13 | tooltipData: [] 14 | } 15 | }, 16 | methods: { 17 | updateTooltip ({ tooltipOpen, tooltipLeft = undefined, tooltipTop = undefined, tooltipData = undefined }) { 18 | this.tooltipOpen = tooltipOpen, 19 | this.tooltipLeft = tooltipLeft, 20 | this.tooltipTop = tooltipTop 21 | this.tooltipData = tooltipData 22 | }, 23 | showTooltip ({ tooltipLeft, tooltipTop, tooltipData }) { 24 | this.updateTooltip({ 25 | tooltipOpen: true, 26 | tooltipLeft, 27 | tooltipTop, 28 | tooltipData 29 | }) 30 | }, 31 | hideTooltip (delay = 0) { 32 | this.tooltipTimeout = setTimeout(() => { 33 | this.updateTooltip({ 34 | tooltipOpen: false 35 | }) 36 | }, delay) 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /packages/vx-tooltip/src/index.js: -------------------------------------------------------------------------------- 1 | export { default as withTooltip } from './enhancers/withTooltip' 2 | export { default as Tooltip } from './tooltips/Tooltip' 3 | export { default as TooltipWithBounds } from './tooltips/TooltipWithBounds' 4 | -------------------------------------------------------------------------------- /packages/vx-tooltip/src/tooltips/Tooltip.vue: -------------------------------------------------------------------------------- 1 | 10 | 40 | -------------------------------------------------------------------------------- /packages/vx-tooltip/src/tooltips/TooltipWithBounds.vue: -------------------------------------------------------------------------------- 1 | 9 | 59 | -------------------------------------------------------------------------------- /packages/vx-voronoi/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } -------------------------------------------------------------------------------- /packages/vx-voronoi/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-vx/voronoi", 3 | "version": "0.2.0", 4 | "description": "vue-vx voronoi", 5 | "sideEffects": false, 6 | "main": "src/index.js", 7 | "scripts": { 8 | "build": "vue-cli-service build --target lib --name voronoi ./src/index.js" 9 | }, 10 | "files": [ 11 | "src" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/jens-ox/vue-vx.git" 16 | }, 17 | "keywords": [ 18 | "vue-vx", 19 | "vue", 20 | "d3", 21 | "visualizations", 22 | "charts" 23 | ], 24 | "author": "@jens-ox", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/jens-ox/vue-vx/issues" 28 | }, 29 | "homepage": "https://github.com/jens-ox/vue-vx#readme", 30 | "dependencies": { 31 | "vue": "^2.5.16" 32 | }, 33 | "devDependencies": { 34 | "@vue/cli-plugin-babel": "^3.0.0-rc.10", 35 | "@vue/cli-plugin-eslint": "^3.0.0-rc.10", 36 | "@vue/cli-service": "^3.0.0-rc.10", 37 | "vue-template-compiler": "^2.5.16" 38 | }, 39 | "eslintConfig": { 40 | "root": true, 41 | "env": { 42 | "node": true 43 | }, 44 | "extends": [ 45 | "plugin:vue/essential", 46 | "eslint:recommended" 47 | ], 48 | "rules": {}, 49 | "parserOptions": { 50 | "parser": "babel-eslint" 51 | } 52 | }, 53 | "postcss": { 54 | "plugins": { 55 | "autoprefixer": {} 56 | } 57 | }, 58 | "browserslist": [ 59 | "> 1%", 60 | "last 2 versions", 61 | "not ie <= 8" 62 | ], 63 | "publishConfig": { 64 | "access": "public" 65 | }, 66 | "gitHead": "56999d684816b409302f24b61399a9bb61932766" 67 | } 68 | -------------------------------------------------------------------------------- /packages/vx-voronoi/src/components/VoronoiPolygon.vue: -------------------------------------------------------------------------------- 1 | 9 | 27 | -------------------------------------------------------------------------------- /packages/vx-voronoi/src/index.js: -------------------------------------------------------------------------------- 1 | export { default as voronoi } from './voronoi' 2 | export { default as VoronoiPolygon } from './components/VoronoiPolygon' 3 | -------------------------------------------------------------------------------- /packages/vx-voronoi/src/voronoi.js: -------------------------------------------------------------------------------- 1 | import { voronoi as d3Voronoi } from 'd3-voronoi' 2 | 3 | export default ({ width = 0, height = 0, x, y }) => { 4 | const voronoi = d3Voronoi() 5 | 6 | if (x) voronoi.x(x) 7 | if (y) voronoi.y(y) 8 | 9 | voronoi.extent([[-1, -1], [width + 1, height + 1]]) 10 | 11 | return voronoi 12 | } 13 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jens-ox/vue-vx/7a2b22b7e12872bd0b0704faba95e54b2c1647dd/public/favicon.ico -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | vue-vx 9 | 10 | 11 | 14 |
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /public/screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jens-ox/vue-vx/7a2b22b7e12872bd0b0704faba95e54b2c1647dd/public/screenshot.jpg -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 17 | 18 | 28 | -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jens-ox/vue-vx/7a2b22b7e12872bd0b0704faba95e54b2c1647dd/src/assets/logo.png -------------------------------------------------------------------------------- /src/components/BarGraph.vue: -------------------------------------------------------------------------------- 1 | 28 | 84 | -------------------------------------------------------------------------------- /src/components/BarGroupGraph.vue: -------------------------------------------------------------------------------- 1 | 40 | 120 | -------------------------------------------------------------------------------- /src/components/BarGroupHorizontalGraph.vue: -------------------------------------------------------------------------------- 1 | 31 | -------------------------------------------------------------------------------- /src/components/ChordGraph.vue: -------------------------------------------------------------------------------- 1 | 39 | -------------------------------------------------------------------------------- /src/components/DendrogramGraph.vue: -------------------------------------------------------------------------------- 1 | 62 | -------------------------------------------------------------------------------- /src/components/GlyphGraph.vue: -------------------------------------------------------------------------------- 1 | 65 | -------------------------------------------------------------------------------- /src/components/GradientGraph.vue: -------------------------------------------------------------------------------- 1 | 95 | 129 | -------------------------------------------------------------------------------- /src/components/Graph.vue: -------------------------------------------------------------------------------- 1 | 32 | 96 | -------------------------------------------------------------------------------- /src/components/PieGraph.vue: -------------------------------------------------------------------------------- 1 | 43 | -------------------------------------------------------------------------------- /src/components/PointGraph.vue: -------------------------------------------------------------------------------- 1 | 41 | 114 | -------------------------------------------------------------------------------- /src/components/RadialGraph.vue: -------------------------------------------------------------------------------- 1 | 55 | -------------------------------------------------------------------------------- /src/components/StackedAreaGraph.vue: -------------------------------------------------------------------------------- 1 | 27 | 85 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | 4 | Vue.config.productionTip = false 5 | 6 | new Vue({ 7 | render: h => h(App) 8 | }).$mount('#app') 9 | -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | configureWebpack: { 3 | devtool: 'source-map' 4 | } 5 | } 6 | --------------------------------------------------------------------------------