ncb-datepicker
Version:
A datepicker with no dependencies. Check out a simple demo here: https://nickbittar.github.io/Datepicker/
209 lines (181 loc) • 4.57 kB
CSS
.ncb-datepicker-container {
position: absolute;
}
.ncb-datepicker-container:focus {
outline: none;
}
.calendar {
cursor: default;
user-select: none;
display: flex;
flex-direction: column;
box-sizing: border-box;
width: 240px;
padding: 4px 8px 8px 8px;
border: 1px solid #ccc;
box-shadow: 0px 1px 2px rgba(0,0,0,0.1);
background: #fff;
border-radius: 5px;
}
.ncb-datepicker-container .calendar-header {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
height: 50px;
margin-bottom: 2px;
}
.ncb-datepicker-container .calendar-header > .calendar-header-label {
display: flex;
text-align: center;
justify-content: center;
margin: 2px 0px;
padding: 5px 10px;
font-weight: bold;
}
.ncb-datepicker-container .calendar-header > .calendar-header-control {
cursor: pointer;
border-radius: 5px;
font-size: 1.2em;
}
.ncb-datepicker-container .calendar-header > .calendar-header-control:hover {
background: #eee;
}
.ncb-datepicker-container .calendar-header > .current-month-name {
font-size: 1em;
}
.ncb-datepicker-container .calendar-header > .current-year-name {
font-size: 1em;
}
.ncb-datepicker-container .calendar-body {
display: flex;
flex-direction: row;
flex-flow: wrap;
justify-content: center;
}
.ncb-datepicker-container .calendar-date {
display: flex;
align-items: center;
justify-content: center;
width: 32px;
width: calc(100%/7);
height: 32px;
}
.ncb-datepicker-container .calendar-item.calendar-weekday-label {
display: flex;
align-items: center;
justify-content: center;
width: 32px;
width: calc(100%/7);
font-size: 1.1em;
border-bottom: 1px solid #ccc;
height: initial;
padding-bottom: 3px;
margin-bottom: 4px;
}
.ncb-datepicker-container .calendar-option {
cursor: pointer;
/*border: 1px solid #fafafa;*/
box-sizing: border-box;
}
.ncb-datepicker-container .calendar-option:hover {
background: lavender;
font-weight: bold;
}
.ncb-datepicker-container .calendar-item.calendar-item-disabled, .ncb-datepicker-container .calendar-today-button.calendar-today-button-disabled {
cursor: not-allowed;
color: #AAA;
background: #eee;
border-radius: 0px;
}
.ncb-datepicker-container .current-month {
color: #111;
border-radius: 3px;
}
.ncb-datepicker-container .not-current-month {
color: #b3b3b3;
background: #f5f5f5;
border-radius: 0px;
}
.ncb-datepicker-container .calendar-month {
display: flex;
align-items: center;
justify-content: center;
width: 74px;
width: calc(100%/3);
height: 56px;
}
.ncb-datepicker-container .calendar-year {
display: flex;
align-items: center;
justify-content: center;
width: 74px;
width: calc(100%/3);
height: 56px;
}
.ncb-datepicker-container .calendar-footer {
display: flex;
justify-content: center;
align-items: center;
margin-top: 2px;
}
.ncb-datepicker-container .calendar-today-button {
cursor: pointer;
display: flex;
justify-content: center;
width: 100%;
border-radius: 5px;
font-weight: bold;
padding: 6px 2px;
font-size: 0.9em;
}
.ncb-datepicker-container .calendar-today-button:hover {
background: #eee;
}
.ncb-datepicker-container.dark > .calendar {
background: #111;
color: #eee;
}
.ncb-datepicker-container.dark > .calendar .current-month {
color: #eee;
}
.ncb-datepicker-container.dark > .calendar .not-current-month {
color: #aaa;
background: #333;
}
.ncb-datepicker-container.dark > .calendar .calendar-option:hover {
color: #eee;
background: #4b133a;
}
.ncb-datepicker-container.dark > .calendar .selected-date {
color: #eee;
background: #2c1fa1;
}
.ncb-datepicker-container.dark > .calendar .calendar-header > .calendar-header-control:hover {
color: #eee;
background: #444;
}
.ncb-datepicker-container.dark > .calendar .calendar-item.calendar-item-disabled {
color: #999;
background: #444;
}
.ncb-datepicker-container.dark > .calendar .calendar-today-button:hover {
background: #444;
}
.ncb-datepicker-container.compact > .calendar {
font-size: 0.75rem;
width: 176px;
padding: 2px 4px 2px 4px;
}
.ncb-datepicker-container.compact > .calendar .calendar-date {
height: 24px;
}
.ncb-datepicker-container.compact > .calendar .calendar-month {
height: 42px;
}
.ncb-datepicker-container.compact > .calendar .calendar-year {
height: 42px;
}
.ncb-datepicker-container.compact > .calendar .calendar-header {
height: 44px;
}