JSFiddle - React, Tailwind, and code Playground

HTML

<div class="checkbox">
    <label class="i-checks">
        <input type="checkbox" value=""> <i></i>
Option one</label>
</div>
<div class="checkbox">
    <label class="i-checks">
        <input type="checkbox" checked="" value=""> <i></i>
Option two checked</label>
</div>

SCSS

$brand-info: #46b9d8 !default;
$input-border: #ccc !default;

@mixin transition($transition...) {
    -webkit-transition: $transition;
    transition: $transition;
}
.checkbox {
    position: relative;
    display: block;
    margin-top: 10px;
    margin-bottom: 10px;
    label {
        min-height: 20px;
        padding-left: 20px;
        margin-bottom: 0;
        font-weight: normal;
        cursor: pointer
    }
    input[type="checkbox"] {
        position: absolute;
        margin-top: 4px \9;
        margin-left: -20px
    }
}
.i-checks {
    padding-left: 20px;
    cursor: pointer;
    input {
        opacity: 0;
        position: absolute;
        margin-left: -20px;
        &:checked + i {
            border-color: $brand-info;
            &:before {
                left: 5px;
                top: 5px;
                width: 10px;
                height: 10px;
                background-color: $brand-info;
            }
        }
        &:checked + span .active {
            display: inherit;
        }
        &[type="radio"] + i {
            &, &:before {
                border-radius: 50%;
            }
        }
        &[type="checkbox"]:checked + i:before {
        }
        &[type="radio"]:checked + i:before {
        }
        &[disabled], fieldset[disabled] & {
            & + i {
                border-color: lighten($input-border, 5%);
                &:before {
                    background-color: lighten($input-border, 5%);
                }
            }
        }
    }
    > i {
        width: 20px;
        height: 20px;
        line-height: 1;
        border: 1px solid $input-border;
        background-color: #fff;
        margin-left: -20px;
        margin-top: -2px;
        display: inline-block;
        vertical-align: middle;
        margin-right: 4px;
        position: relative;
        &:before {
            content:"";
            position: absolute;
            left: 50%;
            top: 50%;
            width: 0px;
          ...