JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://rawgit.com/aaditmshah/capsLock/master/capsLock.js"></script>
<div id="capsLock">
    <span id="led" class="off"></span>
    Caps<br>Lock
</div>

CSS

#capsLock {
    background-color: #444444;
    background-image:         linear-gradient(#666666, #333333);
    background-image:    -moz-linear-gradient(#666666, #333333);
    background-image: -webkit-linear-gradient(#666666, #333333);
    background-image:      -o-linear-gradient(#666666, #333333);
    border: 0.083em solid #000000;
    border-radius: 0.666em;
    color: #FFFFFF;
    float: left;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 0.8em;
    line-height: 1.2em;
    padding: 0.666em;
}

#led {
    border-radius: 0.333em;
    display: block;
    float: right;
    height: 0.666em;
    margin-left: 1.333em;
    width: 0.666em;
}

#capsLock .off {
    background-color: #333333;
}

#capsLock .on {
    background-color: #C0FF80;
    box-shadow: 0 0 0.1875em #FFFFFF;
}

JavaScript

var led;

capsLock.observe(function (status) {
    led = led || document.getElementById("led");
    led.className = status ? "on" : "off";
});