Datepicker Component
A CSS implementation of the Sprout datepicker component.
Related
Sprout datepicker documentation [external]
Example
html
<!-- Start trigger -->
<div class="spr-datepicker-trigger spr-inline-container-xs spr-align-center">
<div>10/10/2020</div>
<div>
<i class="spr-icon spr-icon-calendar"></i>
</div>
</div>
<!-- End trigger -->
<!-- Start calendar -->
<div class="spr-datepicker-container">
<div class="spr-inline-container-sm spr-justify-center spr-justify-space-between">
<div class="spr-inline-container-sm spr-justify-center spr-align-center">
<div class="spr-datepicker-arrow">
<i class="spr-icon spr-icon-carat-down spr-icon-rotate-90"></i>
</div>
<div class="spr-bold spr-datepicker-month">Jul</div>
<div class="spr-datepicker-arrow">
<i class="spr-icon spr-icon-carat-down spr-icon-rotate-270"></i>
</div>
</div>
<div class="spr-inline-container-sm spr-justify-center spr-align-center">
<div class="spr-datepicker-arrow">
<i class="spr-icon spr-icon-carat-down spr-icon-rotate-90"></i>
</div>
<div class="spr-bold">2021</div>
<div class="spr-datepicker-arrow">
<i class="spr-icon spr-icon-carat-down spr-icon-rotate-270"></i>
</div>
</div>
</div>
<div>
<div class="spr-datepicker-row spr-datepicker-top">
<div class="spr-datepicker-cell">Sun</div>
<div class="spr-datepicker-cell">Mon</div>
<div class="spr-datepicker-cell">Tues</div>
<div class="spr-datepicker-cell">Wed</div>
<div class="spr-datepicker-cell">Thurs</div>
<div class="spr-datepicker-cell">Fri</div>
<div class="spr-datepicker-cell">Sat</div>
</div>
<div class="spr-datepicker-row">
<!-- days that fall in previous or next month -->
<div class="spr-datepicker-cell spr-datepicker-grey">30</div>
<div class="spr-datepicker-cell spr-datepicker-grey">31</div>
<!-- day clicked on by user -->
<div class="spr-datepicker-cell spr-datepicker-selected">1</div>
<!-- day hovered over by user -->
<div class="spr-datepicker-cell spr-datepicker-highlighted">2</div>
<!-- all other days -->
<div class="spr-datepicker-cell">3</div>
<div class="spr-datepicker-cell">4</div>
<div class="spr-datepicker-cell">5</div>
</div>
</div>
</div>
<!-- End calendar -->
Compiled CSS
Example
scss
@import 'components/datepicker';
css
compiled
@keyframes openPopover {
from {
transform: scale(0.9);
}
to {
transform: scale(1);
}
}
.spr-icon-rotate-90 {
transform: rotate(90deg);
}
.spr-icon-rotate-180 {
transform: rotate(180deg);
}
.spr-icon-rotate-270 {
transform: rotate(270deg);
}
.spr-datepicker-trigger {
border: 1px solid #18191b;
border-radius: 0.25rem;
padding: 0.5rem;
width: fit-content;
cursor: pointer;
background-color: #fff;
}
.spr-datepicker-placeholder {
color: #6b6f7b;
}
.spr-datepicker-container {
padding: 0.75rem 0.75rem;
font-size: 0.875rem;
}
.spr-datepicker-month {
width: 75px;
text-align: center;
}
.spr-datepicker-row {
display: flex;
margin-bottom: 0.5rem;
}
.spr-datepicker-row:last-of-type {
margin-bottom: 0;
}
.spr-datepicker-top {
color: #6b6f7b;
border-bottom: 1px solid #bbbdc4;
font-weight: 600;
}
.spr-datepicker-cell {
margin-right: 0.5rem;
text-align: center;
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
}
.spr-datepicker-cell:last-of-type {
margin-right: 0;
}
.spr-datepicker-highlighted {
cursor: pointer;
color: #18191b;
border-radius: 50%;
background: #e4e5e7;
}
.spr-datepicker-arrow {
cursor: pointer;
}
.spr-datepicker-selected:not(.spr-datepicker-grey) {
cursor: pointer;
background: #20883a;
color: #fff;
border-radius: 50%;
font-weight: 600;
}
.spr-datepicker-selected:hover {
background: #165f28;
}
.spr-datepicker-grey {
opacity: 0.5;
}
.spr-datepicker-disabled {
opacity: 0.25;
pointer-events: none;
}