JSFiddle - React, Tailwind, and code Playground
by secretgspot
HTML
<ul>
<li class="area">
<ul id="interest-area1">
<li>
<label class="cat-label">Category 1</label>
<span class="cat-arrow">▸</span>
<label class="cat-counter">2</label>
</li>
<li class="active">
<label class="cat-label">Category 2</label>
<span class="cat-arrow">▸</span>
<label class="cat-counter">0</label>
</li>
<li>
<label class="cat-label">Category 3</label>
<span class="cat-arrow">▸</span>
<label class="cat-counter">12</label>
</li>
</ul>
<ul id="interest-area2">
<li>
<label for="cat-select-1" class="">
<input type="checkbox" name="cat-select-1" id="cat-select-1" value="select 1">
<span>Select 1</span>
</label>
</li>
<li class="active">
<label for="cat-select-2" class="">
<input type="checkbox" name="cat-select-2" id="cat-select-2" value="select 1">
<span>Select 2</span>
</label>
</li>
<li>
<label for="cat-select-3" class="">
<input type="checkbox" name="cat-select-3" id="cat-select-3" value="select 3">
<span>Select 3</span>
</label>
</li>
</ul>
<div id="cat-status">
<label>X Categories Selected</label> •
<a href="#">Show Selected</a>
</div>
</li>
</ul>
CSS
li.area {
vertical-align: top;
}
ul#interest-area1,
ul#interest-area2 {
display: inline-block;
border: 1px solid #ddd;
background: #fff;
padding: 3px 0;
margin: 0;
max-height: 200px;
min-width: 200px;
overflow-x: hidden;
overflow-y: auto;
vertical-align: top;
}
ul#interest-area1 li,
ul#interest-area2 li {
cursor: pointer;
overflow: hidden;
padding: 2px 0 3px 6px;
text-overflow: ellipsis;
user-select: none;
white-space: nowrap;
}
ul#interest-area1 li.active,
ul#interest-area2 li.active {
background: #deefff;
}
ul#interest-area1 .cat-label {
display: inline-block;
line-height: normal;
float: left;
}
ul#interest-area1 .cat-counter {
background:#deefff;
float: right;
padding: 0 6px;
margin: 2px 3px;
position: relative;
text-align: center;
border-radius: 3px;
font-size: 80%;
}
ul#interest-area1 .cat-arrow {
display: inline-block;
padding: 0 2px;
margin-right: 3px;
float: right;
text-align: center;
line-height: 1.3em;
color: #aaa;
}