<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Sparklines</title>

  <link href="../../assets/styles.css" rel="stylesheet" />

  <style>
    .row {
      overflow: hidden;
      max-width: 890px;
      margin: 30px auto;
      display: flex;
    }

    .col-md-4 {
      width: 33.33%;
      padding: 0 25px;
    }

    table {
      width: 100%;
    }

    tbody tr {
      border-top: 1px solid #e7e7e7;
    }

    th {
      font-weight: bold;
      font-family: Helvetica;
      padding-bottom: 20px;
    }

    td,
    th {
      width: 25%;
      text-align: center;
      height: 65px;
    }

    td div {
      margin: 0 auto;
    }

    .left {
      float: left;
    }

    .right {
      float: right;
    }

    @media only screen and (max-width: 480px) {

      th:first-child,
      td:first-child {
        display: none;
      }

      .row {
        display: block;
      }

      .col-md-4 {
        padding: 0;
        width: 100%;
      }
    }
  </style>
</head>

<body>
  <div id="app">
    <div class="row">
      <div class="col-md-4">
        <div id="spark1">
          <apexchart type=area height=160 :options="chartOptionsTopSpark1" :series="seriesTopSpark1" />
        </div>
      </div>
      <div class="col-md-4">
        <div id="spark2">
          <apexchart type=area height=160 :options="chartOptionsTopSpark2" :series="seriesTopSpark2" />
        </div>
      </div>
      <div class="col-md-4">
        <div id="spark3">
          <apexchart type=area height=160 :options="chartOptionsTopSpark3" :series="seriesTopSpark3" />
        </div>
      </div>
    </div>

    <div class="row">
      <table>
        <thead>
          <th>Total Value</th>
          <th>Percentage of Portfolio</th>
          <th>Last 10 days</th>
          <th>Volume</th>
        </thead>
        <tbody>
          <tr>
            <td>$32,554</td>
            <td>15%</td>
            <td>
              <div id="chart1">
                <apexchart type=line height=35 width="100" :options="chartOptionsSparkLine" :series="seriesSpark1" />
              </div>
            </td>
            <td>
              <div id="chart5">
                <apexchart type=bar height=35 width="100" :options="chartOptionsSparkLine" :series="seriesSpark1" />
              </div>
            </td>
          </tr>
          <tr>
            <td>$23,533</td>
            <td>7%</td>
            <td>
              <div id="chart2">
                <apexchart type=line height=35 width="100" :options="chartOptionsSparkLine" :series="seriesSpark2" />
              </div>
            </td>
            <td>
              <div id="chart6">
                <apexchart type=bar height=35 width="100" :options="chartOptionsSparkLine" :series="seriesSpark2" />
              </div>
            </td>
          </tr>
          <tr>
            <td>$54,276</td>
            <td>9%</td>
            <td>
              <div id="chart3">
                <apexchart type=line height=35 width="100" :options="chartOptionsSparkLine" :series="seriesSpark3" />
              </div>
            </td>
            <td>
              <div id="chart7">
                <apexchart type=bar height=35 width="100" :options="chartOptionsSparkLine" :series="seriesSpark3" />
              </div>
            </td>
          </tr>
          <tr>
            <td>$11,533</td>
            <td>2%</td>
            <td>
              <div id="chart4">
                <apexchart type=line height=35 width="100" :options="chartOptionsSparkLine" :series="seriesSpark4" />
              </div>
            </td>
            <td>
              <div id="chart8">
                <apexchart type=bar height=35 width="100" :options="chartOptionsSparkLine" :series="seriesSpark4" />
              </div>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>

  <!-- Below element is just for displaying source code. it is not required. DO NOT USE -->
  <div id="html">
    &lt;div id="app">
      &lt;div class="row">
        &lt;div class="col-md-4">
          &lt;div id="spark1">
            &lt;apexchart type=area height=160 :options="chartOptionsTopSpark1" :series="seriesTopSpark1" />
          &lt;/div>
        &lt;/div>
        &lt;div class="col-md-4">
          &lt;div id="spark2">
            &lt;apexchart type=area height=160 :options="chartOptionsTopSpark2" :series="seriesTopSpark2" />
          &lt;/div>
        &lt;/div>
        &lt;div class="col-md-4">
          &lt;div id="spark3">
            &lt;apexchart type=area height=160 :options="chartOptionsTopSpark3" :series="seriesTopSpark3" />
          &lt;/div>
        &lt;/div>
      &lt;/div>

      &lt;div class="row">
        &lt;table>
          &lt;thead>
            &lt;th>Total Value&lt;/th>
            &lt;th>Percentage of Portfolio&lt;/th>
            &lt;th>Last 10 days&lt;/th>
            &lt;th>Volume&lt;/th>
          &lt;/thead>
          &lt;tbody>
            &lt;tr>
              &lt;td>$32,554&lt;/td>
              &lt;td>15%&lt;/td>
              &lt;td>
                &lt;div id="chart1">
                  &lt;apexchart type=line height=35 width="100" :options="chartOptionsSparkLine" :series="seriesSpark1" />
                &lt;/div>
              &lt;/td>
              &lt;td>
                &lt;div id="chart5">
                  &lt;apexchart type=bar height=35 width="100" :options="chartOptionsSparkLine" :series="seriesSpark1" />
                &lt;/div>
              &lt;/td>
            &lt;/tr>
            &lt;tr>
              &lt;td>$23,533&lt;/td>
              &lt;td>7%&lt;/td>
              &lt;td>
                &lt;div id="chart2">
                  &lt;apexchart type=line height=35 width="100" :options="chartOptionsSparkLine" :series="seriesSpark2" />
                &lt;/div>
              &lt;/td>
              &lt;td>
                &lt;div id="chart6">
                  &lt;apexchart type=bar height=35 width="100" :options="chartOptionsSparkLine" :series="seriesSpark2" />
                &lt;/div>
              &lt;/td>
            &lt;/tr>
            &lt;tr>
              &lt;td>$54,276&lt;/td>
              &lt;td>9%&lt;/td>
              &lt;td>
                &lt;div id="chart3">
                  &lt;apexchart type=line height=35 width="100" :options="chartOptionsSparkLine" :series="seriesSpark3" />
                &lt;/div>
              &lt;/td>
              &lt;td>
                &lt;div id="chart7">
                  &lt;apexchart type=bar height=35 width="100" :options="chartOptionsSparkLine" :series="seriesSpark3" />
                &lt;/div>
              &lt;/td>
            &lt;/tr>
            &lt;tr>
              &lt;td>$11,533&lt;/td>
              &lt;td>2%&lt;/td>
              &lt;td>
                &lt;div id="chart4">
                  &lt;apexchart type=line height=35 width="100" :options="chartOptionsSparkLine" :series="seriesSpark4" />
                &lt;/div>
              &lt;/td>
              &lt;td>
                &lt;div id="chart8">
                  &lt;apexchart type=bar height=35 width="100" :options="chartOptionsSparkLine" :series="seriesSpark4" />
                &lt;/div>
              &lt;/td>
            &lt;/tr>
          &lt;/tbody>
        &lt;/table>
      &lt;/div>
    &lt;/div>
  </div>

  <script src="https://unpkg.com/vue/dist/vue.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/apexcharts@latest"></script>
  <script src="https://cdn.jsdelivr.net/npm/vue-apexcharts"></script>

  <script>
    window.Apex = {
      stroke: {
        width: 3
      },
      markers: {
        size: 0
      },
      tooltip: {
        fixed: {
          enabled: true,
        }
      }
    };

    var randomizeArray = function (arg) {
      var array = arg.slice();
      var currentIndex = array.length,
        temporaryValue, randomIndex;

      while (0 !== currentIndex) {

        randomIndex = Math.floor(Math.random() * currentIndex);
        currentIndex -= 1;

        temporaryValue = array[currentIndex];
        array[currentIndex] = array[randomIndex];
        array[randomIndex] = temporaryValue;
      }

      return array;
    }

    // data for the sparklines that appear below header area
    var sparklineData = [47, 45, 54, 38, 56, 24, 65, 31, 37, 39, 62, 51, 35, 41, 35, 27, 93, 53, 61, 27, 54, 43, 19, 46];

    new Vue({
      el: '#app',
      components: {
        apexchart: VueApexCharts,
      },
      data: {
        seriesTopSpark1: [{
          data: randomizeArray(sparklineData)
        }],
        seriesTopSpark2: [{
          data: randomizeArray(sparklineData)
        }],
        seriesTopSpark3: [{
          data: randomizeArray(sparklineData)
        }],
        seriesSpark1: [{
          data: [25, 66, 41, 89, 63, 25, 44, 12, 36, 9, 54]
        }],
        seriesSpark2: [{
          data: [47, 45, 74, 14, 56, 74, 14, 11, 7, 39, 82]
        }],
        seriesSpark3: [{
          data: [12, 14, 2, 47, 42, 15, 47, 75, 65, 19, 14]
        }],
        seriesSpark4: [{
          data: [15, 75, 47, 65, 14, 2, 41, 54, 4, 27, 15]
        }],
        chartOptionsTopSpark1: {
          chart: {
            sparkline: {
              enabled: true
            },
          },
          colors: ['#DCE6EC'],
          stroke: {
            curve: 'straight'
          },
          fill: {
            opacity: 0.3
          },
          xaxis: {
            crosshairs: {
              width: 1
            },
          },
          yaxis: {
            min: 0
          },
          title: {
            text: '$135,965',
            offsetX: 0,
            style: {
              fontSize: '24px',
              cssClass: 'apexcharts-yaxis-title'
            }
          },
          subtitle: {
            text: 'Profits',
            offsetX: 0,
            style: {
              fontSize: '14px',
              cssClass: 'apexcharts-yaxis-title'
            }
          }
        },
        chartOptionsTopSpark2: {
          chart: {
            sparkline: {
              enabled: true
            },
          },
          stroke: {
            curve: 'straight'
          },
          fill: {
            opacity: 0.3
          },
          xaxis: {
            crosshairs: {
              width: 1
            },
          },
          yaxis: {
            min: 0
          },
          title: {
            text: '$235,312',
            offsetX: 0,
            style: {
              fontSize: '24px',
              cssClass: 'apexcharts-yaxis-title'
            }
          },
          subtitle: {
            text: 'Expenses',
            offsetX: 0,
            style: {
              fontSize: '14px',
              cssClass: 'apexcharts-yaxis-title'
            }
          }
        },
        chartOptionsTopSpark3: {
          chart: {
            sparkline: {
              enabled: true
            },
          },
          stroke: {
            curve: 'straight'
          },
          fill: {
            opacity: 0.3
          },
          xaxis: {
            crosshairs: {
              width: 1
            },
          },
          yaxis: {
            min: 0
          },
          title: {
            text: '$424,652',
            offsetX: 0,
            style: {
              fontSize: '24px',
              cssClass: 'apexcharts-yaxis-title'
            }
          },
          subtitle: {
            text: 'Sales',
            offsetX: 0,
            style: {
              fontSize: '14px',
              cssClass: 'apexcharts-yaxis-title'
            }
          }
        },
        chartOptionsSparkLine: {
          chart: {
            height: 35,
            sparkline: {
              enabled: true
            }
          },
          plotOptions: {
            bar: {
              columnWidth: '80%'
            }
          },
          xaxis: {
            crosshairs: {
              width: 1
            },
          },
          tooltip: {
            fixed: {
              enabled: false
            },
            x: {
              show: false
            },
            y: {
              title: {
                formatter: function (seriesName) {
                  return ''
                }
              }
            },
            marker: {
              show: false
            }
          }
        }
      },
    })
  </script>

</body>

</html>