JSFiddle - React, Tailwind, and code Playground

HTML

<div class="sidebar_open-wrap">
    <div class="sidebar_open-icons" id="navbar_open">=)</div>
    <div class="sidebar-left" id="navbar_open-left"></div>
</div>

CSS

.sidebar_open-icons {
    background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
    border: medium none;
    border-radius: 50%;
    cursor: pointer;
    float: left;
    height: 44px;
    text-align: center;
    width: 44px;
    cursor: pointer;
}
.sidebar_open-icons:hover {
    background-color: #f4f4f4;
}
#navbar_open-left {
    background-color: #eee;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1) inset, -1px -1px 0 0 rgba(0, 0, 0, 0.07) inset;
    display: inline;
    height: 200px;
    left: -50%;
    min-width: 260px;
    position: absolute;
    top: 64px;
    z-index: 2;
    transition: left .5s;
}
#navbar_open-left.visible {
    left: 0;
}

JavaScript

$(document).ready(function () {
    var keyOpen = $('#navbar_open');
    var navBar = $('#navbar_open-left'),
        flag=!1;

    keyOpen.click(function (e) {
        navBar.toggleClass("visible")
        e.preventDefault()
    });
    $(document).click(function (e) {
        if ((e.target || e.srcElement) !== keyOpen[0] && !flag) navBar.removeClass("visible")
    });
        
        navBar[0].onclick=function(e){
            flag=!0
        }
});