JSFiddle - React, Tailwind, and code Playground

HTML

<div class="click-nav">
    <ul class="no-js">
        <li> <a href="#" class="clicker"><img src="img/i-1.png" alt="Icon">Profile</a>

            <ul>
                <li><a href="#"><img src="img/i-2.png" alt="Icon">Dashboard</a>
                </li>
                <li><a href="#"><img src="img/i-3.png" alt="Icon">Settings</a>
                </li>
                <li><a href="#"><img src="img/i-4.png" alt="Icon">Privacy</a>
                </li>
                <li><a href="#"><img src="img/i-5.png" alt="Icon">Help</a>
                </li>
                <li><a href="#"><img src="img/i-6.png" alt="Icon">Sign out</a>
                </li>
            </ul>
        </li>
    </ul>
</div>

CSS

body {
    background-color:#334873
}
.click-nav {
    margin:100px auto;
    width:200px;
}
.click-nav ul {
    position:relative;
    font-weight:900;
}
.click-nav ul li {
    position:relative;
    list-style:none;
    cursor:pointer;
}
.click-nav ul li ul {
    position:absolute;
    left:0;
    right:0;
}
.click-nav ul .clicker {
    position:relative;
    background:#2284B5;
    color:#FFF;
}
.click-nav ul .clicker:hover, .click-nav ul .active {
    background:#196F9A;
}
.click-nav img {
    position:absolute;
    top:9px;
    left:12px;
}
.click-nav ul li a {
    transition:background-color 0.2s ease-in-out;
    -webkit-transition:background-color 0.2s ease-in-out;
    -moz-transition:background-color 0.2s ease-in-out;
    display:block;
    padding:8px 10px 8px 40px;
    background:#FFF;
    color:#333;
    text-decoration:none;
}
.click-nav ul li a:hover {
    background:#F2F2F2;
}
/* Fallbacks */
 .click-nav .no-js ul {
    display:none;
}
.click-nav .no-js:hover ul {
    display:block;
}
.overlay {
    position:absolute;
    /* color with alpha transparency */
    background-color: rgba(0, 0, 0, 0.3);
    /* stretch to screen edges */
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

JavaScript

$(function () {
    $('.click-nav > ul').toggleClass('no-js js');
    $('.click-nav .js ul').hide();
    $('.click-nav .js').click(function (e) {
        $('.click-nav .js ul').slideToggle(200);
        $('.clicker').toggleClass('active');
        e.stopPropagation();
    });
    $(document).click(function () {
        if ($('.click-nav .js ul').is(':visible')) {
            $('.click-nav .js ul', this).slideUp();
            $('.clicker').removeClass('active');
        }
    });
    $('.clicker').click(function () {
        $('body').toggleClass('overlay');
    });
});