297 lines
5.6 KiB
Plaintext
297 lines
5.6 KiB
Plaintext
/* ------------------------------------------------------------------------------
|
|
*
|
|
* # Pick-a-date - Date picker
|
|
*
|
|
* The mobile-friendly, responsive, and lightweight jQuery date & time input picker
|
|
*
|
|
* Version: 1.1
|
|
* Latest update: Mar 10, 2016
|
|
*
|
|
* ---------------------------------------------------------------------------- */
|
|
|
|
|
|
// Core
|
|
// ------------------------------
|
|
|
|
// Picker box
|
|
.picker__box {
|
|
padding: (@list-spacing * 2);
|
|
}
|
|
|
|
// Header
|
|
.picker__header {
|
|
text-align: center;
|
|
position: relative;
|
|
font-size: @font-size-h6;
|
|
line-height: 1;
|
|
padding-top: @content-padding-base;
|
|
padding-bottom: @content-padding-base;
|
|
}
|
|
|
|
|
|
// Selectors
|
|
// ------------------------------
|
|
|
|
// Month and year labels
|
|
.picker__month,
|
|
.picker__year {
|
|
font-weight: 500;
|
|
display: inline-block;
|
|
margin-left: 5px;
|
|
margin-right: 5px;
|
|
}
|
|
.picker__year {
|
|
color: @text-muted;
|
|
font-size: @font-size-small;
|
|
font-weight: normal;
|
|
}
|
|
|
|
|
|
// Month and year selectors
|
|
.picker__select--month,
|
|
.picker__select--year {
|
|
border-color: @input-border;
|
|
height: @input-height-mini;
|
|
font-size: @font-size-base;
|
|
line-height: @line-height-small;
|
|
margin-left: 5px;
|
|
margin-right: 5px;
|
|
outline: 0;
|
|
}
|
|
.picker__select--month {
|
|
width: 35%;
|
|
}
|
|
.picker__select--year {
|
|
width: 22.5%;
|
|
}
|
|
|
|
|
|
// Navigation
|
|
// ------------------------------
|
|
|
|
// Navigation buttons
|
|
.picker__nav--prev,
|
|
.picker__nav--next {
|
|
position: absolute;
|
|
padding: (@icon-font-size / 2);
|
|
top: 50%;
|
|
margin-top: -(@icon-font-size);
|
|
border-radius: @border-radius-small;
|
|
line-height: 1;
|
|
|
|
&:before {
|
|
font-family: 'icomoon';
|
|
display: block;
|
|
font-size: @icon-font-size;
|
|
width: @icon-font-size;
|
|
text-align: center;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
}
|
|
|
|
&:hover {
|
|
cursor: pointer;
|
|
background-color: @dropdown-link-hover-bg;
|
|
}
|
|
}
|
|
|
|
// Previous button
|
|
.picker__nav--prev {
|
|
left: 0;
|
|
|
|
&:before {
|
|
content: '\e9c8';
|
|
}
|
|
}
|
|
|
|
// Next button
|
|
.picker__nav--next {
|
|
right: 0;
|
|
|
|
&:before {
|
|
content: '\e9cb'
|
|
}
|
|
}
|
|
|
|
// Disabled state
|
|
.picker__nav--disabled {
|
|
&,
|
|
&:hover,
|
|
&:before,
|
|
&:before:hover {
|
|
cursor: default;
|
|
background: none;
|
|
border-right-color: #f5f5f5;
|
|
border-left-color: #f5f5f5;
|
|
}
|
|
}
|
|
|
|
|
|
// Tables
|
|
// ------------------------------
|
|
|
|
// Calendar table of dates
|
|
.picker__table {
|
|
text-align: center;
|
|
border-collapse: collapse;
|
|
border-spacing: 0;
|
|
table-layout: fixed;
|
|
font-size: inherit;
|
|
width: 100%;
|
|
margin-bottom: (@list-spacing * 2);
|
|
|
|
td {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
}
|
|
|
|
// Weekday labels
|
|
.picker__weekday {
|
|
width: 14.285714286%;
|
|
font-size: @font-size-small;
|
|
text-align: center;
|
|
padding-bottom: @content-padding-small;
|
|
padding-top: (@list-spacing * 2);
|
|
color: @text-muted;
|
|
font-weight: 400;
|
|
}
|
|
|
|
// Days on the calendar
|
|
.picker__day {
|
|
padding: @padding-base-vertical;
|
|
}
|
|
.picker__day--today {
|
|
position: relative;
|
|
background-color: @dropdown-link-hover-bg;
|
|
|
|
&:before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 2px;
|
|
right: 2px;
|
|
width: 0;
|
|
height: 0;
|
|
border-top: 6px solid @color-teal-400;
|
|
border-left: 6px solid transparent;
|
|
}
|
|
}
|
|
|
|
|
|
// States
|
|
// ------------------------------
|
|
|
|
// Date focus
|
|
.picker__day--outfocus {
|
|
color: #ccc;
|
|
}
|
|
.picker__day--infocus:hover,
|
|
.picker__day--outfocus:hover {
|
|
cursor: pointer;
|
|
color: @text-color;
|
|
background-color: @dropdown-link-hover-bg;
|
|
}
|
|
|
|
// Highlighted date
|
|
.picker__day--highlighted:before {
|
|
border-top-color: #fff;
|
|
}
|
|
.picker__day--highlighted,
|
|
.picker__day--selected {
|
|
border-radius: @border-radius-base;
|
|
}
|
|
.picker__day--highlighted,
|
|
.picker__day--highlighted:hover,
|
|
.picker--focused .picker__day--highlighted {
|
|
cursor: pointer;
|
|
color: #fff;
|
|
background-color: @color-teal-400;
|
|
}
|
|
.picker__day--selected,
|
|
.picker__day--selected:hover,
|
|
.picker--focused .picker__day--selected {
|
|
background-color: @color-teal-400;
|
|
color: #fff;
|
|
}
|
|
|
|
// Disabled date
|
|
.picker__day--disabled {
|
|
&,
|
|
&:hover {
|
|
background: #fafafa;
|
|
color: @text-muted;
|
|
cursor: default;
|
|
}
|
|
|
|
&:before {
|
|
border-top-color: #999;
|
|
}
|
|
|
|
.picker__day--highlighted & {
|
|
&,
|
|
&:hover {
|
|
background-color: #bbbbbb;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
// Footer
|
|
// ------------------------------
|
|
|
|
// Contains the "today" and "clear" buttons
|
|
.picker__footer {
|
|
text-align: center;
|
|
|
|
// Footer buttons
|
|
button {
|
|
border: 0;
|
|
background: #fff;
|
|
padding: @padding-small-vertical @padding-small-horizontal;
|
|
border-radius: @border-radius-base;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
display: inline-block;
|
|
|
|
&:hover,
|
|
&:focus {
|
|
outline: 0;
|
|
background-color: @dropdown-link-hover-bg;
|
|
}
|
|
|
|
&:before {
|
|
height: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Buttons
|
|
.picker__button--today:before {
|
|
content: '';
|
|
margin-right: 5px;
|
|
position: relative;
|
|
display: inline-block;
|
|
top: -1px;
|
|
width: 0;
|
|
border-top: 6px solid @brand-primary;
|
|
border-left: 6px solid transparent;
|
|
}
|
|
.picker__button--close:before {
|
|
content: '\D7';
|
|
display: inline-block;
|
|
position: relative;
|
|
margin-right: 5px;
|
|
top: 1px;
|
|
line-height: 1;
|
|
font-size: @icon-font-size;
|
|
}
|
|
.picker__button--clear:before {
|
|
content: '';
|
|
display: inline-block;
|
|
position: relative;
|
|
top: -3px;
|
|
width: 8px;
|
|
margin-right: 5px;
|
|
border-top: 2px solid @brand-danger;
|
|
}
|