JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.2/Chart.min.js"></script>
<canvas id="canvas" width=1000 height=500></canvas>

JavaScript

var data = [
	{value: 500, color:"#F7464A", label:"Test1"},
	{value: 500, color:"#F7464A", label:"<a href='#'>Test2</a>"},
  {value: 10, color:"#F7464A", label:"<a href='#'>Test2</a>"}
	];
  var total = 0;
var options = {
    segmentShowStroke : true,
    segmentStrokeColor : "#fff",
    segmentStrokeWidth : 2,
    percentageInnerCutout : 30, // This is 0 for Pie charts
    animationSteps : 100,
    animationEasing : "easeOutBounce",
    animateRotate : true,
    animateScale : false,
    legendTemplate : "<ul class=\"<%=name.toLowerCase()%>-legend\"><% for (var i=0; i<segments.length; i++){%><li><span style=\"background-color:<%=segments[i].fillColor%>\"></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>",
	showTooltips: false,
	onAnimationProgress: drawSegmentValues,
  onAnimationComplete: drawTotalValues
}

var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var midX = canvas.width/2;
var midY = canvas.height/2

// Create a pie chart
var myChart = new Chart(ctx).Doughnut(data, options);

var radius = myChart.outerRadius;

function drawSegmentValues()
	{
		console.log("I am Here Animating");
		for(var i=0; i<myChart.segments.length; i++) 
		{
			ctx.fillStyle="white";
			var textSize = canvas.width/30;
			ctx.font= textSize+"px Verdana";
			// Get needed variables
			var value = myChart.segments[i].value;
			var startAngle = myChart.segments[i].startAngle;
			var endAngle = myChart.segments[i].endAngle;
			var middleAngle = startAngle + ((endAngle - startAngle)/2);

			// Compute text location
			if (data[i].value > 100) {
				var posX = (3*radius)/5 * Math.cos(middleAngle) + midX;
				var posY = (3*radius)/5 * Math.sin(middleAngle) + midY;
			}
			else {
				var posX = (3*radius)/5 * Math.cos(middleAngle) + midX;
				var posY = (3*radius)/5 * Math.sin(middleAngle) + midY;
			}

			// Text offside by middle
			var w_offset = ctx.measureText(value).width/2;
			var h_offset =...