JSFiddle - React, Tailwind, and code Playground

by Ivan Ferrer

HTML

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<nav class="navbar navbar-default sidebar" role="navigation">
    <div class="container-fluid">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-sidebar-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>
            <a class="navbar-brand" href="#">Menu Vertical                        </a>
        </div>
        <div class="collapse navbar-collapse" id="bs-sidebar-navbar-collapse-1">
            <ul class="nav navbar-nav">
                <li><input type="text" name="filter" id="filter" placeholder="Digite o termo" class="form-control"></li>
                <li><a href="/">Inicial<span style="font-size:16px;" class="pull-right hidden-xs showopacity fa fa-home"></span></a></li><li><a href="/">Sobre<span style="font-size:16px;" class="pull-right hidden-xs showopacity fa fa-user"></span></a></li><li><a href="/">Cliente<span style="font-size:16px;" class="pull-right hidden-xs showopacity fa fa-users"></span></a></li><li><a href="/">Produto<span style="font-size:16px;" class="pull-right hidden-xs showopacity fa fa-tags"></span></a></li><li><a href="/">Pedidos<span style="font-size:16px;" class="pull-right hidden-xs showopacity fa fa-shopping-cart"></span></a></li><li><a href="/">Colaborador<span style="font-size:16px;" class="pull-right hidden-xs showopacity fa fa-user-secret"></span></a></li><li><a href="/">Relatórios<span style="font-size:16px;" class="pull-right hidden-xs showopacity fa...

CSS

nav.sidebar, .main{
            -webkit-transition: margin 200ms ease-out;
            -moz-transition: margin 200ms ease-out;
            -o-transition: margin 200ms ease-out;
            transition: margin 200ms ease-out;
        }

        .main{
            padding: 10px 10px 0 10px;
        }

        @media (min-width: 765px) {

            .main{
                position: absolute;
                width: calc(100% - 40px);
                margin-left: 40px;
                float: right;
            }

            nav.sidebar:hover + .main{
                margin-left: 200px;
            }

            nav.sidebar.navbar.sidebar>.container .navbar-brand, .navbar>.container-fluid .navbar-brand {
                margin-left: 0px;
            }

            nav.sidebar .navbar-brand, nav.sidebar .navbar-header{
                text-align: center;
                width: 100%;
                margin-left: 0px;
            }

            nav.sidebar a{
                padding-right: 13px;
            }

            nav.sidebar .navbar-nav > li:first-child{
                border-top: 1px #e5e5e5 solid;
            }

            nav.sidebar .navbar-nav > li{
                border-bottom: 1px #e5e5e5 solid;
            }

            nav.sidebar .navbar-nav .open .dropdown-menu {
                position: static;
                float: none;
                width: auto;
                margin-top: 0;
                background-color: transparent;
                border: 0;
                -webkit-box-shadow: none;
                box-shadow: none;
            }

            nav.sidebar .navbar-collapse, nav.sidebar .container-fluid{
                padding: 0 0px 0 0px;
            }

            .navbar-inverse .navbar-nav .open .dropdown-menu>li>a {
                color: #777;
            }

            nav.sidebar{
                width: 200px;
                height: 100%;
                margin-left: -160px;
                float: left;
               ...

JavaScript

$('input.sh').keyup(function(e){
    /* Ignorar tecla tab */
    var code = e.keyCode || e.which;
    if (code == '9') return;
    var $input = $(this),
        inputContent = $input.val().toLowerCase(),
        inpData = $input.data('search'),
        $lista = $input.parents('.'+inpData),
        ulLista = $lista.find('li').index( $input.parents('li') );
});

$('#filter').on('keyup', function(){
  
    var dataFilter = $(this);
    var valorBusca = dataFilter.val();
      var contaLetras = valorBusca.length;
       if (contaLetras >= 1) {
           filterData(valorBusca);
       } else {
        $('.navbar-nav li a').parent().show();  
       }
    
 function filterData(data) {
       
        $('.navbar-nav li a').each(function(iIndex, sElement) {
            $(sElement).parent().hide();  
            if (sElement.innerHTML.indexOf(data) !== -1) {
                 $(sElement).parent().show(); 
             }  
        });
} 

function retiraAcentos(palavra) {
    var com_acento = 'áàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÖÔÚÙÛÜÇ';
    var sem_acento = 'aaaaaeeeeiiiiooooouuuucAAAAAEEEEIIIIOOOOOUUUUC';
    var nova='';
    for(i=0;i<palavra.length;i++) {
        if (com_acento.search(palavra.substr(i,1))>=0) {
            nova+=sem_acento.substr(com_acento.search(palavra.substr(i,1)),1);
        }
        else {
            nova+=palavra.substr(i,1);
        }
    }
    return $.trim(nova).toLowerCase();
}
   
});