JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>

<div id="chartContainer" style="height: 300px; width: 100%;">
</div>

JavaScript

var chart = new CanvasJS.Chart("chartContainer",{
  title:{
    text: "Simple Date-Time Chart"
  },
  toolTip: {
    contentFormatter: function ( e ) {
      return (formatShamsiCalender(e.entries[0].dataPoint.x) + ": " + e.entries[0].dataPoint.y);  
    }
  },
  axisX:{
    title: "timeline",
    gridThickness: 2,
    labelFormatter: function ( e ) {
      return formatShamsiCalender(e.value) ;  
    } 
  },
  axisY: {
    title: "Downloads"
  },
  data: [
    {        
      type: "area",
      dataPoints: [//array
        { x: new Date(2012, 01, 1), y: 26},
        { x: new Date(2012, 01, 3), y: 38},
        { x: new Date(2012, 01, 5), y: 43},
        { x: new Date(2012, 01, 7), y: 29},
        { x: new Date(2012, 01, 11), y: 41},
        { x: new Date(2012, 01, 13), y: 54},
        { x: new Date(2012, 01, 20), y: 66},
        { x: new Date(2012, 01, 21), y: 60},
        { x: new Date(2012, 01, 25), y: 53},
        { x: new Date(2012, 01, 27), y: 60}

      ]
    }
  ]
});

chart.render();

function formatShamsiCalender(date){
  week = new Array("يكشنبه", "دوشنبه", "سه شنبه", "چهارشنبه", "پنج شنبه", "جمعه", "شنبه")
  months = new Array("فروردين", "ارديبهشت", "خرداد", "تير", "مرداد", "شهريور", "مهر", "آبان", "آذر", "دي", "بهمن", "اسفند");
  //today = new Date();
  d = date.getDay();
  day = date.getDate();
  month = date.getMonth() + 1;
  year = date.getYear();
  year = (window.navigator.userAgent.indexOf('MSIE') > 0) ? year : 1900 + year;
  if (year == 0) {
    year = 2000;
  }
  if (year < 100) {
    year += 1900;
  }
  y = 1;
  for (i = 0; i < 3000; i += 4) {
    if (year == i) {
      y = 2;
    }
  }
  for (i = 1; i < 3000; i += 4) {
    if (year == i) {
      y = 3;
    }
  }
  if (y == 1) {
    year -= ((month < 3) || ((month == 3) && (day < 21))) ? 622 : 621;
    switch (month) {
      case 1:
        (day < 21) ? (month = 10, day += 10) : (month = 11, day -= 20);
        break;
      case 2:
        (day < 20) ? (month = 11, day += 11) : (month = 12,...