Giter Site home page Giter Site logo

charts-css-react's Introduction

Charts.css for React

React components for chartscss.

Version

Install

Npm

npm i charts-css-react

Yarn

yarn add charts-css-react

Motivation

accessibility

Usage

For details on using the css utility framework please see the Charts.css website

Chart

The base component for charts. It's possible to create any of the supported charts.

Charts.css is a modern CSS framework. It uses CSS utility classes to style HTML elements as charts.

The Chart component raises those utility classes to a component and relies on naive logic to apply them. The intent is to surface the underlying framework to build higher level components for simple convenience if needed. Experimental

import { CSSProperties } from 'react';
import { Chart } from 'hollanddd/chart-css-react';

<Chart hideData showDataOnHover>
  <tr>
    <th scope="row">Example</th>
    <td style={{"--size": "calc(90/100)"} as CSSProperties }>$90K</td>
  </tr>
  <tr>
    <th scope="row">Example</th>
    <td>$100K</td>
  </tr>
</Chart>

Higher Order Chart Component

Bar, column, area, and line chart higher order components are available for building charts from a data object.

<BarChart data={[40, 60, 75, 80, 100]} />

Providing a matrix automatically applies the multiple utility class.

<AreaChart data={[[40, 60], [75, 80]]} />

Data Component

The Data component is a wrapper around td and performs some functions such as converting size to the CSSProperties type required by style.

  • size is a string of css calc() function or float "0.0" to "1.0".
  • toolTip optional message to display on hover
import { Chart, Data } from 'hollanddd/chart-css-react';

<Chart>
  <tr>
    <th scope="row">One</th>
    <Data size="calc(90/100)">$90k</Data>
  </tr>
  <tr>
    <th scope="row">Two</th>
    <Data toolTip="this is a tooltip">$100k</Data>
  </tr>
</Chart>

The AreaChart and LineChart components abstract away the need to write table row and data cell elements.

import { AreaChart } from 'hollanddd/chart-css-react';

<AreaChart data={[2, 4, 8, 6, 1, 3]} />

Same example but using the base Chart component

import { Chart, Data } from 'hollanddd/chart-css-react';

<Chart type="area">
  <tr>
    <Data start="0.2" size="0.4" />
  </tr>
  <tr>
    <Data start="0.4" size="0.8" />
  </tr>
  <tr>
    <Data start="0.8" size="0.6" />
  </tr>
  <tr>
    <Data start="0.6" size="1.0" />
  </tr>
  <tr>
    <Data start="1.0" size="0.3" />
  </tr>
</Chart>

License

Charts.CSS React and Charts.CSS are licensed under the MIT license.

Charts.CSS React is not affiliated with the creators of Charts.CSS.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.