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>
<script src="https://code.highcharts.com/modules/wordcloud.js"></script>
<div id="container" style="width: 1240px;height:688px;border:1px solid #dbdbdb;border-radius:10px;"></div>

CSS

@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 {
   font-family: "KantarBrownWeb-Thin";
   src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-Thin.eot");
   src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-Thin.eot?#iefix") format("embedded-opentype"), url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-Thin.woff2")...

JavaScript

(input => {
$('head').append(`<style>
div.example {
padding: 5px;
background: #ffffff;  
}

/* Use for 1 lines of text before truncation */
.mle-1 {
padding-top: 6px;
overflow: hidden;
position: relative;
line-height: 1.2em;
max-height: 1em; 
padding-right: 1em;
}

.mle-1:before {
content: '...';
position: absolute;
right: 0;
bottom: 0;
}

.mle-1:after {
content: '';
position: absolute;
right: 0;
width: 1em;
height: 1em;
margin-top: 0.2em;
background: #FFFFFF;
}
.concepts {
font-weight:700;
width:95%;
font-family:KantarBrownWeb-Light;
font-size:15px;
color:#000000;
white-space: normal;
}
</style>`);
  var spreadFactor = 1.8;

  function rectangularSpiral(t) {

    t *= 0.1;
    return {
      x: t * Math.sin(t) * spreadFactor,
      y: t * Math.cos(t)
    };

  }

  var container1Width = 700;
  var container1Height = 450;

  var cloudMinFont = 5;
  var cloudMaxFont = 15;
  var cloudFontWeight = 600;
  
  var _chartTitle;

  var greenPallette = ['#489A1E', '#79D738', '#99FF99', '#145D04', '#9BD138'];
  var redPallette = ['#940011', '#FF8290', '#FF4359', '#C50017', '#FFC0C8'];

  var colorPallette = [];

  if (input.chart_data.chart_type == "2") {
    colorPallette = redPallette;
    	_chartTitle = input.chart_data.chart1_title;//"Dislikes";
  } else {
    colorPallette = greenPallette;
    _chartTitle = input.chart_data.chart1_title;
  }
 
  setCanvasLikes();

  //Canvas setting based on number of words
  function setCanvasLikes() {

    if (input.chart_data.data_series.length > 0 && input.chart_data.data_series.length < 50) {
      container1Width = 600;
      container1Height = 300;
      cloudFontWeight = 300;
    } else if (input.chart_data.data_series.length > 49 && input.chart_data.data_series.length < 100) {
      container1Width = 600;
      container1Height = 300;
      cloudFontWeight = 300;
    } else if (input.chart_data.data_series.length > 99 && input.chart_data.data_series.length < 150) {
      container1Width = 800;
      container1Height = 400;
  ...