JSFiddle - React, Tailwind, and code Playground
by michananya
HTML
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap" rel="stylesheet">
<h2>Default</h2>
<div class="chips-selection">
<div class="chip">Sunday</div>
<div class="chip">Monday</div>
<div class="chip">Tuesday</div>
<div class="chip">Wednesday</div>
<div class="chip">Thursday</div>
<div class="chip">Friday</div>
<div class="chip disabled">Saturday</div>
</div>
<h2>Warp</h2>
<div class="chips-selection flex">
<div class="chip">China</div>
<div class="chip">India</div>
<div class="chip">United States</div>
<div class="chip">Indonesia</div>
<div class="chip">Pakistan</div>
<div class="chip disabled">Brazil</div>
<div class="chip">Germany</div>
<div class="chip">Egypt</div>
<div class="chip">Ethiopia</div>
<div class="chip">Japan</div>
<div class="chip">Mexico</div>
<div class="chip">Russia</div>
<div class="chip disabled">Nigeria</div>
</div>
<h2>Small version</h2>
<div class="chips-selection small">
<div class="chip">Sunday</div>
<div class="chip">Monday</div>
<div class="chip">Tuesday</div>
<div class="chip">Wednesday</div>
<div class="chip">Thursday</div>
<div class="chip">Friday</div>
<div class="chip disabled">Saturday</div>
</div>
<h2>Single selection</h2>
<div class="chips-selection" id="SingleSelection">
<div class="chip">Green</div>
<div class="chip">Blue</div>
<div class="chip">Pink</div>
<div class="chip">Yellow</div>
<div class="chip disabled">Black</div>
</div>
CSS
body {
font-family: 'Open Sans', sans-serif;
box-sizing: border-box;
padding: 50px;
}
.chips-selection {
}
.flex {
width: 300px;
}
.chip {
font-size: 14px;
color: #266268;
height: 36px;
line-height: 32px;
border-radius: 18px;
padding: 0px 14px;
border: 1px solid #D3DFE1;
box-sizing: border-box;
display: inline-flex;
cursor: pointer;
user-select: none;
margin-right: 2px;
margin-bottom: 6px;
}
.selected {
border: 1px solid #7CA0A4;
background-color: #E9EFEF;
}
.chip:active, .chip:focus {
border: 1px solid #A8C0C2;
}
.chip.selected:active, .chip.selected:focus {
border: 1px solid #266268;
}
.disabled {
opacity: .4;
}
.small > .chip {
padding: 0px 10px;
height: 28px;
line-height: 24px;
font-size: 13px;
}
JavaScript
// toggleClass() example
$(document).ready(function(){
$(".chip:not(.disabled)").click(function(){
$(this).toggleClass("selected");
});
$("#SingleSelection > .chip:not(.disabled)").click(function(){
$("#SingleSelection > .selected").not(this).removeClass("selected");
});
});