JSFiddle - React, Tailwind, and code Playground

by Kesav Telaprolu

HTML

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

JavaScript

(input=> {
var chartWrapper = $("<div></div>").appendTo("#container")
        .attr("id", "chart_wrapper");

    var chartDiv = $("<div></div>").appendTo("#chart_wrapper")
        .attr("id", "chart_div");
            $('#chart_wrapper').append(`<style>
#chart_wrapper{
  
    width:1240px;
   height:688px;
    
   position:relative;
   
   
   
   padding: 35px 30px 20px 30px;
   
   box-sizing:border-box; 
   
  }
  
  #chart_div{
    
     width:100%;
     height:100%;
    
  }
    </style>`)
   
    
 
var canvas;
var ctx;
var ctxComp;
  var constMaxSquareSize = 105;
  var AtRiskArea;
  var AtRisk1Area; 
  var SteadyArea;
  var OpportunityArea;
  var Opportunity1Area;
   var maxChosenBrand = Math.max.apply(null, [input.dataSeries.AtRisk[0].percent, 
   input.dataSeries.AtRisk[1].percent,
   input.dataSeries.Steady.percent,
   input.dataSeries.Opportunity[0].percent,
   input.dataSeries.Opportunity[1].percent]);
    
     function getRelativeSquareArea(num, denom, maxSqSize) {
        return Math.sqrt((num * Math.pow(maxSqSize, 2)) / denom);
    }


  
var title = $("<div></div>").appendTo("#chart_div");
  title.text(input.title)
  title.css({
  'width': '1180px',
'height': '42px',
'color': '#000000',
'font-family': "Kantar Brown",
'font-size': '32px',
'font-weight': 300,
'margin-top':'42px'
  })
  var chosenBrandName= $("<div></div>").appendTo("#chart_div");
 chosenBrandName.text(input.chosenBrandName)
  chosenBrandName.css({
  'width': '1180px',
'height': '42px',
'color': '#bd9b08',
'font-family': "Kantar Brown",
'font-size': '24px',
'font-weight': 700,

  })
var caption1=$("<div style='width: 448px;height: 32px;margin-top:21px;border-bottom: 1px solid black;color: #000000;font-size: 20px;font-family:KantarBrownWeb-Bold;display:inline-block'>At Risk</div>").appendTo("#chart_div")
var caption2=$("<div style='width: 204px;height: 32px;margin-top:21px;border-bottom: 1px solid black;color: #000000;font-size:...