JSFiddle - React, Tailwind, and code Playground

by velo_ninja

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Futuristic Production Calculator</title>
    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap">
    <style>
      /* CSS Styles */
      body {
        margin: 10px;
        padding: 5px;
        display: flex;            
        justify-content: center;
        align-items: center;            
        overflow-y: auto;
        background-color: white;
      }         
      .div-main {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        margin: 15px;   
        padding: 10px;
        border-radius: 10px;
        text-align: center;
        background-color: lightgrey;
      }  
      /* Additional styling... */
      table {
        width: 100%;
        border-collapse: collapse;
        margin-top: 20px;
      }
      table, th, td {
        border: 1px solid black;
        text-align: center;
        padding: 8px;
      }
      th {
        background-color: #2c3e50;
        color: white;
      }
      .row input {
        width: 100%;
        text-align: center;
      }
      .inp-rejection {background-color: yellow;}
      .inp-good {background-color: lightgreen;}
      .inp-downtime, .inp-calculated {background-color: transparent;}
    </style>    
</head>
  
<body>  
  <div id="divMain" class="div-main"></div>

  <script>
    let ELEMENTS = ['inpCycleTime', 'inpProductionTime', 'inpCalculatedProductionTotal', 'inpCalculatedProductionHourly'];

    // Function to create input elements
    function createNewDiv(target, divID, options) {
      let parentDiv = document.getElementById(target);
      let newDiv = document.createElement('div');     
      if (divID) {newDiv.id = divID; newDiv.className = divID.replace(/([A-Z])/g, '-$1').toLowerCase();}
     ...