/*! * 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; } }