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;

overflow:hidden;

   padding: 35px 30px 0px 30px;

   box-sizing:border-box
  }

  #chart_div{

     width:100%;
     height:100%;

  }
    </style>`)
        
        
      
       

        var legendHtml =

`<div id="legendWrapper">    
			<div class="legend"> 
             <p class="legend-name">
            <span class="legend-dot business"></span><span class="legend-text"></span></p> 
     </div>
    
       <div class="legend"> 
             <p class="legend-name">
            <span class="legend-dot atRisk"></span><span class="legend-dot atRisk1"></span><span class="legend-text">At risk</span></p> 
     </div>
     
     <div class="legend"> 
             <p class="legend-name">
            <span class="legend-dot steady"></span><span class="legend-text">Steady</span></p> 
     </div>
     
     <div class="legend"> 
             <p class="legend-name">
            <span class="legend-dot Opportunity"></span><span class="legend-dot Opportunity1"></span><span class="legend-text">Opportunity</span></p> 
     </div>
     `;
        var canvas;
        var ctx;
        var ctxComp;
        var constMaxSquareSize = 105;
        var AtRiskArea;
        var AtRisk1Area;
        var SteadyArea;
        var OpportunityArea;
        var Opportunity1Area;
         var x=700,
        y=314
        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...