From 157337f65898ef066ef262c2287ce38df4a14ff4 Mon Sep 17 00:00:00 2001 From: AlexeyShirshov Date: Sun, 15 Sep 2013 16:09:14 +0400 Subject: [PATCH 01/15] Create datepicker3.less --- less/datepicker3.less | 326 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 326 insertions(+) create mode 100644 less/datepicker3.less diff --git a/less/datepicker3.less b/less/datepicker3.less new file mode 100644 index 0000000..ab9763e --- /dev/null +++ b/less/datepicker3.less @@ -0,0 +1,326 @@ +/*! + * Datepicker for Bootstrap + * + * Copyright 2012 Stefan Petre + * Improvements by Andrew Rowls + * Ported to 3.0 by Alexey Shirshov + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + */ + +/* +Alexey Shirshov: you may want to use it separately, so uncomment below +@import "variables.less"; +@import "mixins.less"; +*/ + +.border-radius (@radius) { + -moz-border-radius: @radius; + -webkit-border-radius: @radius; + border-radius: @radius; +} + +.datepicker { + 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%); + .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); + 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%); + .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); + .border-radius(0); + } + + &.selected, + &.selected:hover, + &.selected.disabled, + &.selected.disabled:hover { + .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); + color: #fff; + -webkit-text-shadow: 0 -1px 0 rgba(0,0,0,.25); + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + } + + &.active, + &.active:hover, + &.active.disabled, + &.active.disabled:hover { + .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); + color: #fff; + -webkit-text-shadow: 0 -1px 0 rgba(0,0,0,.25); + 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 { + .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); + color: #fff; + -webkit-text-shadow: 0 -1px 0 rgba(0,0,0,.25); + 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; + -webkit-text-shadow: 0 1px 0 white; + text-shadow: 0 1px 0 #white; + vertical-align: middle; + background-color: @gray-lighter; + border: 1px solid #ccc; + margin-left: -5px; + margin-right: -5px; + } +} From b8109028a747bcc3fddff5e13b195ee80e337ff7 Mon Sep 17 00:00:00 2001 From: Andrew Rowls Date: Fri, 4 Oct 2013 00:31:25 -0400 Subject: [PATCH 02/15] Remove border-radius mixin, as BS3 has done See https://github.com/twbs/bootstrap/pull/6342 for details --- less/datepicker3.less | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/less/datepicker3.less b/less/datepicker3.less index ab9763e..14c8500 100644 --- a/less/datepicker3.less +++ b/less/datepicker3.less @@ -15,15 +15,9 @@ Alexey Shirshov: you may want to use it separately, so uncomment below @import "mixins.less"; */ -.border-radius (@radius) { - -moz-border-radius: @radius; - -webkit-border-radius: @radius; - border-radius: @radius; -} - .datepicker { padding: 4px; - .border-radius(4px); + border-radius: 4px; &-inline { width: 220px; @@ -132,7 +126,7 @@ Alexey Shirshov: you may want to use it separately, so uncomment below text-align: center; width: 20px; height: 20px; - .border-radius(4px); + border-radius: 4px; border: none; } // Inline display inside a table presents some problems with @@ -184,7 +178,7 @@ Alexey Shirshov: you may want to use it separately, so uncomment below &.range.disabled, &.range.disabled:hover { background: @gray-lighter; - .border-radius(0); + border-radius: 0; } &.range.today, @@ -193,7 +187,7 @@ Alexey Shirshov: you may want to use it separately, so uncomment below &.range.today.disabled:hover { @todayBackground: mix(@orange, @gray-lighter, 50%); .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); - .border-radius(0); + border-radius: 0; } &.selected, @@ -224,7 +218,7 @@ Alexey Shirshov: you may want to use it separately, so uncomment below float: left; margin: 1%; cursor: pointer; - .border-radius(4px); + border-radius: 4px; &:hover { background: @gray-lighter; @@ -299,11 +293,11 @@ Alexey Shirshov: you may want to use it separately, so uncomment below } input:first-child { - .border-radius(3px 0 0 3px); + border-radius: 3px 0 0 3px; } input:last-child { - .border-radius(0 3px 3px 0); + border-radius: 0 3px 3px 0; } .add-on { From 8182991c6f867d6304c55bcb6dba5da1dbfb5be9 Mon Sep 17 00:00:00 2001 From: Andrew Rowls Date: Fri, 4 Oct 2013 00:53:14 -0400 Subject: [PATCH 03/15] Update color variables used --- less/datepicker3.less | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/less/datepicker3.less b/less/datepicker3.less index 14c8500..73933f0 100644 --- a/less/datepicker3.less +++ b/less/datepicker3.less @@ -53,7 +53,7 @@ Alexey Shirshov: you may want to use it separately, so uncomment below display: inline-block; border-left: 6px solid transparent; border-right: 6px solid transparent; - border-bottom: 6px solid white; + border-bottom: 6px solid #fff; border-top: 0; position: absolute; } @@ -91,7 +91,7 @@ Alexey Shirshov: you may want to use it separately, so uncomment below &.datepicker-orient-bottom:after { bottom: -6px; border-bottom: 0; - border-top: 6px solid white; + border-top: 6px solid #fff; } } @@ -145,13 +145,13 @@ Alexey Shirshov: you may want to use it separately, so uncomment below &.old, &.new { - color: @gray-light; + color: @btn-link-disabled-color; } &.disabled, &.disabled:hover { background: none; - color: @gray-light; + color: @btn-link-disabled-color; cursor: default; } @@ -185,7 +185,7 @@ Alexey Shirshov: you may want to use it separately, so uncomment below &.range.today:hover, &.range.today.disabled, &.range.today.disabled:hover { - @todayBackground: mix(@orange, @gray-lighter, 50%); + @todayBackground: mix(orange, @gray-lighter, 50%); .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); border-radius: 0; } @@ -227,7 +227,7 @@ Alexey Shirshov: you may want to use it separately, so uncomment below &.disabled, &.disabled:hover { background: none; - color: @gray-light; + color: @btn-link-disabled-color; cursor: default; } @@ -243,7 +243,7 @@ Alexey Shirshov: you may want to use it separately, so uncomment below &.old, &.new { - color: @gray-light; + color: @btn-link-disabled-color; } } } @@ -309,11 +309,11 @@ Alexey Shirshov: you may want to use it separately, so uncomment below font-weight: normal; line-height: @line-height-base; text-align: center; - -webkit-text-shadow: 0 1px 0 white; - text-shadow: 0 1px 0 #white; + -webkit-text-shadow: 0 1px 0 #fff; + text-shadow: 0 1px 0 #fff; vertical-align: middle; - background-color: @gray-lighter; - border: 1px solid #ccc; + background-color: @input-group-addon-bg; + border: 1px solid @input-group-addon-border-color; margin-left: -5px; margin-right: -5px; } From e309ba16f4e5ed2a51cd033b2bee18968e4c1cf2 Mon Sep 17 00:00:00 2001 From: Andrew Rowls Date: Sat, 19 Oct 2013 20:14:35 -0400 Subject: [PATCH 04/15] Minimize diff between datepicker.less and datepicker3.less --- less/datepicker3.less | 509 +++++++++++++++++++----------------------- 1 file changed, 227 insertions(+), 282 deletions(-) diff --git a/less/datepicker3.less b/less/datepicker3.less index 73933f0..210be81 100644 --- a/less/datepicker3.less +++ b/less/datepicker3.less @@ -16,265 +16,214 @@ Alexey Shirshov: you may want to use it separately, so uncomment below */ .datepicker { - padding: 4px; - border-radius: 4px; + 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 #fff; + 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 #fff; + } + } + >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; - &-inline { - width: 220px; - } + 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: @btn-link-disabled-color; + } + &.disabled, + &.disabled:hover { + background: none; + color: @btn-link-disabled-color; + cursor: default; + } + &.today, + &.today:hover, + &.today.disabled, + &.today.disabled:hover { + @todayBackground: lighten(orange, 30%); + .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); + 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%); + .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); + border-radius: 0; + } + &.selected, + &.selected:hover, + &.selected.disabled, + &.selected.disabled:hover { + .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); + color: #fff; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + } + &.active, + &.active:hover, + &.active.disabled, + &.active.disabled:hover { + .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); + 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: @btn-link-disabled-color; + cursor: default; + } + &.active, + &.active:hover, + &.active.disabled, + &.active.disabled:hover { + .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); + color: #fff; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + } + &.old, + &.new { + color: @btn-link-disabled-color; + } + } + } - direction: ltr; + th.datepicker-switch { + width: 145px; + } - & &-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 #fff; - 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 #fff; - } - } - - >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: @btn-link-disabled-color; - } - - &.disabled, - &.disabled:hover { - background: none; - color: @btn-link-disabled-color; - cursor: default; - } - - &.today, - &.today:hover, - &.today.disabled, - &.today.disabled:hover { - @todayBackground: lighten(orange, 30%); - .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); - 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%); - .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); - border-radius: 0; - } - - &.selected, - &.selected:hover, - &.selected.disabled, - &.selected.disabled:hover { - .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); - color: #fff; - -webkit-text-shadow: 0 -1px 0 rgba(0,0,0,.25); - text-shadow: 0 -1px 0 rgba(0,0,0,.25); - } - - &.active, - &.active:hover, - &.active.disabled, - &.active.disabled:hover { - .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); - color: #fff; - -webkit-text-shadow: 0 -1px 0 rgba(0,0,0,.25); - 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: @btn-link-disabled-color; - cursor: default; - } - - &.active, - &.active:hover, - &.active.disabled, - &.active.disabled:hover { - .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); - color: #fff; - -webkit-text-shadow: 0 -1px 0 rgba(0,0,0,.25); - text-shadow: 0 -1px 0 rgba(0,0,0,.25); - } - - &.old, - &.new { - color: @btn-link-disabled-color; - } - } - } - - th.datepicker-switch { - width: 145px; - } - - thead tr:first-child th, - tfoot tr th { - cursor: pointer; - - &:hover { - background: @gray-lighter; - } - } - /*.dow { + 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; - } + // 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 { @@ -288,33 +237,29 @@ Alexey Shirshov: you may want to use it separately, so uncomment below } } .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; - -webkit-text-shadow: 0 1px 0 #fff; - text-shadow: 0 1px 0 #fff; - vertical-align: middle; - background-color: @input-group-addon-bg; - border: 1px solid @input-group-addon-border-color; - margin-left: -5px; - margin-right: -5px; - } + 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: @input-group-addon-bg; + border: 1px solid @input-group-addon-border-color; + margin-left:-5px; + margin-right:-5px; + } } From 8bfdea2d81fc6050b4b8d06f205ab5b0451a21d2 Mon Sep 17 00:00:00 2001 From: Andrew Rowls Date: Sat, 19 Oct 2013 20:28:28 -0400 Subject: [PATCH 05/15] Fix bs3 color schemes --- less/datepicker3.less | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/less/datepicker3.less b/less/datepicker3.less index 210be81..b13500b 100644 --- a/less/datepicker3.less +++ b/less/datepicker3.less @@ -123,9 +123,9 @@ Alexey Shirshov: you may want to use it separately, so uncomment below &.today:hover, &.today.disabled, &.today.disabled:hover { - @todayBackground: lighten(orange, 30%); - .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); - color: #000; + @today-bg: lighten(orange, 30%); + .button-variant(#000, @today-bg, darken(@today-bg, 20%)); + .btn-styles(@today-bg); } &.today:hover:hover { // Thank bootstrap 2.0 for this selector... // TODO: Bump min BS to 2.1, use @textColor in buttonBackground above @@ -145,8 +145,9 @@ Alexey Shirshov: you may want to use it separately, so uncomment below &.range.today:hover, &.range.today.disabled, &.range.today.disabled:hover { - @todayBackground: mix(orange, @gray-lighter, 50%); - .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); + @today-bg: mix(orange, @gray-lighter, 50%); + .button-variant(#000, @today-bg, darken(@today-bg, 20%)); + .btn-styles(@today-bg); border-radius: 0; } &.selected, @@ -154,15 +155,15 @@ Alexey Shirshov: you may want to use it separately, so uncomment below &.selected.disabled, &.selected.disabled:hover { .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); - color: #fff; + .btn-styles(@btn-default-bg); text-shadow: 0 -1px 0 rgba(0,0,0,.25); } &.active, &.active:hover, &.active.disabled, &.active.disabled:hover { - .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); - color: #fff; + .button-variant(@btn-primary-color, @btn-primary-bg, @btn-primary-border); + .btn-styles(@btn-primary-bg); text-shadow: 0 -1px 0 rgba(0,0,0,.25); } span { @@ -187,8 +188,7 @@ Alexey Shirshov: you may want to use it separately, so uncomment below &.active:hover, &.active.disabled, &.active.disabled:hover { - .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); - color: #fff; + .button-variant(@btn-primary-color, @btn-primary-bg, @btn-primary-border); text-shadow: 0 -1px 0 rgba(0,0,0,.25); } &.old, From 53304a1fdc5789a4d171aeaa6186be1a6f74de2f Mon Sep 17 00:00:00 2001 From: Andrew Rowls Date: Sat, 19 Oct 2013 20:38:34 -0400 Subject: [PATCH 06/15] Increase specificity of table cell overrides --- less/datepicker3.less | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/less/datepicker3.less b/less/datepicker3.less index b13500b..57e68fb 100644 --- a/less/datepicker3.less +++ b/less/datepicker3.less @@ -87,15 +87,16 @@ Alexey Shirshov: you may want to use it separately, so uncomment below -moz-user-select: none; -ms-user-select: none; user-select: none; - } - td, - th{ - text-align: center; - width: 20px; - height: 20px; - border-radius: 4px; + tr { + td, th { + text-align: center; + width: 20px; + height: 20px; + border-radius: 4px; - border: none; + border: none; + } + } } // Inline display inside a table presents some problems with // border and background colors. From 9b2308e752317122b0337e01eafd706d3653eff3 Mon Sep 17 00:00:00 2001 From: Andrew Rowls Date: Sat, 19 Oct 2013 21:05:53 -0400 Subject: [PATCH 07/15] Fix sizing of table cells --- less/datepicker3.less | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/less/datepicker3.less b/less/datepicker3.less index 57e68fb..52b3e61 100644 --- a/less/datepicker3.less +++ b/less/datepicker3.less @@ -90,8 +90,8 @@ Alexey Shirshov: you may want to use it separately, so uncomment below tr { td, th { text-align: center; - width: 20px; - height: 20px; + width: 30px; + height: 30px; border-radius: 4px; border: none; From 4776ef87657ae2e3c085830aa5c517392951c799 Mon Sep 17 00:00:00 2001 From: Andrew Rowls Date: Sat, 19 Oct 2013 21:31:20 -0400 Subject: [PATCH 08/15] Remove unneeded btn-styles rules --- less/datepicker3.less | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/less/datepicker3.less b/less/datepicker3.less index 52b3e61..e38d63b 100644 --- a/less/datepicker3.less +++ b/less/datepicker3.less @@ -126,7 +126,6 @@ Alexey Shirshov: you may want to use it separately, so uncomment below &.today.disabled:hover { @today-bg: lighten(orange, 30%); .button-variant(#000, @today-bg, darken(@today-bg, 20%)); - .btn-styles(@today-bg); } &.today:hover:hover { // Thank bootstrap 2.0 for this selector... // TODO: Bump min BS to 2.1, use @textColor in buttonBackground above @@ -148,15 +147,13 @@ Alexey Shirshov: you may want to use it separately, so uncomment below &.range.today.disabled:hover { @today-bg: mix(orange, @gray-lighter, 50%); .button-variant(#000, @today-bg, darken(@today-bg, 20%)); - .btn-styles(@today-bg); border-radius: 0; } &.selected, &.selected:hover, &.selected.disabled, &.selected.disabled:hover { - .button-variant(@btn-default-color, @btn-default-bg, @btn-default-border); - .btn-styles(@btn-default-bg); + .button-variant(#fff, @gray-light, @gray); text-shadow: 0 -1px 0 rgba(0,0,0,.25); } &.active, @@ -164,7 +161,6 @@ Alexey Shirshov: you may want to use it separately, so uncomment below &.active.disabled, &.active.disabled:hover { .button-variant(@btn-primary-color, @btn-primary-bg, @btn-primary-border); - .btn-styles(@btn-primary-bg); text-shadow: 0 -1px 0 rgba(0,0,0,.25); } span { From 7623f187f05ff424b02fe521b65154a188c14939 Mon Sep 17 00:00:00 2001 From: renhammington Date: Sun, 29 Sep 2013 14:07:35 +1300 Subject: [PATCH 09/15] Added component support for Bootstrap 3.0.0 Bootstrap has changed how input groups are declared. This change adds ".input-group-addon" as a trigger for opening the datepicker. --- js/bootstrap-datepicker.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/bootstrap-datepicker.js b/js/bootstrap-datepicker.js index 27977e2..23c4e3b 100644 --- a/js/bootstrap-datepicker.js +++ b/js/bootstrap-datepicker.js @@ -41,7 +41,7 @@ this.element = $(element); this.isInline = false; this.isInput = this.element.is('input'); - this.component = this.element.is('.date') ? this.element.find('.add-on, .btn') : false; + this.component = this.element.is('.date') ? this.element.find('.add-on, .input-group-addon, .btn') : false; this.hasInput = this.component && this.element.find('input').length; if(this.component && this.component.length === 0) this.component = false; From 3ababe13cf884156f812ffc74df19404902d7d61 Mon Sep 17 00:00:00 2001 From: Andrew Rowls Date: Sat, 19 Oct 2013 22:24:44 -0400 Subject: [PATCH 10/15] Fix input-group styles --- less/datepicker3.less | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/less/datepicker3.less b/less/datepicker3.less index e38d63b..e907f31 100644 --- a/less/datepicker3.less +++ b/less/datepicker3.less @@ -222,10 +222,9 @@ Alexey Shirshov: you may want to use it separately, so uncomment below background-color: transparent; } } -.input-append, -.input-prepend { +.input-group { &.date { - .add-on i { + .input-group-addon i { display: block; cursor: pointer; width: 16px; @@ -243,11 +242,9 @@ Alexey Shirshov: you may want to use it separately, so uncomment below input:last-child { border-radius: 0 3px 3px 0; } - .add-on { - display: inline-block; + .input-group-addon { width: auto; min-width: 16px; - height: @line-height-base; padding: 4px 5px; font-weight: normal; line-height: @line-height-base; @@ -255,7 +252,8 @@ Alexey Shirshov: you may want to use it separately, so uncomment below text-shadow: 0 1px 0 #fff; vertical-align: middle; background-color: @input-group-addon-bg; - border: 1px solid @input-group-addon-border-color; + border: solid @input-group-addon-border-color; + border-width: 1px 0; margin-left:-5px; margin-right:-5px; } From 33e5910ee0015cc08f148ef9f6677f637220af3f Mon Sep 17 00:00:00 2001 From: Andrew Rowls Date: Sat, 19 Oct 2013 22:41:05 -0400 Subject: [PATCH 11/15] Cleanup datepicker3.less comments --- less/datepicker3.less | 7 ------- 1 file changed, 7 deletions(-) diff --git a/less/datepicker3.less b/less/datepicker3.less index e907f31..6b3392b 100644 --- a/less/datepicker3.less +++ b/less/datepicker3.less @@ -3,18 +3,11 @@ * * Copyright 2012 Stefan Petre * Improvements by Andrew Rowls - * Ported to 3.0 by Alexey Shirshov * Licensed under the Apache License v2.0 * http://www.apache.org/licenses/LICENSE-2.0 * */ -/* -Alexey Shirshov: you may want to use it separately, so uncomment below -@import "variables.less"; -@import "mixins.less"; -*/ - .datepicker { padding: 4px; border-radius: 4px; From 4d7b5a65788fd0e0a06555d6ebed2c340d6adc41 Mon Sep 17 00:00:00 2001 From: Andrew Rowls Date: Sat, 19 Oct 2013 23:02:21 -0400 Subject: [PATCH 12/15] Add bs3 build scripts and css file --- build/build3.less | 71 ++++ build/build_standalone3.less | 63 +++ css/datepicker3.css | 761 +++++++++++++++++++++++++++++++++++ 3 files changed, 895 insertions(+) create mode 100644 build/build3.less create mode 100644 build/build_standalone3.less create mode 100644 css/datepicker3.css diff --git a/build/build3.less b/build/build3.less new file mode 100644 index 0000000..c2f6db1 --- /dev/null +++ b/build/build3.less @@ -0,0 +1,71 @@ +// 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 +@gray: lighten(#000, 33.5%); // #555 +@gray-light: lighten(#000, 60%); // #999 +@gray-lighter: lighten(#000, 93.5%); // #eee + +@input-border: #ccc; + +@brand-primary: #428bca; +//@btn-default-color: #333; +//@btn-default-bg: #fff; +//@btn-default-border: #ccc; +@btn-primary-color: #fff; +@btn-primary-bg: @brand-primary; +@btn-primary-border: darken(@btn-primary-bg, 5%); + + +@btn-link-disabled-color: @gray-light; + +@input-group-addon-bg: @gray-lighter; +@input-group-addon-border-color: @input-border; + +@font-size-base: 14px; +@line-height-base: 1.428571429; // 20/14 +@line-height-computed: floor(@font-size-base * @line-height-base); // ~20px + + +// Mixins + +// Button variants +.button-variant(@color; @background; @border) { + color: @color; + background-color: @background; + border-color: @border; + + &:hover, + &:focus, + &:active, + &.active, + .open .dropdown-toggle& { + color: @color; + background-color: darken(@background, 8%); + border-color: darken(@border, 12%); + } + &:active, + &.active, + .open .dropdown-toggle& { + background-image: none; + } + &.disabled, + &[disabled], + fieldset[disabled] & { + &, + &:hover, + &:focus, + &:active, + &.active { + background-color: @background; + border-color: @border + } + } +} + +@import "../less/datepicker3.less"; diff --git a/build/build_standalone3.less b/build/build_standalone3.less new file mode 100644 index 0000000..f34f11b --- /dev/null +++ b/build/build_standalone3.less @@ -0,0 +1,63 @@ +// Datepicker standalone .less buildfile. Includes all necessary mixins/variables/rules from bootstrap +// and imports the included datepicker.less to output a minimal standalone datepicker.css +// +// Usage: +// lessc build_standalone.less datepicker.css +// +// Variables, mixins, and rules copied from bootstrap 2.0.2 + +@import "build3.less"; + +// Dropdown css + +@zindex-dropdown: 1000; +@gray-dark: #333; +@line-height-base: 1.428571429; // 20/14 +@table-bg: transparent; // overall background-color +@dropdown-bg: #fff; +@dropdow-border: rgba(0,0,0,.15); +@dropdown-link-active-bg: @component-active-bg; +@dropdown-link-color: @gray-dark; +@dropdown-link-hover-color: #fff; +@dropdown-link-hover-bg: @dropdown-link-active-bg; +@component-active-bg: @brand-primary; + +// Drop shadows +.box-shadow(@shadow) { + -webkit-box-shadow: @shadow; + -moz-box-shadow: @shadow; + box-shadow: @shadow; +} + +// The dropdown menu (ul) +// ---------------------- +.datepicker.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: @zindex-dropdown; + float: left; + display: none; // none by default, but block on "open" of the menu + min-width: 160px; + list-style: none; + background-color: @dropdown-bg; + border: 1px solid #ccc; + border: 1px solid rgba(0,0,0,.2); + border-radius: 5px; + .box-shadow(0 5px 10px rgba(0,0,0,.2)); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + *border-right-width: 2px; + *border-bottom-width: 2px; + + // Normally inherited from bootstrap's `body` + color: #333333; + font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; + font-size:13px; + line-height: @line-height-base; + + th, td { + padding: 4px 5px; + } +} diff --git a/css/datepicker3.css b/css/datepicker3.css new file mode 100644 index 0000000..838e689 --- /dev/null +++ b/css/datepicker3.css @@ -0,0 +1,761 @@ +/*! + * 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 { + padding: 4px; + border-radius: 4px; + direction: ltr; + /*.dow { + border-top: 1px solid #ddd !important; + }*/ + +} +.datepicker-inline { + width: 220px; +} +.datepicker.datepicker-rtl { + direction: rtl; +} +.datepicker.datepicker-rtl table tr td span { + float: right; +} +.datepicker-dropdown { + top: 0; + left: 0; +} +.datepicker-dropdown: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, 0.2); + position: absolute; +} +.datepicker-dropdown:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #fff; + border-top: 0; + position: absolute; +} +.datepicker-dropdown.datepicker-orient-left:before { + left: 6px; +} +.datepicker-dropdown.datepicker-orient-left:after { + left: 7px; +} +.datepicker-dropdown.datepicker-orient-right:before { + right: 6px; +} +.datepicker-dropdown.datepicker-orient-right:after { + right: 7px; +} +.datepicker-dropdown.datepicker-orient-top:before { + top: -7px; +} +.datepicker-dropdown.datepicker-orient-top:after { + top: -6px; +} +.datepicker-dropdown.datepicker-orient-bottom:before { + bottom: -7px; + border-bottom: 0; + border-top: 7px solid #999; +} +.datepicker-dropdown.datepicker-orient-bottom:after { + bottom: -6px; + border-bottom: 0; + border-top: 6px solid #fff; +} +.datepicker > div { + display: none; +} +.datepicker.days div.datepicker-days { + display: block; +} +.datepicker.months div.datepicker-months { + display: block; +} +.datepicker.years div.datepicker-years { + display: block; +} +.datepicker 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; +} +.datepicker table tr td, +.datepicker table tr th { + text-align: center; + width: 30px; + height: 30px; + border-radius: 4px; + border: none; +} +.table-striped .datepicker table tr td, +.table-striped .datepicker table tr th { + background-color: transparent; +} +.datepicker table tr td.day:hover { + background: #eeeeee; + cursor: pointer; +} +.datepicker table tr td.old, +.datepicker table tr td.new { + color: #999999; +} +.datepicker table tr td.disabled, +.datepicker table tr td.disabled:hover { + background: none; + color: #999999; + cursor: default; +} +.datepicker table tr td.today, +.datepicker table tr td.today:hover, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today.disabled:hover { + color: #000000; + background-color: #ffdb99; + border-color: #ffb733; +} +.datepicker table tr td.today:hover, +.datepicker table tr td.today:hover:hover, +.datepicker table tr td.today.disabled:hover, +.datepicker table tr td.today.disabled:hover:hover, +.datepicker table tr td.today:focus, +.datepicker table tr td.today:hover:focus, +.datepicker table tr td.today.disabled:focus, +.datepicker table tr td.today.disabled:hover:focus, +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td.today, +.open .dropdown-toggle.datepicker table tr td.today:hover, +.open .dropdown-toggle.datepicker table tr td.today.disabled, +.open .dropdown-toggle.datepicker table tr td.today.disabled:hover { + color: #000000; + background-color: #ffcd70; + border-color: #f59e00; +} +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td.today, +.open .dropdown-toggle.datepicker table tr td.today:hover, +.open .dropdown-toggle.datepicker table tr td.today.disabled, +.open .dropdown-toggle.datepicker table tr td.today.disabled:hover { + background-image: none; +} +.datepicker table tr td.today.disabled, +.datepicker table tr td.today:hover.disabled, +.datepicker table tr td.today.disabled.disabled, +.datepicker table tr td.today.disabled:hover.disabled, +.datepicker table tr td.today[disabled], +.datepicker table tr td.today:hover[disabled], +.datepicker table tr td.today.disabled[disabled], +.datepicker table tr td.today.disabled:hover[disabled], +fieldset[disabled] .datepicker table tr td.today, +fieldset[disabled] .datepicker table tr td.today:hover, +fieldset[disabled] .datepicker table tr td.today.disabled, +fieldset[disabled] .datepicker table tr td.today.disabled:hover, +.datepicker table tr td.today.disabled:hover, +.datepicker table tr td.today:hover.disabled:hover, +.datepicker table tr td.today.disabled.disabled:hover, +.datepicker table tr td.today.disabled:hover.disabled:hover, +.datepicker table tr td.today[disabled]:hover, +.datepicker table tr td.today:hover[disabled]:hover, +.datepicker table tr td.today.disabled[disabled]:hover, +.datepicker table tr td.today.disabled:hover[disabled]:hover, +fieldset[disabled] .datepicker table tr td.today:hover, +fieldset[disabled] .datepicker table tr td.today:hover:hover, +fieldset[disabled] .datepicker table tr td.today.disabled:hover, +fieldset[disabled] .datepicker table tr td.today.disabled:hover:hover, +.datepicker table tr td.today.disabled:focus, +.datepicker table tr td.today:hover.disabled:focus, +.datepicker table tr td.today.disabled.disabled:focus, +.datepicker table tr td.today.disabled:hover.disabled:focus, +.datepicker table tr td.today[disabled]:focus, +.datepicker table tr td.today:hover[disabled]:focus, +.datepicker table tr td.today.disabled[disabled]:focus, +.datepicker table tr td.today.disabled:hover[disabled]:focus, +fieldset[disabled] .datepicker table tr td.today:focus, +fieldset[disabled] .datepicker table tr td.today:hover:focus, +fieldset[disabled] .datepicker table tr td.today.disabled:focus, +fieldset[disabled] .datepicker table tr td.today.disabled:hover:focus, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today:hover.disabled:active, +.datepicker table tr td.today.disabled.disabled:active, +.datepicker table tr td.today.disabled:hover.disabled:active, +.datepicker table tr td.today[disabled]:active, +.datepicker table tr td.today:hover[disabled]:active, +.datepicker table tr td.today.disabled[disabled]:active, +.datepicker table tr td.today.disabled:hover[disabled]:active, +fieldset[disabled] .datepicker table tr td.today:active, +fieldset[disabled] .datepicker table tr td.today:hover:active, +fieldset[disabled] .datepicker table tr td.today.disabled:active, +fieldset[disabled] .datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today:hover.disabled.active, +.datepicker table tr td.today.disabled.disabled.active, +.datepicker table tr td.today.disabled:hover.disabled.active, +.datepicker table tr td.today[disabled].active, +.datepicker table tr td.today:hover[disabled].active, +.datepicker table tr td.today.disabled[disabled].active, +.datepicker table tr td.today.disabled:hover[disabled].active, +fieldset[disabled] .datepicker table tr td.today.active, +fieldset[disabled] .datepicker table tr td.today:hover.active, +fieldset[disabled] .datepicker table tr td.today.disabled.active, +fieldset[disabled] .datepicker table tr td.today.disabled:hover.active { + background-color: #ffdb99; + border-color: #ffb733; +} +.datepicker table tr td.today:hover:hover { + color: #000; +} +.datepicker table tr td.today.active:hover { + color: #fff; +} +.datepicker table tr td.range, +.datepicker table tr td.range:hover, +.datepicker table tr td.range.disabled, +.datepicker table tr td.range.disabled:hover { + background: #eeeeee; + border-radius: 0; +} +.datepicker table tr td.range.today, +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today.disabled:hover { + color: #000000; + background-color: #f7ca77; + border-color: #f1a417; + border-radius: 0; +} +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today:hover:hover, +.datepicker table tr td.range.today.disabled:hover, +.datepicker table tr td.range.today.disabled:hover:hover, +.datepicker table tr td.range.today:focus, +.datepicker table tr td.range.today:hover:focus, +.datepicker table tr td.range.today.disabled:focus, +.datepicker table tr td.range.today.disabled:hover:focus, +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td.range.today, +.open .dropdown-toggle.datepicker table tr td.range.today:hover, +.open .dropdown-toggle.datepicker table tr td.range.today.disabled, +.open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover { + color: #000000; + background-color: #f4bb51; + border-color: #bf800c; +} +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td.range.today, +.open .dropdown-toggle.datepicker table tr td.range.today:hover, +.open .dropdown-toggle.datepicker table tr td.range.today.disabled, +.open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover { + background-image: none; +} +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today:hover.disabled, +.datepicker table tr td.range.today.disabled.disabled, +.datepicker table tr td.range.today.disabled:hover.disabled, +.datepicker table tr td.range.today[disabled], +.datepicker table tr td.range.today:hover[disabled], +.datepicker table tr td.range.today.disabled[disabled], +.datepicker table tr td.range.today.disabled:hover[disabled], +fieldset[disabled] .datepicker table tr td.range.today, +fieldset[disabled] .datepicker table tr td.range.today:hover, +fieldset[disabled] .datepicker table tr td.range.today.disabled, +fieldset[disabled] .datepicker table tr td.range.today.disabled:hover, +.datepicker table tr td.range.today.disabled:hover, +.datepicker table tr td.range.today:hover.disabled:hover, +.datepicker table tr td.range.today.disabled.disabled:hover, +.datepicker table tr td.range.today.disabled:hover.disabled:hover, +.datepicker table tr td.range.today[disabled]:hover, +.datepicker table tr td.range.today:hover[disabled]:hover, +.datepicker table tr td.range.today.disabled[disabled]:hover, +.datepicker table tr td.range.today.disabled:hover[disabled]:hover, +fieldset[disabled] .datepicker table tr td.range.today:hover, +fieldset[disabled] .datepicker table tr td.range.today:hover:hover, +fieldset[disabled] .datepicker table tr td.range.today.disabled:hover, +fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:hover, +.datepicker table tr td.range.today.disabled:focus, +.datepicker table tr td.range.today:hover.disabled:focus, +.datepicker table tr td.range.today.disabled.disabled:focus, +.datepicker table tr td.range.today.disabled:hover.disabled:focus, +.datepicker table tr td.range.today[disabled]:focus, +.datepicker table tr td.range.today:hover[disabled]:focus, +.datepicker table tr td.range.today.disabled[disabled]:focus, +.datepicker table tr td.range.today.disabled:hover[disabled]:focus, +fieldset[disabled] .datepicker table tr td.range.today:focus, +fieldset[disabled] .datepicker table tr td.range.today:hover:focus, +fieldset[disabled] .datepicker table tr td.range.today.disabled:focus, +fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:focus, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today:hover.disabled:active, +.datepicker table tr td.range.today.disabled.disabled:active, +.datepicker table tr td.range.today.disabled:hover.disabled:active, +.datepicker table tr td.range.today[disabled]:active, +.datepicker table tr td.range.today:hover[disabled]:active, +.datepicker table tr td.range.today.disabled[disabled]:active, +.datepicker table tr td.range.today.disabled:hover[disabled]:active, +fieldset[disabled] .datepicker table tr td.range.today:active, +fieldset[disabled] .datepicker table tr td.range.today:hover:active, +fieldset[disabled] .datepicker table tr td.range.today.disabled:active, +fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today:hover.disabled.active, +.datepicker table tr td.range.today.disabled.disabled.active, +.datepicker table tr td.range.today.disabled:hover.disabled.active, +.datepicker table tr td.range.today[disabled].active, +.datepicker table tr td.range.today:hover[disabled].active, +.datepicker table tr td.range.today.disabled[disabled].active, +.datepicker table tr td.range.today.disabled:hover[disabled].active, +fieldset[disabled] .datepicker table tr td.range.today.active, +fieldset[disabled] .datepicker table tr td.range.today:hover.active, +fieldset[disabled] .datepicker table tr td.range.today.disabled.active, +fieldset[disabled] .datepicker table tr td.range.today.disabled:hover.active { + background-color: #f7ca77; + border-color: #f1a417; +} +.datepicker table tr td.selected, +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected.disabled:hover { + color: #ffffff; + background-color: #999999; + border-color: #555555; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected:hover:hover, +.datepicker table tr td.selected.disabled:hover, +.datepicker table tr td.selected.disabled:hover:hover, +.datepicker table tr td.selected:focus, +.datepicker table tr td.selected:hover:focus, +.datepicker table tr td.selected.disabled:focus, +.datepicker table tr td.selected.disabled:hover:focus, +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td.selected, +.open .dropdown-toggle.datepicker table tr td.selected:hover, +.open .dropdown-toggle.datepicker table tr td.selected.disabled, +.open .dropdown-toggle.datepicker table tr td.selected.disabled:hover { + color: #ffffff; + background-color: #858585; + border-color: #373737; +} +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td.selected, +.open .dropdown-toggle.datepicker table tr td.selected:hover, +.open .dropdown-toggle.datepicker table tr td.selected.disabled, +.open .dropdown-toggle.datepicker table tr td.selected.disabled:hover { + background-image: none; +} +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected:hover.disabled, +.datepicker table tr td.selected.disabled.disabled, +.datepicker table tr td.selected.disabled:hover.disabled, +.datepicker table tr td.selected[disabled], +.datepicker table tr td.selected:hover[disabled], +.datepicker table tr td.selected.disabled[disabled], +.datepicker table tr td.selected.disabled:hover[disabled], +fieldset[disabled] .datepicker table tr td.selected, +fieldset[disabled] .datepicker table tr td.selected:hover, +fieldset[disabled] .datepicker table tr td.selected.disabled, +fieldset[disabled] .datepicker table tr td.selected.disabled:hover, +.datepicker table tr td.selected.disabled:hover, +.datepicker table tr td.selected:hover.disabled:hover, +.datepicker table tr td.selected.disabled.disabled:hover, +.datepicker table tr td.selected.disabled:hover.disabled:hover, +.datepicker table tr td.selected[disabled]:hover, +.datepicker table tr td.selected:hover[disabled]:hover, +.datepicker table tr td.selected.disabled[disabled]:hover, +.datepicker table tr td.selected.disabled:hover[disabled]:hover, +fieldset[disabled] .datepicker table tr td.selected:hover, +fieldset[disabled] .datepicker table tr td.selected:hover:hover, +fieldset[disabled] .datepicker table tr td.selected.disabled:hover, +fieldset[disabled] .datepicker table tr td.selected.disabled:hover:hover, +.datepicker table tr td.selected.disabled:focus, +.datepicker table tr td.selected:hover.disabled:focus, +.datepicker table tr td.selected.disabled.disabled:focus, +.datepicker table tr td.selected.disabled:hover.disabled:focus, +.datepicker table tr td.selected[disabled]:focus, +.datepicker table tr td.selected:hover[disabled]:focus, +.datepicker table tr td.selected.disabled[disabled]:focus, +.datepicker table tr td.selected.disabled:hover[disabled]:focus, +fieldset[disabled] .datepicker table tr td.selected:focus, +fieldset[disabled] .datepicker table tr td.selected:hover:focus, +fieldset[disabled] .datepicker table tr td.selected.disabled:focus, +fieldset[disabled] .datepicker table tr td.selected.disabled:hover:focus, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected:hover.disabled:active, +.datepicker table tr td.selected.disabled.disabled:active, +.datepicker table tr td.selected.disabled:hover.disabled:active, +.datepicker table tr td.selected[disabled]:active, +.datepicker table tr td.selected:hover[disabled]:active, +.datepicker table tr td.selected.disabled[disabled]:active, +.datepicker table tr td.selected.disabled:hover[disabled]:active, +fieldset[disabled] .datepicker table tr td.selected:active, +fieldset[disabled] .datepicker table tr td.selected:hover:active, +fieldset[disabled] .datepicker table tr td.selected.disabled:active, +fieldset[disabled] .datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected:hover.disabled.active, +.datepicker table tr td.selected.disabled.disabled.active, +.datepicker table tr td.selected.disabled:hover.disabled.active, +.datepicker table tr td.selected[disabled].active, +.datepicker table tr td.selected:hover[disabled].active, +.datepicker table tr td.selected.disabled[disabled].active, +.datepicker table tr td.selected.disabled:hover[disabled].active, +fieldset[disabled] .datepicker table tr td.selected.active, +fieldset[disabled] .datepicker table tr td.selected:hover.active, +fieldset[disabled] .datepicker table tr td.selected.disabled.active, +fieldset[disabled] .datepicker table tr td.selected.disabled:hover.active { + background-color: #999999; + border-color: #555555; +} +.datepicker table tr td.active, +.datepicker table tr td.active:hover, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active.disabled:hover { + color: #ffffff; + background-color: #428bca; + border-color: #357ebd; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td.active:hover, +.datepicker table tr td.active:hover:hover, +.datepicker table tr td.active.disabled:hover, +.datepicker table tr td.active.disabled:hover:hover, +.datepicker table tr td.active:focus, +.datepicker table tr td.active:hover:focus, +.datepicker table tr td.active.disabled:focus, +.datepicker table tr td.active.disabled:hover:focus, +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td.active, +.open .dropdown-toggle.datepicker table tr td.active:hover, +.open .dropdown-toggle.datepicker table tr td.active.disabled, +.open .dropdown-toggle.datepicker table tr td.active.disabled:hover { + color: #ffffff; + background-color: #3276b1; + border-color: #285e8e; +} +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td.active, +.open .dropdown-toggle.datepicker table tr td.active:hover, +.open .dropdown-toggle.datepicker table tr td.active.disabled, +.open .dropdown-toggle.datepicker table tr td.active.disabled:hover { + background-image: none; +} +.datepicker table tr td.active.disabled, +.datepicker table tr td.active:hover.disabled, +.datepicker table tr td.active.disabled.disabled, +.datepicker table tr td.active.disabled:hover.disabled, +.datepicker table tr td.active[disabled], +.datepicker table tr td.active:hover[disabled], +.datepicker table tr td.active.disabled[disabled], +.datepicker table tr td.active.disabled:hover[disabled], +fieldset[disabled] .datepicker table tr td.active, +fieldset[disabled] .datepicker table tr td.active:hover, +fieldset[disabled] .datepicker table tr td.active.disabled, +fieldset[disabled] .datepicker table tr td.active.disabled:hover, +.datepicker table tr td.active.disabled:hover, +.datepicker table tr td.active:hover.disabled:hover, +.datepicker table tr td.active.disabled.disabled:hover, +.datepicker table tr td.active.disabled:hover.disabled:hover, +.datepicker table tr td.active[disabled]:hover, +.datepicker table tr td.active:hover[disabled]:hover, +.datepicker table tr td.active.disabled[disabled]:hover, +.datepicker table tr td.active.disabled:hover[disabled]:hover, +fieldset[disabled] .datepicker table tr td.active:hover, +fieldset[disabled] .datepicker table tr td.active:hover:hover, +fieldset[disabled] .datepicker table tr td.active.disabled:hover, +fieldset[disabled] .datepicker table tr td.active.disabled:hover:hover, +.datepicker table tr td.active.disabled:focus, +.datepicker table tr td.active:hover.disabled:focus, +.datepicker table tr td.active.disabled.disabled:focus, +.datepicker table tr td.active.disabled:hover.disabled:focus, +.datepicker table tr td.active[disabled]:focus, +.datepicker table tr td.active:hover[disabled]:focus, +.datepicker table tr td.active.disabled[disabled]:focus, +.datepicker table tr td.active.disabled:hover[disabled]:focus, +fieldset[disabled] .datepicker table tr td.active:focus, +fieldset[disabled] .datepicker table tr td.active:hover:focus, +fieldset[disabled] .datepicker table tr td.active.disabled:focus, +fieldset[disabled] .datepicker table tr td.active.disabled:hover:focus, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active:hover.disabled:active, +.datepicker table tr td.active.disabled.disabled:active, +.datepicker table tr td.active.disabled:hover.disabled:active, +.datepicker table tr td.active[disabled]:active, +.datepicker table tr td.active:hover[disabled]:active, +.datepicker table tr td.active.disabled[disabled]:active, +.datepicker table tr td.active.disabled:hover[disabled]:active, +fieldset[disabled] .datepicker table tr td.active:active, +fieldset[disabled] .datepicker table tr td.active:hover:active, +fieldset[disabled] .datepicker table tr td.active.disabled:active, +fieldset[disabled] .datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active:hover.disabled.active, +.datepicker table tr td.active.disabled.disabled.active, +.datepicker table tr td.active.disabled:hover.disabled.active, +.datepicker table tr td.active[disabled].active, +.datepicker table tr td.active:hover[disabled].active, +.datepicker table tr td.active.disabled[disabled].active, +.datepicker table tr td.active.disabled:hover[disabled].active, +fieldset[disabled] .datepicker table tr td.active.active, +fieldset[disabled] .datepicker table tr td.active:hover.active, +fieldset[disabled] .datepicker table tr td.active.disabled.active, +fieldset[disabled] .datepicker table tr td.active.disabled:hover.active { + background-color: #428bca; + border-color: #357ebd; +} +.datepicker table tr td span { + display: block; + width: 23%; + height: 54px; + line-height: 54px; + float: left; + margin: 1%; + cursor: pointer; + border-radius: 4px; +} +.datepicker table tr td span:hover { + background: #eeeeee; +} +.datepicker table tr td span.disabled, +.datepicker table tr td span.disabled:hover { + background: none; + color: #999999; + cursor: default; +} +.datepicker table tr td span.active, +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active.disabled:hover { + color: #ffffff; + background-color: #428bca; + border-color: #357ebd; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active:hover:hover, +.datepicker table tr td span.active.disabled:hover, +.datepicker table tr td span.active.disabled:hover:hover, +.datepicker table tr td span.active:focus, +.datepicker table tr td span.active:hover:focus, +.datepicker table tr td span.active.disabled:focus, +.datepicker table tr td span.active.disabled:hover:focus, +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td span.active, +.open .dropdown-toggle.datepicker table tr td span.active:hover, +.open .dropdown-toggle.datepicker table tr td span.active.disabled, +.open .dropdown-toggle.datepicker table tr td span.active.disabled:hover { + color: #ffffff; + background-color: #3276b1; + border-color: #285e8e; +} +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active, +.open .dropdown-toggle.datepicker table tr td span.active, +.open .dropdown-toggle.datepicker table tr td span.active:hover, +.open .dropdown-toggle.datepicker table tr td span.active.disabled, +.open .dropdown-toggle.datepicker table tr td span.active.disabled:hover { + background-image: none; +} +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active:hover.disabled, +.datepicker table tr td span.active.disabled.disabled, +.datepicker table tr td span.active.disabled:hover.disabled, +.datepicker table tr td span.active[disabled], +.datepicker table tr td span.active:hover[disabled], +.datepicker table tr td span.active.disabled[disabled], +.datepicker table tr td span.active.disabled:hover[disabled], +fieldset[disabled] .datepicker table tr td span.active, +fieldset[disabled] .datepicker table tr td span.active:hover, +fieldset[disabled] .datepicker table tr td span.active.disabled, +fieldset[disabled] .datepicker table tr td span.active.disabled:hover, +.datepicker table tr td span.active.disabled:hover, +.datepicker table tr td span.active:hover.disabled:hover, +.datepicker table tr td span.active.disabled.disabled:hover, +.datepicker table tr td span.active.disabled:hover.disabled:hover, +.datepicker table tr td span.active[disabled]:hover, +.datepicker table tr td span.active:hover[disabled]:hover, +.datepicker table tr td span.active.disabled[disabled]:hover, +.datepicker table tr td span.active.disabled:hover[disabled]:hover, +fieldset[disabled] .datepicker table tr td span.active:hover, +fieldset[disabled] .datepicker table tr td span.active:hover:hover, +fieldset[disabled] .datepicker table tr td span.active.disabled:hover, +fieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover, +.datepicker table tr td span.active.disabled:focus, +.datepicker table tr td span.active:hover.disabled:focus, +.datepicker table tr td span.active.disabled.disabled:focus, +.datepicker table tr td span.active.disabled:hover.disabled:focus, +.datepicker table tr td span.active[disabled]:focus, +.datepicker table tr td span.active:hover[disabled]:focus, +.datepicker table tr td span.active.disabled[disabled]:focus, +.datepicker table tr td span.active.disabled:hover[disabled]:focus, +fieldset[disabled] .datepicker table tr td span.active:focus, +fieldset[disabled] .datepicker table tr td span.active:hover:focus, +fieldset[disabled] .datepicker table tr td span.active.disabled:focus, +fieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active:hover.disabled:active, +.datepicker table tr td span.active.disabled.disabled:active, +.datepicker table tr td span.active.disabled:hover.disabled:active, +.datepicker table tr td span.active[disabled]:active, +.datepicker table tr td span.active:hover[disabled]:active, +.datepicker table tr td span.active.disabled[disabled]:active, +.datepicker table tr td span.active.disabled:hover[disabled]:active, +fieldset[disabled] .datepicker table tr td span.active:active, +fieldset[disabled] .datepicker table tr td span.active:hover:active, +fieldset[disabled] .datepicker table tr td span.active.disabled:active, +fieldset[disabled] .datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active:hover.disabled.active, +.datepicker table tr td span.active.disabled.disabled.active, +.datepicker table tr td span.active.disabled:hover.disabled.active, +.datepicker table tr td span.active[disabled].active, +.datepicker table tr td span.active:hover[disabled].active, +.datepicker table tr td span.active.disabled[disabled].active, +.datepicker table tr td span.active.disabled:hover[disabled].active, +fieldset[disabled] .datepicker table tr td span.active.active, +fieldset[disabled] .datepicker table tr td span.active:hover.active, +fieldset[disabled] .datepicker table tr td span.active.disabled.active, +fieldset[disabled] .datepicker table tr td span.active.disabled:hover.active { + background-color: #428bca; + border-color: #357ebd; +} +.datepicker table tr td span.old, +.datepicker table tr td span.new { + color: #999999; +} +.datepicker th.datepicker-switch { + width: 145px; +} +.datepicker thead tr:first-child th, +.datepicker tfoot tr th { + cursor: pointer; +} +.datepicker thead tr:first-child th:hover, +.datepicker tfoot tr th:hover { + background: #eeeeee; +} +.datepicker .cw { + font-size: 10px; + width: 12px; + padding: 0 2px 0 5px; + vertical-align: middle; +} +.datepicker thead tr:first-child th.cw { + cursor: default; + background-color: transparent; +} +.input-group.date .input-group-addon i { + display: block; + cursor: pointer; + width: 16px; + height: 16px; +} +.input-daterange input { + text-align: center; +} +.input-daterange input:first-child { + border-radius: 3px 0 0 3px; +} +.input-daterange input:last-child { + border-radius: 0 3px 3px 0; +} +.input-daterange .input-group-addon { + width: auto; + min-width: 16px; + padding: 4px 5px; + font-weight: normal; + line-height: 1.428571429; + text-align: center; + text-shadow: 0 1px 0 #fff; + vertical-align: middle; + background-color: #eeeeee; + border: solid #cccccc; + border-width: 1px 0; + margin-left: -5px; + margin-right: -5px; +} From 917e8a1bbdacac3a2ca784e6261e06d1a622c659 Mon Sep 17 00:00:00 2001 From: Andrew Rowls Date: Tue, 22 Oct 2013 11:25:00 -0400 Subject: [PATCH 13/15] Update dependencies --- bower.json | 2 +- composer.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bower.json b/bower.json index 74ed0d1..9dece26 100644 --- a/bower.json +++ b/bower.json @@ -4,6 +4,6 @@ "main": ["js/bootstrap-datepicker.js","css/datepicker.css"], "dependencies": { "jquery" : ">=1.7.1", - "bootstrap" : ">=2.0.4 <3.0" + "bootstrap" : ">=3.0, <4.0" } } diff --git a/composer.json b/composer.json index 176630c..b1b7875 100644 --- a/composer.json +++ b/composer.json @@ -2,6 +2,6 @@ "name": "eternicode/bootstrap-datepicker", "require": { "frameworks/jquery" : ">=1.7.1", - "twitter/bootstrap" : ">=2.0.4, <3.0" + "twitter/bootstrap" : ">=3.0, <4.0" } } From 271334c0dbfbee0e3f05806bc41b973873082f33 Mon Sep 17 00:00:00 2001 From: Andrew Rowls Date: Wed, 23 Oct 2013 13:36:01 -0400 Subject: [PATCH 14/15] Remove stray comma from bower.json --- bower.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bower.json b/bower.json index 9dece26..2384519 100644 --- a/bower.json +++ b/bower.json @@ -4,6 +4,6 @@ "main": ["js/bootstrap-datepicker.js","css/datepicker.css"], "dependencies": { "jquery" : ">=1.7.1", - "bootstrap" : ">=3.0, <4.0" + "bootstrap" : ">=3.0 <4.0" } } From fda46bbcf5747c54c3f795ed259a215ae1e1fbf6 Mon Sep 17 00:00:00 2001 From: Andrew Rowls Date: Fri, 25 Oct 2013 10:47:53 -0400 Subject: [PATCH 15/15] Add missing comma to composer.json --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index b976115..79ad672 100644 --- a/composer.json +++ b/composer.json @@ -3,7 +3,7 @@ "type": "component", "require": { "robloach/component-installer": "*", - "components/bootstrap" : ">=3.0, <4.0" + "components/bootstrap" : ">=3.0, <4.0", "components/jquery": ">=1.7.1" }, "extra": {