JSFiddle - React, Tailwind, and code Playground

by stitot

HTML

<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/dashboards/datagrid.js"></script>
<script src="https://code.highcharts.com/dashboards/dashboards.js"></script>
<script src="https://code.highcharts.com/dashboards/modules/layout.js"></script>
<script src="https://code.highcharts.com/modules/accessibility.js"></script>

<h1 id="title">MicroElement amount in Foods</h1>
<div id="container"></div>
<p class="highcharts-description">
  The basic dashboard shows the amount of Vitamin A and Iron in foods.<br/>
  *Recommended Dietary Allowance (RDA).
</p>

CSS

@import url("https://code.highcharts.com/css/highcharts.css");
@import url("https://code.highcharts.com/dashboards/css/datagrid.css");
@import url("https://code.highcharts.com/dashboards/css/dashboards.css");

/* Demo default style overrides */
:root {
  --text: #000;
  --background: #eeeeee;
}

@media (prefers-color-scheme: dark) {
  :root {
    --text: #fff;
    --background: #000000;
  }
}

body {
  background: var(--background);
  color: var(--text);
}

/* ******************** */
/* Light mode overrides */
/* ******************** */

@media (prefers-color-scheme: light) {
  :root {
    --highcharts-background-color: #ffffff;
    /* colors */
    --highcharts-neutral-color-100: #000000;
    --highcharts-neutral-color-80: #333333;
    --highcharts-neutral-color-60: #666666;
    --highcharts-neutral-color-20: #b1b1b1;
    --highcharts-neutral-color-5: #e4e4e4;
    --highcharts-neutral-color-3: #eeeeee;
    --highcharts-neutral-color-0: #ffffff;
  }
  /* some style overrides */
  .highcharts-dashboards-cell > .highcharts-dashboards-component {
    border-radius: 6px;
    overflow: hidden;
    background-color: var(--highcharts-neutral-color-0);
    border-top: 1px solid var(--highcharts-neutral-color-0);
    
  .highcharts-dashboards,
  .highcharts-dashboards-wrapper {
    background-color: var(--highcharts-neutral-color-3);
  }
}

/* ******************* */
/* Dark mode overrides */
/* ******************* */
@media (prefers-color-scheme: dark) {
  :root {
    --highcharts-background-color: #141414;
    /* colors */
    --highcharts-neutral-color-100: #ffffff;
    --highcharts-neutral-color-80: #d0d0d0;
    --highcharts-neutral-color-60: #a1a1a1;
    --highcharts-neutral-color-40: #727272;
    --highcharts-neutral-color-20: #434343;
    --highcharts-neutral-color-10: #2c2c2c;
    --highcharts-neutral-color-5: #202020;
    --highcharts-neutral-color-3: #1b1b1b;
  }
  /* some style overrides */
 ...

JavaScript

Highcharts.setOptions({
    chart: {
        styledMode: true
    }
});
Dashboards.board('container', {
    dataPool: {
        connectors: [{
            id: 'micro-element',
            type: 'JSON',
            options: {
                firstRowAsNames: false,
                columnNames: ['Food', 'Vitamin A',  'Iron'],
                data: [
                    ['Beef Liver', 6421, 6.5],
                    ['Lamb Liver', 2122, 6.5],
                    ['Cod Liver Oil', 1350, 0.9],
                    ['Mackerel', 388, 1],
                    ['Tuna', 214, 0.6]
                ]
            }
        }]
    },
    editMode: {
        enabled: true,
        contextMenu: {
            enabled: true
        }
    },
    gui: {
        layouts: [{
            rows: [{
                cells: [{
                    id: 'kpi-wrapper',
                    layout: {
                        rows: [{
                            cells: [{
                                id: 'kpi-vitamin-a'
                            }, {
                                id: 'kpi-iron'
                            }]
                        }]
                    }
                }, {
                    id: 'dashboard-col-0'
                }, {
                    id: 'dashboard-col-1'
                }]
            }, {
                cells: [{
                    id: 'dashboard-col-2'
                }]
            }]
        }]
    },
    components: [{
        type: 'KPI',
        renderTo: 'kpi-vitamin-a',
        value: 900,
        valueFormat: '{value}',
        title: 'Vitamin A',
        subtitle: 'daily recommended dose'
    }, {
        type: 'KPI',
        renderTo: 'kpi-iron',
        value: 8,
        title: 'Iron',
        valueFormat: '{value}',
        subtitle: 'daily recommended dose'
    }, {
        sync: {
            visibility: true,
            highlight: true,
            extremes:...