JSFiddle - React, Tailwind, and code Playground

HTML

<div id="container">
    <div id="header">
    </div>
    <div id="sidebar">
        <div id="switch"></div>
        <div id="list"></div>
    </div>
    <div id="viewer"></div>
    <div id="footer">
    </div>
</div>

CSS

html, body {
    background-color: #1C1C1C;
    margin: 0;
    padding: 0;
    border: 0;
}
#header, #sidebar, #viewer, #footer {
    position: absolute;
}
#header, #footer{
    min-width: 800px;
}
#header{
    top: 0;
    width: 100%;
    height: 35px;
}
#sidebar {
    top: 35px;
    width: 200px;
    bottom: 35px;
    background-color: #999999;
    z-index:100;
}
#list {
    margin-top: -35px;
    background-color: #FFFFFF;
    width: 195px;
    overflow: scroll;
    height: 100%;
    padding-left: 5px;
}
#switch {
    height: 35px;
    width: 35px;
    left: 200px;
    background-color: #CC0066;
    cursor: pointer;
    position: relative;
}
#viewer {
    top: 35px;
    left: 200px;
    right: 0;
    bottom: 35px;
    background-color: #CCCCCC;
    border: solid 4px #3399FF;
}
#footer {
    bottom: 0;
    width: 100%;
    height: 35px;
    background-color: #000000;
}

JavaScript

$('#switch').toggle(
function() {
    $('#viewer').animate({left: 5});
    $('#list').animate({"width": 0});
    $('#sidebar').animate({"width": 0});
    $('#switch').animate({"left": 5});
}, function() {
    $('#switch').animate({"left": 200});
    $('#sidebar').animate({"width": 200});
    $('#list').animate({"width": 195});
    $('#viewer').animate({left: 200});
})