You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
296 lines
5.6 KiB
296 lines
5.6 KiB
/* ------------------------------------------------------------------------------ |
|
* |
|
* # 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; |
|
}
|
|
|