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%;
}

#chart_wrapper div {
margin : 0px;
box-sizing:border-box;
}

#chart_wrapper p{
display: block;
margin-block-start: 1em;
margin-block-end: 1em;
margin-inline-start: 0px;
margin-inline-end: 0px; 
}

div.example {
padding: 5px;
background: #ffffff;  
}

/* Use for 3 lines of text before truncation */
.mle-3 {
overflow: hidden;
position: relative;
line-height: 1em;
max-height: 3em; 
text-align: center;
padding-right: 1em;
padding-top:5px;
margin-top: 1em;
margin-bottom: 1em;
}

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

.mle-3:after {
content: '';
position: absolute;
right: 0;
width: 1em;
height: 1em;
margin-top: 0.2em;
background: #FFFFFF;
}
.concepts {
font-weight:700;
width:150px;
font-family:KantarBrownWeb-Bold;
font-size:17px;
color:#000000;
white-space: normal;
word-wrap:break-word;
} 
</style>`);



var plotlinesVal;

//applying rounding to the series data
input.chart_data.data_series[0].data = input.chart_data.data_series[0].data.map(function (each_element) {
    return Number(Math.round(each_element));
});


var getMaxValue = function () {
    var maxValue;

    if (input.chart_data.show_benchmarks.toLowerCase() == 'false') {
        maxValue = [Math.max.apply(Math, input.chart_data.data_series[0].data)];
    } else {
        maxValue = [
            Math.max.apply(Math, input.chart_data.data_series[0].data),
            Math.round(input.chart_data.data_series[0].top_25_pctile),
            Math.round(input.chart_data.data_series[0].top_50_pctile)
        ];
    }

    maxValue.sort(function (a, b) {
        return b - a
   ...