JSFiddle - React, Tailwind, and code Playground

HTML

<canvas id="myCanvas" />

JavaScript

function showSpinner(
    startAngle,endAngle,direction,radius,line,context,color,shadow)
{
    context.beginPath();
    var a = startAngle / Math.PI;
    a = a % 2;
    a = 2 - a;
    a *= Math.PI;
    var x = radius + Math.cos(a)*radius*1.7;
    var y = radius - Math.sin(a)*radius*1.7;
    var gradient = context.createLinearGradient(radius,radius,x,y);
    gradient.addColorStop(0.05, color);
    gradient.addColorStop(.60, '#FFFFFF');
    context.lineWidth = line;
    context.lineCap = "round";
    context.shadowBlur = 10;
    if( shadow === true )context.shadowColor = '#727272';
    context.arc(radius, radius, radius-line, startAngle, endAngle, direction);
    context.strokeStyle = gradient;
    context.stroke();
}

function spinner(obj){
 var radius,line,color,shadow;
 if( obj && obj.hasOwnProperty("shadow") ){
  shadow = true;
 }else{ radius = 75; }
 if( obj && obj.hasOwnProperty("radius") ){
  radius = obj.radius;
 }else{ radius = 75; }
 if( obj && obj.hasOwnProperty("line") ){
  line = obj.line;
 }else{ line = 7; }
 var speed = {inc:0.04,loop:15};
 if( obj && obj.hasOwnProperty("speed") ){
  if( obj.speed == "slow" ){
    speed = {inc:0.02,loop:25};
  }
 }
 if( obj && obj.hasOwnProperty("color") ){
  color = obj.color;
 }else{ color = '#3b749a'; } 
 var canvas = document.getElementById('myCanvas');
 canvas.style.height = 2*(radius+line) + "px";
 canvas.style.width = 4*(radius+line) + "px";
 var context = canvas.getContext('2d');
 var startAngle,endAngle;
 var counterClockwise = false;
 var sa = 1.2;
 var ea = 0.85;

 var spinner = setInterval(function(){
   canvas.width = canvas.width;
   sa += speed.inc;
   ea += speed.inc;
   startAngle = sa * Math.PI;
   endAngle = ea * Math.PI;
   showSpinner(
     startAngle,
     endAngle,
     counterClockwise,
     radius,
     line,
     context,
     color, 
     shadow
   );
 },speed.loop);
 setTimeout(function(){ clearInterval(spinner);},15000);
 return spinner;
}

var colors =...