JSFiddle - React, Tailwind, and code Playground

HTML

<div class="chart"></div>

CSS

line {
  display: block;
  stroke: black;
}

JavaScript

var clockGroup, fields, formatHour, formatMinute, formatSecond, height, offSetX, offSetY, pi, render, scaleHours, scaleSecsMins, vis, width;

  var radius = 80;
  var tickLength = 10;
  var fromClock = 9;
  var toClock = 6;
  var circleDegree = 360;

  function degToRad(degrees) {
    return degrees * Math.PI / 180;
  }

  function clockToRad(clock, direction) {
    var unit = circleDegree / 12;
    var degree = direction > 0 ? unit * clock : unit * clock - circleDegree;
    return degToRad(degree);
  }

  function getCoordFromCircle(deg, cx, cy, r) {
    var rad = degToRad(deg);
    var x = cx + r * Math.cos(rad);
    var y = cy + r * Math.sin(rad);
    return [x, y];
  }

  function splitDegrees(num) {
    var angle = circleDegree / num;
    var degrees = [];

    for (var ang = 0; ang < circleDegree; ang += angle) {
      degrees.push(ang);
    }

    return degrees;
  }


  formatSecond = d3.time.format("%S");

  formatMinute = d3.time.format("%M");

  formatHour = d3.time.format("%H");

  fields = function() {
    var d, data, hour, minute, second;
    d = new Date();
    second = d.getSeconds();
    minute = d.getMinutes();
    hour = d.getHours() + minute / 60;
    return data = [{
      "unit": "seconds",
      "text": formatSecond(d),
      "numeric": second
    }, {
      "unit": "minutes",
      "text": formatMinute(d),
      "numeric": minute
    }, {
      "unit": "hours",
      "text": formatHour(d),
      "numeric": hour
    }];
  };

  width = 400;

  height = 200;

  offSetX = 100;

  offSetY = 100;

  pi = Math.PI;

  scaleSecsMins = d3.scale.linear()
    .domain([0, 59 + 59 / 60])
    .range([0, 2 * pi]);

  scaleHours = d3.scale.linear()
    .domain([0, 11 + 59 / 60])
    .range([0, 2 * pi]);

  vis = d3.selectAll(".chart")
    .append("svg:svg")
    .attr("width", width)
    .attr("height", height);

  clockGroup = vis.append("svg:g")
    .attr("transform", "translate(" + offSetX + "," + offSetY + ")");

  var arc = d3.svg.arc()
   ...