A Web Component for building an SVG Sparkline. https://chrisburnell.com/svg-sparkline/
Find a file
2025-10-22 14:41:41 -03:00
.github test: use linkedom to test web component functionality 2024-08-08 13:54:26 +08:00
assets docs: update screenshot to use show new gradient 2024-07-12 18:53:08 +08:00
.editorconfig chore: update .editorconfig 2024-08-06 14:06:18 +08:00
.npmignore feat: add JSDoc type references + Custom Elements Manifest file 2025-10-22 14:41:41 -03:00
.prettierignore chore: code clean up 2024-08-06 13:58:04 +08:00
.prettierrc test: use linkedom to test web component functionality 2024-08-08 13:54:26 +08:00
custom-elements-manifest.config.js feat: add JSDoc type references + Custom Elements Manifest file 2025-10-22 14:41:41 -03:00
custom-elements.json feat: add JSDoc type references + Custom Elements Manifest file 2025-10-22 14:41:41 -03:00
demo.html refactor: clean-up naming and add ability to transition 2025-02-11 21:16:37 -04:00
LICENSE initial 2024-01-21 16:47:47 +08:00
package-lock.json feat: add JSDoc type references + Custom Elements Manifest file 2025-10-22 14:41:41 -03:00
package.json feat: add JSDoc type references + Custom Elements Manifest file 2025-10-22 14:41:41 -03:00
README.md refactor: clean-up naming and add ability to transition 2025-02-11 21:16:37 -04:00
svg-sparkline.js feat: add JSDoc type references + Custom Elements Manifest file 2025-10-22 14:41:41 -03:00
svg-sparkline.min.js feat: add JSDoc type references + Custom Elements Manifest file 2025-10-22 14:41:41 -03:00
svg-sparkline.test.js refactor: clean-up naming and add ability to transition 2025-02-11 21:16:37 -04:00

examples of the SVG Sparkline web component

svg-sparkline

A Web Component that builds an SVG Sparkline.

Demo | Further reading

Examples

General usage example

<script type="module" src="svg-sparkline.js"></script>

<svg-sparkline values="8,3,2,7,9,1,5,6,4,0,0,10,10,3,8,2,7,1,9"></svg-sparkline>

With curve

<svg-sparkline values="8,3,2,7,9,1,5,6,4,0,0,10,10,3,8,2,7,1,9" curve="true"></svg-sparkline>

Start and End labels

<svg-sparkline values="8,3,2,7,9,1,5,6,4,0,0,10,10,3,8,2,7,1,9" start-label="Start" end-label="End"></svg-sparkline>

Animated

<svg-sparkline values="8,3,2,7,9,1,5,6,4,0,0,10,10,3,8,2,7,1,9" animate="true"></svg-sparkline>

Defined Animation Duration

<svg-sparkline values="8,3,2,7,9,1,5,6,4,0,0,10,10,3,8,2,7,1,9" animate="true" animation-duration="2s"></svg-sparkline>

Defined Animation Delay

<svg-sparkline values="8,3,2,7,9,1,5,6,4,0,0,10,10,3,8,2,7,1,9" animate="true" animation-delay="2s"></svg-sparkline>

Defined color

<svg-sparkline values="8,3,2,7,9,1,5,6,4,0,0,10,10,3,8,2,7,1,9" color="purple"></svg-sparkline>

With gradient

<svg-sparkline values="8,3,2,7,9,1,5,6,4,0,0,10,10,3,8,2,7,1,9" gradient="true"></svg-sparkline>

Defined gradient color

<svg-sparkline values="8,3,2,7,9,1,5,6,4,0,0,10,10,3,8,2,7,1,9" gradient="true" gradient-color="rebeccapurple"></svg-sparkline>

Filled

<svg-sparkline values="8,3,2,7,9,1,5,6,4,0,0,10,10,3,8,2,7,1,9" fill="true"></svg-sparkline>

Defined fill color

<svg-sparkline values="8,3,2,7,9,1,5,6,4,0,0,10,10,3,8,2,7,1,9" fill="true" fill-color="rebeccapurple"></svg-sparkline>

Defined endpoint color

<svg-sparkline values="8,3,2,7,9,1,5,6,4,0,0,10,10,3,8,2,7,1,9" endpoint-color="red"></svg-sparkline>

Defined endpoint radius

<svg-sparkline values="8,3,2,7,9,1,5,6,4,0,0,10,10,3,8,2,7,1,9" endpoint-radius="12"></svg-sparkline>

Without endpoint

<svg-sparkline values="8,3,2,7,9,1,5,6,4,0,0,10,10,3,8,2,7,1,9" endpoint="false"></svg-sparkline>

Defined line/stroke width

<svg-sparkline values="8,3,2,7,9,1,5,6,4,0,0,10,10,3,8,2,7,1,9" stroke-width="6"></svg-sparkline>

Defined width and height

<svg-sparkline values="8,3,2,7,9,1,5,6,4,0,0,10,10,3,8,2,7,1,9" width="300" height="100"></svg-sparkline>

Set a custom title

<svg-sparkline values="8,3,2,7,9,1,5,6,4,0,0,10,10,3,8,2,7,1,9" title="Sparkline with a custom title"></svg-sparkline>

Features

This Web Component builds a sparkline based on the required values attribute.

Installation

You have a few options (choose one of these):

  1. Install via npm: npm install @chrisburnell/svg-sparkline
  2. Download the source manually from GitHub into your project.
  3. Skip this step and use the script directly via a 3rd party CDN (not recommended for production use)

Usage

Make sure you include the <script> in your project (choose one of these):

<!-- Host yourself -->
<script type="module" src="svg-sparkline.js"></script>
<!-- 3rd party CDN, not recommended for production use -->
<script
  type="module"
  src="https://www.unpkg.com/@chrisburnell/svg-sparkline/svg-sparkline.js"
></script>
<!-- 3rd party CDN, not recommended for production use -->
<script
  type="module"
  src="https://esm.sh/@chrisburnell/svg-sparkline"
></script>

Credit

With thanks to the following people: