JSFiddle - React, Tailwind, and code Playground

HTML

<div class="container">
<nav class="navbar navbar-inverse navbar-fixed-top">
            <div class="container
                <div class="navbar-header">
                 <div class="container-fluid">
                    <div class="row">
                        <div class="col-xs-2 col-md-2" style="height:30px;margin-top:5px;">
                            <button type="button" class="navbar-toggle toggle-menu menu-left push-body" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                            <span class="sr-only">Toggle navigation</span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                            </button>
                        </div>
                        <div class="col-xs-8 col-md-8" style="height:30px;margin-top:5px;">
                            <input type="text" placeholder="email" class="form-control">
                        </div>
                        <div class="col-xs-2 col-md-2" style="height:30px;margin-top:5px;">
                            <button type="submit" class="btn btn-success">submit</button>
                        </div>
                    </div>
                    <div class="collapse navbar-collapse cbp-spmenu cbp-spmenu-vertical cbp-spmenu-left" id="bs-example-navbar-collapse-1">
                <ul class="nav navbar-nav">
                  <li class="active"><a href="#">Link</a></li>
                  <li><a href="#">Link</a></li>
                  <li class="dropdown">
                    <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <span class="caret"></span></a>
                    <ul class="dropdown-menu" role="menu">
                      <li><a href="#">Action</a></li>
                      <li><a href="#">Another action</a></li>
                      <li><a href="#">Something else here</a></li>
                     ...

CSS

@media screen and (max-width: 767px) {
  .navbar-fixed-top {
    width:100%;
  }
  .navbar-fixed-top .navbar-collapse, 
  .navbar-fixed-bottom .navbar-collapse {
    max-height:none;
  }
  .navbar-nav {
    margin:0;
  }
  .navbar-form {
    margin:0;
  }
  /* General styles for all menus */
  .cbp-spmenu {
    background: #f8f8f8;
    position: fixed;
    padding:0;
    margin:0 !important;
    overflow-x:hidden;
    overflow-y:visible;
    display:block;
    visibility:visible;
  }
  .navbar-fixed-top .cbp-spmenu {
    bottom:0;
  }
  /* Orientation-dependent styles for the content of the menu */
  .cbp-spmenu-vertical {
    width: 260px;
    height: 100%;
    top: 0;
    z-index: 1000;
  }
  .cbp-spmenu-horizontal {
    width: 100%;
    height: 150px;
    left: 0;
    z-index: 1000;
    overflow: hidden;
  }
  .cbp-spmenu-horizontal h3 {
    height: 100%;
    width: 20%;
    float: left;
  }
  .cbp-spmenu-horizontal a {
    float: left;
    width: 20%;
    padding: 0.8em;
    border-left: 1px solid #258ecd;
  }
  /* Vertical menu that slides from the left or right */
  .cbp-spmenu-left {
    left: -260px;
  }
  .cbp-spmenu-right,
  .cbp-spmenu-push-toleft .navbar-fixed-top .cbp-spmenu-right.cbp-spmenu-open {
    right: -260px;
  }
  .cbp-spmenu-left.cbp-spmenu-open,
  .cbp-spmenu-push-toright .navbar-fixed-top .cbp-spmenu-left.cbp-spmenu-open {
    left: 0px;
  }
  .cbp-spmenu-right.cbp-spmenu-open {
    right: 0px;
  }
  /* Horizontal menu that slides from the top or bottom */
  .cbp-spmenu-top {
    top: -150px;
  }
  .cbp-spmenu-bottom {
    bottom: -150px;
  }
  .cbp-spmenu-top.cbp-spmenu-open {
    top: 0px;
  }
  .cbp-spmenu-bottom.cbp-spmenu-open {
    bottom: 0px;
  }
  /* Push classes applied to the body */
  .cbp-spmenu-push {
    overflow-x: hidden;
    position: relative;
    left: 0;
  }
  .cbp-spmenu-push-toright,
  .cbp-spmenu-push-toright .navbar-fixed-top {
    left: 260px;
  }
  .cbp-spmenu-push-toleft,
  .cbp-spmenu-push-toleft...

JavaScript

/*!
 * jPushMenu.js
 * 1.1.1
 * @author: takien
 * http://takien.com
 * Original version (pure JS) is created by Mary Lou http://tympanus.net/
 */

(function($) {
		
	$.fn.jPushMenu = function(customOptions) {
		var o = $.extend({}, $.fn.jPushMenu.defaultOptions, customOptions);
		
		/* add class to the body.*/
		
		$('body').addClass(o.bodyClass);
		$(this).addClass('jPushMenuBtn');
		$(this).click(function() {
			var target         = '',
			push_direction     = '';
			
		
			if($(this).is('.'+o.showLeftClass)) {
				target         = '.cbp-spmenu-left';
				push_direction = 'toright';
			}
			else if($(this).is('.'+o.showRightClass)) {
				target         = '.cbp-spmenu-right';
				push_direction = 'toleft';
			}
			else if($(this).is('.'+o.showTopClass)) {
				target         = '.cbp-spmenu-top';
			}
			else if($(this).is('.'+o.showBottomClass)) {
				target         = '.cbp-spmenu-bottom';
			}
			

			$(this).toggleClass(o.activeClass);
			$(target).toggleClass(o.menuOpenClass);
			
			if($(this).is('.'+o.pushBodyClass)) {
				$('body').toggleClass( 'cbp-spmenu-push-'+push_direction );
			}
			
			/* disable all other button*/
			$('.jPushMenuBtn').not($(this)).toggleClass('disabled');
			
			return false;
		});
		var jPushMenu = {
			close: function (o) {
				$('.jPushMenuBtn,body,.cbp-spmenu').removeClass('disabled active cbp-spmenu-open cbp-spmenu-push-toleft cbp-spmenu-push-toright');
			}
		}

    if(o.closeOnClickInside) {
       $(document).click(function() {
          jPushMenu.close();
        });

       $('.cbp-spmenu,.toggle-menu').click(function(e){
         e.stopPropagation();
       });
    }
		
		if(o.closeOnClickOutside) {
			 $(document).click(function() { 
				jPushMenu.close();
			 }); 

			 $('.cbp-spmenu,.toggle-menu').click(function(e){ 
				 e.stopPropagation(); 
			 });
		 }

        // On Click Link
        if(o.closeOnClickLink) {
            $('.cbp-spmenu a').on('click',function(){
                jPushMenu.close();
           ...