React components for chartscss.
npm i charts-css-react
yarn add charts-css-react
For details on using the css utility framework please see the Charts.css website
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>
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]]} />
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 csscalc()
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>
Charts.CSS React and Charts.CSS are licensed under the MIT license.
Charts.CSS React is not affiliated with the creators of Charts.CSS.