JSFiddle - React, Tailwind, and code Playground
by Daniel Flores
HTML
<div class="sm-queue">
<h4>Message Folders</h4>
<ul class="sm-folder-list">
<li class="expandable active show" id="sm_folder_unsorted">
<div class="inside">
<i class="icon-mod-unsorted"></i> Unsorted
</div>
<div class="outside">
<a class="download-unsorted" href="#" target="_blank" title="Download CSV"><i class="icon-mod-download"></i></a>
</div>
</li>
</ul>
</div>
CSS
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
[class^="icon-"],
[class*=" icon-"] {
background-color: black;
display: inline-block;
width: 14px;
height: 14px;
line-height: 14px;
margin-top: 0;
vertical-align: middle;
}
ul {
margin: 0;
padding: 0;
}
/* Button CSS */
.sm-queue {
width: 215px;
}
.sm-folder-list li {
line-height: 18px;
padding: 5px;
margin-bottom: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
cursor: pointer;
-webkit-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, .25);
box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, .25);
}
.sm-folder-list li.active,
.sm-folder-list li:hover {
box-shadow: 0 1px 1px 1px rgba(0, 0, 0, 0.25);
}
.sm-folder-list li.active {
cursor: default;
}
.sm-folder-list li.expandable {
overflow: hidden;
position: relative;
height: 28px;
line-height: 18px;
padding: 0;
-webkit-transition: all .25s ease;
-moz-transition: all .25s ease;
-ms-transition: all .25s ease;
-o-transition: all .25s ease;
transition: all .25s ease;
}
.sm-folder-list li.expandable.show:hover {
width: 250px;
}
.sm-folder-list li.expandable > .inside,
.sm-folder-list li.expandable > .outside {
display: inline-block;
}
.sm-folder-list li.expandable > .outside a,
.sm-folder-list li.expandable > .outside span {
cursor: pointer;
margin-left: 5px;
}
.sm-folder-list li.expandable > .inside {
padding: 5px;
width: 205px;
}
.inside .badge {
float: right;
}
.unsorted { background-color: #FFFFFF; }
.queued { background-color: #ECFDE0; }
.elevated { background-color: #ECEDF2; }
.removed { background-color: #FFF9F9; }