Directory

← Back

vcf-svg

Web component for manipulating and animating SVG.

Author

Rating

Popularity

<100

<vcf-svg>

Gitter npm version Published on Vaadin Directory

Web Component for manipulating and animating SVG.

  • Web Component wrapper for the JS library SVG.js.
  • Zoom and pan functionality implemented with d3-zoom.
  • Draggable functionality implemented with plugin svg.draggable.js.

Live demo ↗ | API documentation ↗

Installation

Install vcf-svg:

npm i @vaadin-component-factory/vcf-svg --save

Usage

Once installed, import it in your application:

import '@vaadin-component-factory/vcf-svg';

Add <vcf-svg> element to the page.

<vcf-svg></vcf-svg>

Running demo

  1. Fork the vcf-svg repository and clone it locally.

  2. Make sure you have npm installed.

  3. When in the vcf-svg directory, run npm install to install dependencies.

  4. Run npm start to open the demo.

Server-side API

This is the client-side (Polymer 3) web component. If you are looking for this web components server-side (Java) API for the Vaadin Platform, it can be found here: https://vaadin.com/directory/component/svg-component

Vaadin Prime

This component is available in the Vaadin Prime subscription. It is still open source, but you need to have a valid CVAL license in order to use it. Read more at: https://vaadin.com/pricing

License

Commercial Vaadin Add-on License version 3 (CVALv3). For license terms, see LICENSE.

Vaadin collects development time usage statistics to improve this product. For details and to opt-out, see: https://github.com/vaadin/vaadin-usage-statistics

Compatibility

(Loading compatibility data...)

Was this helpful? Need more help?
Leave a comment or a question below. You can also join the chat on Discord or ask questions on StackOverflow.

Version

Dependencies

  • @polymer/polymer#^3.4.0
  • @svgdotjs/svg.js#^3.0.16
  • @vaadin/button#^24.2.0
  • @vaadin/component-base#^24.2.0
  • @vaadin/vaadin-lumo-styles#^24.2.0
  • @vaadin/vaadin-themable-mixin#^24.2.0
  • d3#^5.16.0
Released
2023-10-27
Maturity
IMPORTED
License
Other

Compatibility

Framework
Polymer 3.0+
Browser
Browser Independent

vcf-svg - Vaadin Add-on Directory

Web component for manipulating and animating SVG. vcf-svg - Vaadin Add-on Directory
# <vcf-svg> [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/vaadin/web-components?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![npm version](https://badgen.net/npm/v/@vaadin-component-factory/vcf-svg)](https://www.npmjs.com/package/@vaadin-component-factory/vcf-svg) [![Published on Vaadin Directory](https://img.shields.io/badge/Vaadin%20Directory-published-00b4f0.svg)](https://vaadin.com/directory/component/vaadin-component-factoryvcf-svg) Web Component for manipulating and animating [SVG](https://developer.mozilla.org/en-US/docs/Web/SVG). - Web Component wrapper for the JS library [SVG.js](https://svgjs.com/docs/3.0). - Zoom and pan functionality implemented with [d3-zoom](https://github.com/d3/d3-zoom). - Draggable functionality implemented with plugin [svg.draggable.js](https://github.com/svgdotjs/svg.draggable.js). [Live demo ↗](https://vcf-svg.netlify.com) | [API documentation ↗](https://vcf-svg.netlify.com/api/#/elements/Vaadin.VcfSvg) ## Installation Install `vcf-svg`: ```sh npm i @vaadin-component-factory/vcf-svg --save ``` ## Usage Once installed, import it in your application: ```js import '@vaadin-component-factory/vcf-svg'; ``` Add `` element to the page. ```html ``` ## Running demo 1. Fork the `vcf-svg` repository and clone it locally. 1. Make sure you have [npm](https://www.npmjs.com/) installed. 1. When in the `vcf-svg` directory, run `npm install` to install dependencies. 1. Run `npm start` to open the demo. ## Server-side API This is the client-side (Polymer 3) web component. If you are looking for this web components server-side (Java) API for the Vaadin Platform, it can be found here: https://vaadin.com/directory/component/svg-component ## Vaadin Prime This component is available in the Vaadin Prime subscription. It is still open source, but you need to have a valid CVAL license in order to use it. Read more at: https://vaadin.com/pricing ## License Commercial Vaadin Add-on License version 3 (CVALv3). For license terms, see LICENSE. Vaadin collects development time usage statistics to improve this product. For details and to opt-out, see: https://github.com/vaadin/vaadin-usage-statistics
License
View on NPM
View on GitHub

vcf-svg version 0.1.1
### Dependencies * @polymer/polymer#^3.0.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#^1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1

vcf-svg version 0.1.2
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/iron-iconset-svg#^3.0.1 * @polymer/polymer#^3.0.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#^2.3.0 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#^1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 0.1.3
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/iron-iconset-svg#^3.0.1 * @polymer/polymer#^3.0.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#^2.3.0 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#^1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 0.1.4
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/iron-iconset-svg#^3.0.1 * @polymer/polymer#^3.0.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#^2.3.0 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#^1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 0.1.5
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/iron-iconset-svg#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#2.2.1 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#^1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 0.1.6
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/iron-iconset-svg#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#2.2.1 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#^1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 0.1.7
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/iron-iconset-svg#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#2.2.1 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#^1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 0.1.10
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/iron-iconset-svg#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#2.2.1 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#^1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 0.1.8
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/iron-iconset-svg#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#2.2.1 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#^1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 0.1.9
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/iron-iconset-svg#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#2.2.1 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#^1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 0.1.11
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/iron-iconset-svg#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#2.2.1 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#^1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 0.1.12
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/iron-iconset-svg#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#2.2.1 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#^1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 0.1.13
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/iron-iconset-svg#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#2.2.1 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#^1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 0.1.14
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/iron-iconset-svg#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#2.2.1 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#^1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 1.0.0
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/iron-iconset-svg#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#2.2.2 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 1.0.1
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/iron-iconset-svg#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#2.2.2 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 1.0.2
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/iron-iconset-svg#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#2.2.2 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 1.0.3
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/iron-iconset-svg#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#2.2.2 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 1.0.4
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/iron-iconset-svg#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#2.2.2 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-license-checker#^2.1.2 * @vaadin/vaadin-lumo-styles#1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 1.0.5
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#2.2.2 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-lumo-styles#1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 1.0.6
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#^2.2.2 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-lumo-styles#^1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 1.0.7
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#^2.2.2 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-lumo-styles#^1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 1.0.8
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/polymer#3.2.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/vaadin-button#^2.2.2 * @vaadin/vaadin-element-mixin#^2.1.3 * @vaadin/vaadin-lumo-styles#^1.5.0 * @vaadin/vaadin-themable-mixin#^1.5.1 * d3#^5.16.0

vcf-svg version 23.1.0
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/polymer#^3.4.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/button#^23.1.0 * @vaadin/component-base#^23.1.0 * @vaadin/vaadin-lumo-styles#^23.1.0 * @vaadin/vaadin-themable-mixin#^23.1.0 * d3#^5.16.0

vcf-svg version 23.1.1
### Dependencies * @polymer/iron-icon#^3.0.1 * @polymer/polymer#^3.4.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/button#^23.1.0 * @vaadin/component-base#^23.1.0 * @vaadin/vaadin-lumo-styles#^23.1.0 * @vaadin/vaadin-themable-mixin#^23.1.0 * d3#^5.16.0

vcf-svg version 24.0.1
### Dependencies * @polymer/polymer#^3.4.0 * @svgdotjs/svg.js#^3.0.16 * @vaadin/button#^24.2.0 * @vaadin/component-base#^24.2.0 * @vaadin/vaadin-lumo-styles#^24.2.0 * @vaadin/vaadin-themable-mixin#^24.2.0 * d3#^5.16.0

Online