JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="http://blog.webintelligence.ie/topcoat/css/topcoat-mobile-dark.css">
<body>
    <div class="current-page">
        <div class="topcoat-navigation-bar">
            <div class="topcoat-navigation-bar__item left quarter">
                <a id="slide-menu-button" class="topcoat-icon-button--quiet slide-menu-button">
                    Menu
                </a>
            </div>
            <div class="topcoat-navigation-bar__item center half">
                <h1 class="topcoat-navigation-bar__title">Topcoat Drawer</h1>
            </div>
            <div class="topcoat-navigation-bar__item right quarter">
                <a class="topcoat-icon-button--quiet">
                    <span class="topcoat-icon topcoat-icon--edit"></span>
                </a>
            </div>
        </div>
        <nav class="side-nav">
            <div class="topcoat-list__container side-nav__list__container">
                <ul class="topcoat-list side-nav__list">
                    <li class="topcoat-list__item side-nav__list__item">
                        <a href="#" class="side-nav__button">Item</a>
                    </li>
                    <li class="topcoat-list__item side-nav__list__item is-active">
                        <a href="#" class="side-nav__button">Item</a>
                    </li>
                    <li class="topcoat-list__item side-nav__list__item">
                        <a href="#" class="side-nav__button">Item</a>
                    </li>
                </ul>
            </div>
        </nav>
        <div class="main-content">In the content</div>

        <script>
            
            window.onload = function () {
 
                var slideMenuButton = document.getElementById('slide-menu-button');
                slideMenuButton.onclick = function (e) {
                    var cl = document.body.classList;
                    if (cl.contains('left-nav')) {
                        cl.remove('left-nav');
          ...

CSS

html, body {
    margin:0;
    padding:0;
    height: 100%;
}
body{
    font-family: source-sans-pro, sans-serif;
    position: relative;
    width: 100%;
    height:100%;
    overflow: hidden;
    -webkit-font-smoothing: antialiased;
}

div.current-page{
    margin:0;
    padding:0;
    height: 100%;
    font-family: source-sans-pro, sans-serif;
    position: relative;
    width: 100%;
    height:100%;
    overflow: hidden;
    -webkit-font-smoothing: antialiased;
}


body.left-nav .topcoat-navigation-bar, body.left-nav .main-content {
    left:250px;
}

.topcoat-navigation-bar {
    position:absolute;
    width:100%;
    z-index:100;
    transition: left 0.2s ease-out;
    -webkit-transition: left 0.2s ease-out;
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
}
.side-nav {
    display:block;
    position:absolute;
    top:0;
    left:0;
    width:320px;
    height:100%;
    background-color:#353535;
}
.side-nav__list__container {
    margin-top:4rem;
    border-top:none;
    border-bottom:none;
}
.side-nav__list {
    border-top:none;
}
.side-nav__list__item {
    padding:0;
}
.side-nav__list__item.is-active {
    background-color:#353535;
}
.side-nav__button {
    display:block;
    width:100%;
    height:100%;
    padding: 1.25rem;
    box-sizing: border-box;
    color: #c6c8c8;
    text-decoration:none;
}
.side-nav__button:hover {
    background-color:#747474;
}
.side-nav__button:active {
    background-color:#353535;
}
.main-content {
    position: absolute;
    background: white;
    left: 0;
    padding-top:4rem;
    width:100%;
    height:100%;
    transition: left 0.2s ease-out;
    -webkit-transition: left 0.2s ease-out;
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    -moz-box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, 0.57);
    -webkit-box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, 0.57);
    box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, 0.57);
}
@media screen and (min-width: 640px) { /*...