319 lines
7.4 KiB
Plaintext
319 lines
7.4 KiB
Plaintext
/*!
|
|
* Datepicker for Bootstrap
|
|
*
|
|
* Copyright 2012 Stefan Petre
|
|
* Improvements by Andrew Rowls
|
|
* Licensed under the Apache License v2.0
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
*/
|
|
|
|
.datepicker {
|
|
// Datepicker .less buildfile. Includes select mixins/variables from bootstrap
|
|
// and imports the included datepicker.less to output a minimal datepicker.css
|
|
//
|
|
// Usage:
|
|
// lessc build.less datepicker.css
|
|
//
|
|
// Variables and mixins copied from bootstrap 2.0.2
|
|
|
|
// Variables
|
|
@white: #fff;
|
|
@orange: #f89406;
|
|
|
|
// Mixins
|
|
|
|
// Border Radius
|
|
.border-radius(@radius: 5px) {
|
|
-webkit-border-radius: @radius;
|
|
-moz-border-radius: @radius;
|
|
border-radius: @radius;
|
|
}
|
|
|
|
// Button backgrounds
|
|
.buttonBackground(@startColor, @endColor) {
|
|
.gradientBar(@startColor, @endColor);
|
|
.reset-filter();
|
|
&:hover, &:active, &.active, &.disabled, &[disabled] {
|
|
background-color: @endColor;
|
|
}
|
|
&:active,
|
|
&.active {
|
|
background-color: darken(@endColor, 10%) e("\9");
|
|
}
|
|
}
|
|
|
|
// Reset filters for IE
|
|
.reset-filter() {
|
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
|
}
|
|
|
|
// Gradient Bar Colors for buttons and alerts
|
|
.gradientBar(@primaryColor, @secondaryColor) {
|
|
#gradient > .vertical(@primaryColor, @secondaryColor);
|
|
border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%);
|
|
border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%);
|
|
}
|
|
|
|
// Gradients
|
|
#gradient {
|
|
.vertical(@startColor: #555, @endColor: #333) {
|
|
background-color: mix(@startColor, @endColor, 60%);
|
|
background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+
|
|
background-image: -ms-linear-gradient(top, @startColor, @endColor); // IE10
|
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
|
|
background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+
|
|
background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10
|
|
background-image: linear-gradient(top, @startColor, @endColor); // The standard
|
|
background-repeat: repeat-x;
|
|
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down
|
|
}
|
|
}
|
|
|
|
padding: 4px;
|
|
.border-radius(4px);
|
|
&-inline {
|
|
width: 220px;
|
|
}
|
|
direction: ltr;
|
|
&&-rtl {
|
|
direction: rtl;
|
|
table tr td span {
|
|
float: right;
|
|
}
|
|
}
|
|
&-dropdown {
|
|
top: 0;
|
|
left: 0;
|
|
&:before {
|
|
content: '';
|
|
display: inline-block;
|
|
border-left: 7px solid transparent;
|
|
border-right: 7px solid transparent;
|
|
border-bottom: 7px solid #ccc;
|
|
border-top: 0;
|
|
border-bottom-color: rgba(0,0,0,.2);
|
|
position: absolute;
|
|
}
|
|
&:after {
|
|
content: '';
|
|
display: inline-block;
|
|
border-left: 6px solid transparent;
|
|
border-right: 6px solid transparent;
|
|
border-bottom: 6px solid @white;
|
|
border-top: 0;
|
|
position: absolute;
|
|
}
|
|
&.datepicker-orient-left:before { left: 6px; }
|
|
&.datepicker-orient-left:after { left: 7px; }
|
|
&.datepicker-orient-right:before { right: 6px; }
|
|
&.datepicker-orient-right:after { right: 7px; }
|
|
&.datepicker-orient-top:before { top: -7px; }
|
|
&.datepicker-orient-top:after { top: -6px; }
|
|
&.datepicker-orient-bottom:before {
|
|
bottom: -7px;
|
|
border-bottom: 0;
|
|
border-top: 7px solid #999;
|
|
}
|
|
&.datepicker-orient-bottom:after {
|
|
bottom: -6px;
|
|
border-bottom: 0;
|
|
border-top: 6px solid @white;
|
|
}
|
|
}
|
|
>div {
|
|
display: none;
|
|
}
|
|
&.days div.datepicker-days {
|
|
display: block;
|
|
}
|
|
&.months div.datepicker-months {
|
|
display: block;
|
|
}
|
|
&.years div.datepicker-years {
|
|
display: block;
|
|
}
|
|
table{
|
|
margin: 0;
|
|
-webkit-touch-callout: none;
|
|
-webkit-user-select: none;
|
|
-khtml-user-select: none;
|
|
-moz-user-select: none;
|
|
-ms-user-select: none;
|
|
user-select: none;
|
|
}
|
|
td,
|
|
th{
|
|
text-align: center;
|
|
width: 20px;
|
|
height: 20px;
|
|
.border-radius(4px);
|
|
|
|
border: none;
|
|
}
|
|
// Inline display inside a table presents some problems with
|
|
// border and background colors.
|
|
.table-striped & table tr {
|
|
td, th {
|
|
background-color:transparent;
|
|
}
|
|
}
|
|
table tr td {
|
|
&.day:hover {
|
|
background: @gray-lighter;
|
|
cursor: pointer;
|
|
}
|
|
&.old,
|
|
&.new {
|
|
color: @gray-light;
|
|
}
|
|
&.disabled,
|
|
&.disabled:hover {
|
|
background: none;
|
|
color: @gray-light;
|
|
cursor: default;
|
|
}
|
|
&.today,
|
|
&.today:hover,
|
|
&.today.disabled,
|
|
&.today.disabled:hover {
|
|
@todayBackground: lighten(@orange, 30%);
|
|
.buttonBackground(@todayBackground, spin(@todayBackground, 20));
|
|
color: #000;
|
|
}
|
|
&.today:hover:hover { // Thank bootstrap 2.0 for this selector...
|
|
// TODO: Bump min BS to 2.1, use @textColor in buttonBackground above
|
|
color: #000;
|
|
}
|
|
&.today.active:hover {
|
|
color: #fff;
|
|
}
|
|
&.range,
|
|
&.range:hover,
|
|
&.range.disabled,
|
|
&.range.disabled:hover {
|
|
background:@gray-lighter;
|
|
.border-radius(0);
|
|
}
|
|
&.range.today,
|
|
&.range.today:hover,
|
|
&.range.today.disabled,
|
|
&.range.today.disabled:hover {
|
|
@todayBackground: mix(@orange, @gray-lighter, 50%);
|
|
.buttonBackground(@todayBackground, spin(@todayBackground, 20));
|
|
.border-radius(0);
|
|
}
|
|
&.selected,
|
|
&.selected:hover,
|
|
&.selected.disabled,
|
|
&.selected.disabled:hover {
|
|
.buttonBackground(lighten(@gray-light, 10), darken(@gray-light, 10));
|
|
color: #fff;
|
|
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
|
|
}
|
|
&.active,
|
|
&.active:hover,
|
|
&.active.disabled,
|
|
&.active.disabled:hover {
|
|
.buttonBackground(@btn-primary-bg, spin(@btn-primary-bg, 20));
|
|
color: #fff;
|
|
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
|
|
}
|
|
span {
|
|
display: block;
|
|
width: 23%;
|
|
height: 54px;
|
|
line-height: 54px;
|
|
float: left;
|
|
margin: 1%;
|
|
cursor: pointer;
|
|
.border-radius(4px);
|
|
&:hover {
|
|
background: @gray-lighter;
|
|
}
|
|
&.disabled,
|
|
&.disabled:hover {
|
|
background:none;
|
|
color: @gray-light;
|
|
cursor: default;
|
|
}
|
|
&.active,
|
|
&.active:hover,
|
|
&.active.disabled,
|
|
&.active.disabled:hover {
|
|
.buttonBackground(@btn-primary-bg, spin(@btn-primary-bg, 20));
|
|
color: #fff;
|
|
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
|
|
}
|
|
&.old,
|
|
&.new {
|
|
color: @gray-light;
|
|
}
|
|
}
|
|
}
|
|
|
|
th.datepicker-switch {
|
|
width: 145px;
|
|
}
|
|
|
|
thead tr:first-child th,
|
|
tfoot tr th {
|
|
cursor: pointer;
|
|
&:hover{
|
|
background: @gray-lighter;
|
|
}
|
|
}
|
|
/*.dow {
|
|
border-top: 1px solid #ddd !important;
|
|
}*/
|
|
|
|
// Basic styling for calendar-week cells
|
|
.cw {
|
|
font-size: 10px;
|
|
width: 12px;
|
|
padding: 0 2px 0 5px;
|
|
vertical-align: middle;
|
|
}
|
|
thead tr:first-child th.cw {
|
|
cursor: default;
|
|
background-color: transparent;
|
|
}
|
|
}
|
|
.input-append,
|
|
.input-prepend {
|
|
&.date {
|
|
.add-on i {
|
|
display: block;
|
|
cursor: pointer;
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
}
|
|
}
|
|
.input-daterange {
|
|
input {
|
|
text-align:center;
|
|
}
|
|
input:first-child {
|
|
border-radius: 3px 0 0 3px;
|
|
}
|
|
input:last-child {
|
|
border-radius: 0 3px 3px 0;
|
|
}
|
|
.add-on {
|
|
display: inline-block;
|
|
width: auto;
|
|
min-width: 16px;
|
|
height: @line-height-base;
|
|
padding: 4px 5px;
|
|
font-weight: normal;
|
|
line-height: @line-height-base;
|
|
text-align: center;
|
|
text-shadow: 0 1px 0 #fff;
|
|
vertical-align: middle;
|
|
background-color: @gray-lighter;
|
|
border: 1px solid #ccc;
|
|
margin-left:-5px;
|
|
margin-right:-5px;
|
|
}
|
|
} |