JSFiddle - React, Tailwind, and code Playground

by Kesav Telaprolu

HTML

<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>

<div id="container" style="width: 1240px;height: 688px;border-radius: 10px;border: 1px solid #dbdbdb;"></div>

CSS

/*
 * Legal Disclaimer
 *
    print '\n', 'Note that the webfonts share the TT sources'
 * These Fonts are licensed for unlimited use on domains and their subdomains of The Kantar Group.
 * It is illegal to download or use them on other websites.
 *
 * While the @font-face statements below may be modified by the client, this
 * disclaimer may not be removed.
 *
 * Lineto.com, 2016
 */

@font-face {
  font-family: "KantarBrownWeb-LightItalic";
  src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-LightItalic.eot");
  src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-LightItalic.eot?#iefix") format("embedded-opentype"), url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-LightItalic.woff2") format("woff2"), url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-LightItalic.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "KantarBrownWeb-BoldItalic";
  src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-BoldItalic.eot");
  src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-BoldItalic.eot?#iefix") format("embedded-opentype"), url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-BoldItalic.woff2") format("woff2"), url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-BoldItalic.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "KantarBrownWeb-Italic";
  src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-Italic.eot");
  src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-Italic.eot?#iefix") format("embedded-opentype"), url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-Italic.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}

@font-face {
 ...

JavaScript

(input => {
  var boxsizebaseOnvalue = [];
  for (var a = 0; a < input.MarketLevelDetails.length; a++) {
    boxsizebaseOnvalue.push(input.MarketLevelDetails[a].data);
  }
  var boxsortedlist = boxsizebaseOnvalue.sort(function(a, b) {
    return b - a
  });
  var seriesMaxValue = boxsortedlist[0]
  var boxminmaxlist = [];

  for (var b = 0; b < input.MarketLevelDetails.length; b++) {
    for (var c = 0; c < boxsortedlist.length; c++) {
      if (input.MarketLevelDetails[b].data == boxsortedlist[c]) {
        boxminmaxlist.push(c);
        break;
      }

    }
  }
  var scale = 106;
  var boxvalue = [];
  for (var d = 0; d < boxminmaxlist.length; d++) {
    if (boxminmaxlist[d] == 0) {
      boxvalue.push(scale);
    } else {
      var bsize = Math.sqrt(Math.round((input.MarketLevelDetails[d].data / boxsizebaseOnvalue[0]) * scale * scale));
      var boxround = bsize % 10;
      var sizeval = bsize < 10 ? Math.round(bsize) : Math.round(bsize - boxround);
      boxvalue.push(sizeval);
    }
  }

  $("#container").highcharts({
    chart: {
      type: 'bar',
      marginLeft: 0,
      events: {
        load: function() {
          var ren = this.renderer;
          var size, xyPos, rectWidth, xheader, xPos;
          ren.label(input.title, 30, 35).attr({
            zIndex: 10,
            align: 'left'
          }).css({
            fontSize: '32px',
            fontFamily: 'KantarBrownWeb-Light',
            color: '#000000'
          }).add();
          ren.label(input.subTitle, 30, 77).attr({
            zIndex: 10,
            align: 'left'
          }).css({
            fontSize: '24px',
            fontFamily: 'KantarBrownWeb-Bold',
            color: '#e5007e'
          }).add();

          function toNumberString(num) {
            if (Number.isInteger(num)) {
              return num + ".0"
            } else {
              return num.toString();
            }
          }
          var hLineWidth, yPos = 135;
          for (var i = 0; i <...