0.4.0 • Published 12 months ago

simple-sparkline-chart v0.4.0

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

šŸ“ˆ Simple SparkLine Chart

A lightweight, customizable, and easy-to-use SparkLine chart library with tooltip and flexible options, written in TypeScript.

DEMO

CodePen šŸ‘€

Production šŸ‘€

Library

NPMJS šŸ“¦

UNPKG </>

GITHUB šŸ”®

šŸš€ Features

  • šŸ”„ Lightweight - Small footprint and blazing fast rendering.
  • šŸŽØ Customizable - Control colors, sizes, tooltips, and more.
  • šŸŽÆ TypeScript Support - Fully typed for better development experience.
  • šŸ“¦ Multiple Formats - Available as CommonJS, ESModule, and a global script for easy CDN usage.

šŸ“¦ Installation

Using npm:

npm install simple-sparkline-chart

Using CDN:

<script src="https://www.unpkg.com/simple-sparkline-chart"></script>

You can then use it via the global SimpleSparkLineChart:

<script>
  new SimpleSparkLineChart(".chart");
</script>

šŸ“š Usage

1ļøāƒ£ Basic Example

<div
  class="sparkline"
  data-values="1,2,3,4,5,6,7"
  data-width="200"
  data-height="40"
></div>

<script>
  new SimpleSparkLineChart(".sparkline");
</script>

This will create a basic SparkLine chart using the specified data-values.

2ļøāƒ£ With Custom Options

<div
  class="sparkline"
  data-values="0.5,1.5,2.3,3.8,2.9,3.4"
  data-width="300"
  data-height="60"
  data-color-stroke="#00f"
  data-filled="0.3"
  data-tooltip="top"
  data-aria-label="My SparkLine Chart"
></div>

<script>
  new SimpleSparkLineChart(".sparkline");
</script>

šŸ”§ Data Attributes

AttributeTypeDefaultDescription
data-valuesstringnull (Required)A comma-separated list of values or JSON data to plot.
data-widthnumber200The width of the chart in pixels.
data-heightnumberProportional to widthThe height of the chart in pixels. Automatically calculated based on width, maintaining a proportional aspect ratio.
data-color-strokestring#8956ffThe color of the chart line (stroke).
data-fillednumber(none)Defines the opacity of the fill area under the line if set. If not provided, no fill is displayed.
data-tooltipstringtopTooltip position: "top" or "bottom". Tooltip is enabled if this attribute is set.
data-aria-labelstringSimple SparkLine ChartAccessible label for the chart.
data-localestringUser's localeThe locale used for formatting dates in tooltips (if using timestamp data).

šŸ§‘ā€šŸ’» API

You can initialize the chart with the SimpleSparkLineChart constructor, and it automatically processes all matching elements.

Constructor

new SimpleSparkLineChart(selector: string);

  • selector: A CSS selector string to target the elements where the chart will be rendered.

šŸŽØ Customization

You can customize the following:

  1. Stroke and Fill: Set your own colors for the line and the area below it with data-color-stroke and data-filled.
  2. Dimensions: Control the width and height of the chart using data-width and data-height.
  3. Tooltips: Enable or disable tooltips with data-tooltip, and adjust their position with data-tooltip-position.

šŸ“Š Example of Object Data

You can pass an array of objects with timestamps and values:

<div
  class="sparkline"
  data-values='[
        {"timestamp":1693526400000,"value":0.93},
        {"timestamp":1693612800000,"value":0.9315}
    ]'
  data-tooltip="top"
></div>

<script>
  new SimpleSparkLineChart(".sparkline");
</script>

šŸš€ Optimized for Performance

  • Minimized for production: The library is optimized to deliver minimal JS overhead.
  • Supports all modern browsers: Works in all major browsers including Chrome, Firefox, Safari, and Edge.

šŸ”„ CDN Usage

For quick usage without installing npm dependencies:

<script src="https://www.unpkg.com/simple-sparkline-chart"></script>

šŸ”§ Development

To build the project locally:

Install dependencies

npm install

Run the development server

npm start

Build the project

npm run build

Run tests

npm run test

šŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

šŸ’¬ Feedback and Contributions

Feel free to open an issue if you find a bug or have a feature request. Pull requests are welcome! šŸ™Œ

Hope you enjoy using Simple SparkLine Chart! šŸš€āœØ

0.3.9

12 months ago

0.3.8

12 months ago

0.4.0

12 months ago

0.3.6

1 year ago

0.3.5

1 year ago

0.3.4

1 year ago

0.3.3

1 year ago

0.3.2

1 year ago

0.3.1

1 year ago

0.3.0

1 year ago

0.2.3

1 year ago

0.2.2

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago