1
0
Fork 0
mirror of https://github.com/twbs/bootstrap-sass.git synced 2022-11-09 12:27:02 -05:00

Merge pull request #270 from trisweb/tristan_2.2.2

Update bootstrap to 2.2.2 (our 2.2.2.0) :shipit:
This commit is contained in:
Thomas McDonald 2012-12-22 04:42:34 -08:00
commit ce312e5b1d
36 changed files with 529 additions and 249 deletions

View file

@ -13,7 +13,7 @@ Enjoy.
In your Gemfile:
gem 'sass-rails', '~> 3.2'
gem 'bootstrap-sass', '~> 2.2.1.1'
gem 'bootstrap-sass', '~> 2.2.2.0'
#### CSS
@ -94,7 +94,7 @@ Basically this means you should expect to append a separate patch version to the
### Bundler?
gem 'bootstrap-sass', '~> 2.2.1.1'
gem 'bootstrap-sass', '~> 2.2.2.0'
Don't use the standard `~> 2.x.y`. Your apps may break.

View file

@ -1,6 +1,6 @@
Gem::Specification.new do |s|
s.name = "bootstrap-sass"
s.version = '2.2.1.1'
s.version = '2.2.2.0'
s.authors = ["Thomas McDonald"]
s.email = 'tom@conceptcoding.co.uk'
s.summary = "Twitter's Bootstrap, converted to Sass and ready to drop into Rails or Compass"

View file

@ -13,9 +13,13 @@ cp -r $TMP/js/* $ROOT/javascripts
cp -r $TMP/img/* $ROOT/images
# Remove tests
rm -r $ROOT/javascripts/tests
rm -r $ROOT/stylesheets/tests
rm -r $ROOT/stylesheets/bootstrap/tests
# Patch the asset-url in _variables.scss
patch -f vendor/assets/stylesheets/bootstrap/_variables.scss < asseturl.patch
# Patch paths in bootstrap.scss and responsive.scss
sed -i .bak 's_@import \"_@import \"bootstrap/_g' $ROOT/stylesheets/bootstrap/{bootstrap,responsive}.scss
rm $ROOT/stylesheets/bootstrap/*.bak
rm -rf $TMP

View file

@ -1,5 +1,5 @@
/* ==========================================================
* bootstrap-affix.js v2.2.1
* bootstrap-affix.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#affix
* ==========================================================
* Copyright 2012 Twitter, Inc.
@ -68,6 +68,8 @@
/* AFFIX PLUGIN DEFINITION
* ======================= */
var old = $.fn.affix
$.fn.affix = function (option) {
return this.each(function () {
var $this = $(this)
@ -85,6 +87,15 @@
}
/* AFFIX NO CONFLICT
* ================= */
$.fn.affix.noConflict = function () {
$.fn.affix = old
return this
}
/* AFFIX DATA-API
* ============== */

View file

@ -1,5 +1,5 @@
/* ==========================================================
* bootstrap-alert.js v2.2.1
* bootstrap-alert.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#alerts
* ==========================================================
* Copyright 2012 Twitter, Inc.
@ -68,6 +68,8 @@
/* ALERT PLUGIN DEFINITION
* ======================= */
var old = $.fn.alert
$.fn.alert = function (option) {
return this.each(function () {
var $this = $(this)
@ -80,6 +82,15 @@
$.fn.alert.Constructor = Alert
/* ALERT NO CONFLICT
* ================= */
$.fn.alert.noConflict = function () {
$.fn.alert = old
return this
}
/* ALERT DATA-API
* ============== */

View file

@ -1,5 +1,5 @@
/* ============================================================
* bootstrap-button.js v2.2.1
* bootstrap-button.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#buttons
* ============================================================
* Copyright 2012 Twitter, Inc.
@ -64,6 +64,8 @@
/* BUTTON PLUGIN DEFINITION
* ======================== */
var old = $.fn.button
$.fn.button = function (option) {
return this.each(function () {
var $this = $(this)
@ -82,6 +84,15 @@
$.fn.button.Constructor = Button
/* BUTTON NO CONFLICT
* ================== */
$.fn.button.noConflict = function () {
$.fn.button = old
return this
}
/* BUTTON DATA-API
* =============== */

View file

@ -1,5 +1,5 @@
/* ==========================================================
* bootstrap-carousel.js v2.2.1
* bootstrap-carousel.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#carousel
* ==========================================================
* Copyright 2012 Twitter, Inc.
@ -29,7 +29,6 @@
var Carousel = function (element, options) {
this.$element = $(element)
this.options = options
this.options.slide && this.slide(this.options.slide)
this.options.pause == 'hover' && this.$element
.on('mouseenter', $.proxy(this.pause, this))
.on('mouseleave', $.proxy(this.cycle, this))
@ -141,6 +140,8 @@
/* CAROUSEL PLUGIN DEFINITION
* ========================== */
var old = $.fn.carousel
$.fn.carousel = function (option) {
return this.each(function () {
var $this = $(this)
@ -162,6 +163,14 @@
$.fn.carousel.Constructor = Carousel
/* CAROUSEL NO CONFLICT
* ==================== */
$.fn.carousel.noConflict = function () {
$.fn.carousel = old
return this
}
/* CAROUSEL DATA-API
* ================= */

View file

@ -1,5 +1,5 @@
/* =============================================================
* bootstrap-collapse.js v2.2.1
* bootstrap-collapse.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#collapse
* =============================================================
* Copyright 2012 Twitter, Inc.
@ -120,8 +120,10 @@
}
/* COLLAPSIBLE PLUGIN DEFINITION
* ============================== */
/* COLLAPSE PLUGIN DEFINITION
* ========================== */
var old = $.fn.collapse
$.fn.collapse = function (option) {
return this.each(function () {
@ -140,9 +142,18 @@
$.fn.collapse.Constructor = Collapse
/* COLLAPSIBLE DATA-API
/* COLLAPSE NO CONFLICT
* ==================== */
$.fn.collapse.noConflict = function () {
$.fn.collapse = old
return this
}
/* COLLAPSE DATA-API
* ================= */
$(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
var $this = $(this), href
, target = $this.attr('data-target')

View file

@ -1,5 +1,5 @@
/* ============================================================
* bootstrap-dropdown.js v2.2.1
* bootstrap-dropdown.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#dropdowns
* ============================================================
* Copyright 2012 Twitter, Inc.
@ -53,9 +53,10 @@
if (!isActive) {
$parent.toggleClass('open')
$this.focus()
}
$this.focus()
return false
}
@ -82,7 +83,7 @@
if (!isActive || (isActive && e.keyCode == 27)) return $this.click()
$items = $('[role=menu] li:not(.divider) a', $parent)
$items = $('[role=menu] li:not(.divider):visible a', $parent)
if (!$items.length) return
@ -124,6 +125,8 @@
/* DROPDOWN PLUGIN DEFINITION
* ========================== */
var old = $.fn.dropdown
$.fn.dropdown = function (option) {
return this.each(function () {
var $this = $(this)
@ -136,12 +139,22 @@
$.fn.dropdown.Constructor = Dropdown
/* DROPDOWN NO CONFLICT
* ==================== */
$.fn.dropdown.noConflict = function () {
$.fn.dropdown = old
return this
}
/* APPLY TO STANDARD DROPDOWN ELEMENTS
* =================================== */
$(document)
.on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus)
.on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
.on('touchstart.dropdown.data-api', '.dropdown-menu', function (e) { e.stopPropagation() })
.on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
.on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)

View file

@ -1,5 +1,5 @@
/* =========================================================
* bootstrap-modal.js v2.2.1
* bootstrap-modal.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#modals
* =========================================================
* Copyright 2012 Twitter, Inc.
@ -193,6 +193,8 @@
/* MODAL PLUGIN DEFINITION
* ======================= */
var old = $.fn.modal
$.fn.modal = function (option) {
return this.each(function () {
var $this = $(this)
@ -213,6 +215,15 @@
$.fn.modal.Constructor = Modal
/* MODAL NO CONFLICT
* ================= */
$.fn.modal.noConflict = function () {
$.fn.modal = old
return this
}
/* MODAL DATA-API
* ============== */

View file

@ -1,5 +1,5 @@
/* ===========================================================
* bootstrap-popover.js v2.2.1
* bootstrap-popover.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#popovers
* ===========================================================
* Copyright 2012 Twitter, Inc.
@ -44,7 +44,7 @@
, content = this.getContent()
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
$tip.find('.popover-content > *')[this.options.html ? 'html' : 'text'](content)
$tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
$tip.removeClass('fade top bottom left right in')
}
@ -81,6 +81,8 @@
/* POPOVER PLUGIN DEFINITION
* ======================= */
var old = $.fn.popover
$.fn.popover = function (option) {
return this.each(function () {
var $this = $(this)
@ -97,7 +99,16 @@
placement: 'right'
, trigger: 'click'
, content: ''
, template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
, template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"></div></div></div>'
})
/* POPOVER NO CONFLICT
* =================== */
$.fn.popover.noConflict = function () {
$.fn.popover = old
return this
}
}(window.jQuery);

View file

@ -1,5 +1,5 @@
/* =============================================================
* bootstrap-scrollspy.js v2.2.1
* bootstrap-scrollspy.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#scrollspy
* =============================================================
* Copyright 2012 Twitter, Inc.
@ -59,7 +59,7 @@
, $href = /^#\w/.test(href) && $(href)
return ( $href
&& $href.length
&& [[ $href.position().top, href ]] ) || null
&& [[ $href.position().top + self.$scrollElement.scrollTop(), href ]] ) || null
})
.sort(function (a, b) { return a[0] - b[0] })
.each(function () {
@ -121,6 +121,8 @@
/* SCROLLSPY PLUGIN DEFINITION
* =========================== */
var old = $.fn.scrollspy
$.fn.scrollspy = function (option) {
return this.each(function () {
var $this = $(this)
@ -138,6 +140,15 @@
}
/* SCROLLSPY NO CONFLICT
* ===================== */
$.fn.scrollspy.noConflict = function () {
$.fn.scrollspy = old
return this
}
/* SCROLLSPY DATA-API
* ================== */

View file

@ -1,5 +1,5 @@
/* ========================================================
* bootstrap-tab.js v2.2.1
* bootstrap-tab.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#tabs
* ========================================================
* Copyright 2012 Twitter, Inc.
@ -110,6 +110,8 @@
/* TAB PLUGIN DEFINITION
* ===================== */
var old = $.fn.tab
$.fn.tab = function ( option ) {
return this.each(function () {
var $this = $(this)
@ -122,6 +124,15 @@
$.fn.tab.Constructor = Tab
/* TAB NO CONFLICT
* =============== */
$.fn.tab.noConflict = function () {
$.fn.tab = old
return this
}
/* TAB DATA-API
* ============ */

View file

@ -1,5 +1,5 @@
/* ===========================================================
* bootstrap-tooltip.js v2.2.1
* bootstrap-tooltip.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#tooltips
* Inspired by the original jQuery.tipsy by Jason Frame
* ===========================================================
@ -250,6 +250,8 @@
/* TOOLTIP PLUGIN DEFINITION
* ========================= */
var old = $.fn.tooltip
$.fn.tooltip = function ( option ) {
return this.each(function () {
var $this = $(this)
@ -273,4 +275,13 @@
, html: false
}
/* TOOLTIP NO CONFLICT
* =================== */
$.fn.tooltip.noConflict = function () {
$.fn.tooltip = old
return this
}
}(window.jQuery);

View file

@ -1,5 +1,5 @@
/* ===================================================
* bootstrap-transition.js v2.2.1
* bootstrap-transition.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#transitions
* ===================================================
* Copyright 2012 Twitter, Inc.

View file

@ -1,5 +1,5 @@
/* =============================================================
* bootstrap-typeahead.js v2.2.1
* bootstrap-typeahead.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#typeahead
* =============================================================
* Copyright 2012 Twitter, Inc.
@ -33,8 +33,8 @@
this.sorter = this.options.sorter || this.sorter
this.highlighter = this.options.highlighter || this.highlighter
this.updater = this.options.updater || this.updater
this.$menu = $(this.options.menu).appendTo('body')
this.source = this.options.source
this.$menu = $(this.options.menu)
this.shown = false
this.listen()
}
@ -56,16 +56,18 @@
}
, show: function () {
var pos = $.extend({}, this.$element.offset(), {
var pos = $.extend({}, this.$element.position(), {
height: this.$element[0].offsetHeight
})
this.$menu.css({
this.$menu
.insertAfter(this.$element)
.css({
top: pos.top + pos.height
, left: pos.left
})
.show()
this.$menu.show()
this.shown = true
return this
}
@ -217,7 +219,7 @@
}
, keydown: function (e) {
this.suppressKeyPressRepeat = !~$.inArray(e.keyCode, [40,38,9,13,27])
this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
this.move(e)
}
@ -276,6 +278,8 @@
/* TYPEAHEAD PLUGIN DEFINITION
* =========================== */
var old = $.fn.typeahead
$.fn.typeahead = function (option) {
return this.each(function () {
var $this = $(this)
@ -297,6 +301,15 @@
$.fn.typeahead.Constructor = Typeahead
/* TYPEAHEAD NO CONFLICT
* =================== */
$.fn.typeahead.noConflict = function () {
$.fn.typeahead = old
return this
}
/* TYPEAHEAD DATA-API
* ================== */

View file

@ -13,6 +13,10 @@
background-color: $warningBackground;
border: 1px solid $warningBorder;
@include border-radius($baseBorderRadius);
}
.alert,
.alert h4 {
// Specified for the h4 to prevent conflicts of changing $headingsColor
color: $warningText;
}
.alert h4 {
@ -36,17 +40,27 @@
border-color: $successBorder;
color: $successText;
}
.alert-success h4 {
color: $successText;
}
.alert-danger,
.alert-error {
background-color: $errorBackground;
border-color: $errorBorder;
color: $errorText;
}
.alert-danger h4,
.alert-error h4 {
color: $errorText;
}
.alert-info {
background-color: $infoBackground;
border-color: $infoBorder;
color: $infoText;
}
.alert-info h4 {
color: $infoText;
}
// Block alerts

View file

@ -9,15 +9,15 @@
list-style: none;
background-color: #f5f5f5;
@include border-radius($baseBorderRadius);
li {
> li {
display: inline-block;
@include ie7-inline-block();
text-shadow: 0 1px 0 $white;
}
.divider {
> .divider {
padding: 0 5px;
color: #ccc;
}
}
.active {
color: $grayLight;
}

View file

@ -24,9 +24,9 @@
font-size: 0; // Hack to remove whitespace that results from using inline-block
margin-top: $baseLineHeight / 2;
margin-bottom: $baseLineHeight / 2;
.btn + .btn,
.btn-group + .btn,
.btn + .btn-group {
> .btn + .btn,
> .btn-group + .btn,
> .btn + .btn-group {
margin-left: 5px;
}
}
@ -40,59 +40,44 @@
margin-left: -1px;
}
.btn-group > .btn,
.btn-group > .dropdown-menu {
.btn-group > .dropdown-menu,
.btn-group > .popover {
font-size: $baseFontSize; // redeclare as part 2 of font-size inline-block hack
}
// Reset fonts for other sizes
.btn-group > .btn-mini {
font-size: 11px;
font-size: $fontSizeMini;
}
.btn-group > .btn-small {
font-size: 12px;
font-size: $fontSizeSmall;
}
.btn-group > .btn-large {
font-size: 16px;
font-size: $fontSizeLarge;
}
// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
.btn-group > .btn:first-child {
margin-left: 0;
-webkit-border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
border-top-left-radius: 4px;
-webkit-border-bottom-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
border-bottom-left-radius: 4px;
@include border-top-left-radius($baseBorderRadius);
@include border-bottom-left-radius($baseBorderRadius);
}
// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
.btn-group > .btn:last-child,
.btn-group > .dropdown-toggle {
-webkit-border-top-right-radius: 4px;
-moz-border-radius-topright: 4px;
border-top-right-radius: 4px;
-webkit-border-bottom-right-radius: 4px;
-moz-border-radius-bottomright: 4px;
border-bottom-right-radius: 4px;
@include border-top-right-radius($baseBorderRadius);
@include border-bottom-right-radius($baseBorderRadius);
}
// Reset corners for large buttons
.btn-group > .btn.large:first-child {
margin-left: 0;
-webkit-border-top-left-radius: 6px;
-moz-border-radius-topleft: 6px;
border-top-left-radius: 6px;
-webkit-border-bottom-left-radius: 6px;
-moz-border-radius-bottomleft: 6px;
border-bottom-left-radius: 6px;
@include border-top-left-radius($borderRadiusLarge);
@include border-bottom-left-radius($borderRadiusLarge);
}
.btn-group > .btn.large:last-child,
.btn-group > .large.dropdown-toggle {
-webkit-border-top-right-radius: 6px;
-moz-border-radius-topright: 6px;
border-top-right-radius: 6px;
-webkit-border-bottom-right-radius: 6px;
-moz-border-radius-bottomright: 6px;
border-bottom-right-radius: 6px;
@include border-top-right-radius($borderRadiusLarge);
@include border-bottom-right-radius($borderRadiusLarge);
}
// On hover/focus/active, bring the proper btn to front
@ -218,25 +203,25 @@
display: inline-block; // makes buttons only take up the width they need
@include ie7-inline-block();
}
.btn-group-vertical .btn {
.btn-group-vertical > .btn {
display: block;
float: none;
width: 100%;
max-width: 100%;
@include border-radius(0);
}
.btn-group-vertical .btn + .btn {
.btn-group-vertical > .btn + .btn {
margin-left: 0;
margin-top: -1px;
}
.btn-group-vertical .btn:first-child {
@include border-radius(4px 4px 0 0);
.btn-group-vertical > .btn:first-child {
@include border-radius($baseBorderRadius $baseBorderRadius 0 0);
}
.btn-group-vertical .btn:last-child {
@include border-radius(0 0 4px 4px);
.btn-group-vertical > .btn:last-child {
@include border-radius(0 0 $baseBorderRadius $baseBorderRadius);
}
.btn-group-vertical .btn-large:first-child {
@include border-radius(6px 6px 0 0);
.btn-group-vertical > .btn-large:first-child {
@include border-radius($borderRadiusLarge $borderRadiusLarge 0 0);
}
.btn-group-vertical .btn-large:last-child {
@include border-radius(0 0 6px 6px);
.btn-group-vertical > .btn-large:last-child {
@include border-radius(0 0 $borderRadiusLarge $borderRadiusLarge);
}

View file

@ -14,7 +14,6 @@
margin-bottom: 0; // For input.btn
font-size: $baseFontSize;
line-height: $baseLineHeight;
*line-height: $baseLineHeight;
text-align: center;
vertical-align: middle;
cursor: pointer;
@ -30,8 +29,6 @@
&:hover {
color: $grayDark;
text-decoration: none;
background-color: darken($white, 10%);
*background-color: darken($white, 15%); /* Buttons in IE7 don't get borders, so darken on hover */
background-position: 0 -15px;
// transition is only when going to hover, otherwise the background
@ -47,8 +44,6 @@
// Active state
&.active,
&:active {
background-color: darken($white, 10%);
background-color: darken($white, 15%) \9;
background-image: none;
outline: 0;
@include box-shadow(inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05));
@ -58,7 +53,6 @@
&.disabled,
&[disabled] {
cursor: default;
background-color: darken($white, 10%);
background-image: none;
@include opacity(65);
@include box-shadow(none);
@ -79,7 +73,7 @@
}
.btn-large [class^="icon-"],
.btn-large [class*=" icon-"] {
margin-top: 2px;
margin-top: 4px;
}
// Small
@ -92,6 +86,10 @@
.btn-small [class*=" icon-"] {
margin-top: 0;
}
.btn-mini [class^="icon-"],
.btn-mini [class*=" icon-"] {
margin-top: -1px;
}
// Mini
.btn-mini {

View file

@ -15,50 +15,50 @@
position: relative;
}
.carousel {
.carousel-inner {
.item {
> .item {
display: none;
position: relative;
@include transition(.6s ease-in-out left);
}
// Account for jankitude on images
.item > img {
> .item > img {
display: block;
line-height: 1;
}
.active,
.next,
.prev { display: block; }
> .active,
> .next,
> .prev { display: block; }
.active {
> .active {
left: 0;
}
.next,
.prev {
> .next,
> .prev {
position: absolute;
top: 0;
width: 100%;
}
.next {
> .next {
left: 100%;
}
.prev {
> .prev {
left: -100%;
}
.next.left,
.prev.right {
> .next.left,
> .prev.right {
left: 0;
}
.active.left {
> .active.left {
left: -100%;
}
.active.right {
> .active.right {
left: 100%;
}

View file

@ -19,6 +19,7 @@ code {
color: #d14;
background-color: #f7f7f9;
border: 1px solid #e1e1e8;
white-space: nowrap;
}
// Blocks of code
@ -46,6 +47,8 @@ pre {
code {
padding: 0;
color: inherit;
white-space: pre;
white-space: pre-wrap;
background-color: transparent;
border: 0;
}

View file

@ -115,6 +115,7 @@
text-decoration: none;
background-color: transparent;
background-image: none; // Remove CSS gradient
@include reset-filter();
cursor: default;
}
@ -168,9 +169,7 @@
left: 100%;
margin-top: -6px;
margin-left: -1px;
-webkit-border-radius: 0 6px 6px 6px;
-moz-border-radius: 0 6px 6px 6px;
border-radius: 0 6px 6px 6px;
@include border-radius(0 6px 6px 6px);
}
.dropdown-submenu:hover > .dropdown-menu {
display: block;
@ -182,9 +181,7 @@
bottom: 0;
margin-top: 0;
margin-bottom: -2px;
-webkit-border-radius: 5px 5px 5px 0;
-moz-border-radius: 5px 5px 5px 0;
border-radius: 5px 5px 5px 0;
@include border-radius(5px 5px 5px 0);
}
// Caret to indicate there is a submenu
@ -215,9 +212,7 @@
> .dropdown-menu {
left: -100%;
margin-left: 10px;
-webkit-border-radius: 6px 0 6px 6px;
-moz-border-radius: 6px 0 6px 6px;
border-radius: 6px 0 6px 6px;
@include border-radius(6px 0 6px 6px);
}
}
@ -232,6 +227,7 @@
// Typeahead
// ---------
.typeahead {
z-index: 1051;
margin-top: 2px; // give it some space to breathe
@include border-radius($baseBorderRadius);
}

View file

@ -138,7 +138,6 @@ input[type="checkbox"] {
*margin-top: 0; /* IE7 */
margin-top: 1px \9; /* IE8-9 */
line-height: normal;
cursor: pointer;
}
// Reset width of input images, buttons, radios, checkboxes
@ -367,9 +366,9 @@ input[type="checkbox"][readonly] {
// HTML5 invalid states
// Shares styles with the .control-group.error above
input:focus:required:invalid,
textarea:focus:required:invalid,
select:focus:required:invalid {
input:focus:invalid,
textarea:focus:invalid,
select:focus:invalid {
color: #b94a48;
border-color: #ee5f5b;
&:focus {
@ -462,7 +461,8 @@ select:focus:required:invalid {
border: 1px solid #ccc;
}
.add-on,
.btn {
.btn,
.btn-group > .dropdown-toggle {
vertical-align: top;
@include border-radius(0);
}
@ -489,7 +489,7 @@ select:focus:required:invalid {
select,
.uneditable-input {
@include border-radius($inputBorderRadius 0 0 $inputBorderRadius);
+ .btn-group .btn {
+ .btn-group .btn:last-child {
@include border-radius(0 $inputBorderRadius $inputBorderRadius 0);
}
}
@ -499,7 +499,8 @@ select:focus:required:invalid {
margin-left: -1px;
}
.add-on:last-child,
.btn:last-child {
.btn:last-child,
.btn-group:last-child > .dropdown-toggle {
@include border-radius(0 $inputBorderRadius $inputBorderRadius 0);
}
}
@ -670,7 +671,10 @@ legend + .control-group {
// And apply it only to .help-block instances that follow a form control
input,
select,
textarea {
textarea,
.uneditable-input,
.input-prepend,
.input-append {
+ .help-block {
margin-top: $baseLineHeight / 2;
}

View file

@ -27,6 +27,14 @@
@include border-radius(9px);
}
// Empty labels/badges collapse
.label,
.badge {
&:empty {
display: none;
}
}
// Hover state, but only for links
a {
&.label:hover,
@ -39,21 +47,23 @@ a {
// Colors
// Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute)
@each $item in label, badge {
// Important (red)
.label-important, .badge-important { background-color: $errorText; }
.label-important[href], .badge-important[href] { background-color: darken($errorText, 10%); }
.#{$item}-important { background-color: $errorText; }
.#{$item}-important[href] { background-color: darken($errorText, 10%); }
// Warnings (orange)
.label-warning, .badge-warning { background-color: $orange; }
.label-warning[href], .badge-warning[href] { background-color: darken($orange, 10%); }
.#{$item}-warning { background-color: $orange; }
.#{$item}-warning[href] { background-color: darken($orange, 10%); }
// Success (green)
.label-success, .badge-success { background-color: $successText; }
.label-success[href], .badge-success[href] { background-color: darken($successText, 10%); }
.#{$item}-success { background-color: $successText; }
.#{$item}-success[href] { background-color: darken($successText, 10%); }
// Info (turquoise)
.label-info, .badge-info { background-color: $infoText; }
.label-info[href], .badge-info[href] { background-color: darken($infoText, 10%); }
.#{$item}-info { background-color: $infoText; }
.#{$item}-info[href] { background-color: darken($infoText, 10%); }
// Inverse (black)
.label-inverse, .badge-inverse { background-color: $grayDark; }
.label-inverse[href], .badge-inverse[href] { background-color: darken($grayDark, 10%); }
.#{$item}-inverse { background-color: $grayDark; }
.#{$item}-inverse[href] { background-color: darken($grayDark, 10%); }
}
// Quick fix for labels/badges in buttons
.btn {

View file

@ -111,6 +111,7 @@
border: 0;
}
// FONTS
// --------------------------------------------------
@ -158,7 +159,7 @@
// Mixin for form field states
@mixin formFieldState($textColor: #555, $borderColor: #ccc, $backgroundColor: #f5f5f5) {
// Set the text color
> label,
.control-label,
.help-block,
.help-inline {
color: $textColor;
@ -256,7 +257,6 @@
-o-transition: $transition;
transition: $transition;
}
@mixin transition-delay($transition-delay) {
-webkit-transition-delay: $transition-delay;
-moz-transition-delay: $transition-delay;
@ -413,7 +413,7 @@
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=1); // IE9 and down
}
@mixin gradient-vertical($startColor: #555, $endColor: #333) {
background-color: mix($startColor, $endColor, 62.5%);
background-color: mix($startColor, $endColor, 60%);
background-image: -moz-linear-gradient(top, $startColor, $endColor); // FF 3.6+
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+

View file

@ -26,7 +26,6 @@
top: 50%;
left: 50%;
z-index: $zindexModal;
overflow: auto;
width: 560px;
margin: -250px 0 0 -280px;
background-color: $white;
@ -59,6 +58,7 @@
// Body (where all modal content resides)
.modal-body {
position: relative;
overflow-y: auto;
max-height: 400px;
padding: 15px;

View file

@ -10,7 +10,6 @@
.navbar {
overflow: visible;
margin-bottom: $baseLineHeight;
color: $navbarText;
// Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar
*position: relative;
@ -67,6 +66,7 @@
.navbar-text {
margin-bottom: 0;
line-height: $navbarHeight;
color: $navbarText;
}
// Janky solution for now to account for links outside the .nav
@ -123,7 +123,7 @@
}
.input-append,
.input-prepend {
margin-top: 6px;
margin-top: 5px;
white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left
input {
margin-top: 0; // remove the margin on top since it's on the parent
@ -245,6 +245,7 @@
}
.navbar .nav .dropdown-toggle .caret {
margin-top: 8px;
}
// Hover
@ -273,7 +274,7 @@
padding: 7px 10px;
margin-left: 5px;
margin-right: 5px;
@include buttonBackground(darken($navbarBackgroundHighlight, 5%), darken($navbarBackground, 5.25%));
@include buttonBackground(darken($navbarBackgroundHighlight, 5%), darken($navbarBackground, 5%));
@include box-shadow(inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075));
}
.navbar .btn-navbar .icon-bar {
@ -334,6 +335,12 @@
}
}
// Caret should match text color on hover
.navbar .nav li.dropdown > a:hover .caret {
border-top-color: $navbarLinkColorActive;
border-bottom-color: $navbarLinkColorActive;
}
// Remove background color from open dropdown
.navbar .nav li.dropdown.open > .dropdown-toggle,
.navbar .nav li.dropdown.active > .dropdown-toggle,
@ -379,7 +386,6 @@
// -------------------------
.navbar-inverse {
color: $navbarInverseText;
.navbar-inner {
@include gradient-vertical($navbarInverseBackgroundHighlight, $navbarInverseBackground);
@ -395,6 +401,14 @@
}
}
.brand {
color: $navbarInverseBrandColor;
}
.navbar-text {
color: $navbarInverseText;
}
.nav > li > a:focus,
.nav > li > a:hover {
background-color: $navbarInverseLinkBackgroundHover;
@ -429,6 +443,10 @@
background-color: $navbarInverseLinkBackgroundActive;
color: $navbarInverseLinkColorActive;
}
.nav li.dropdown > a:hover .caret {
border-top-color: $navbarInverseLinkColorActive;
color: $navbarInverseLinkColorActive;
}
.nav li.dropdown > .dropdown-toggle .caret {
border-top-color: $navbarInverseLinkColor;
border-bottom-color: $navbarInverseLinkColor;

View file

@ -21,6 +21,12 @@
background-color: $grayLighter;
}
// Prevent IE8 from misplacing imgs
// See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
.nav > li > a > img {
max-width: none;
}
// Redeclare pull classes because of specifity
.nav > .pull-right {
float: right;

View file

@ -11,6 +11,7 @@
display: none;
width: 236px;
padding: 1px;
text-align: left; // Reset given new insertion method
background-color: $popoverBackground;
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
@ -20,12 +21,14 @@
@include border-radius(6px);
@include box-shadow(0 5px 10px rgba(0,0,0,.2));
// Overrides for proper insertion
white-space: normal;
// Offset the popover to account for the popover arrow
&.top { margin-top: -10px; }
&.right { margin-left: 10px; }
&.bottom { margin-top: 10px; }
&.left { margin-left: -10px; }
}
.popover-title {
@ -41,77 +44,86 @@
.popover-content {
padding: 9px 14px;
p, ul, ol {
margin-bottom: 0;
}
}
// Arrows
//
// .arrow is outer, .arrow:after is inner
.popover .arrow,
.popover .arrow:after {
position: absolute;
display: inline-block;
display: block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
.popover .arrow {
border-width: $popoverArrowOuterWidth;
}
.popover .arrow:after {
border-width: $popoverArrowWidth;
content: "";
z-index: -1;
}
.popover {
&.top .arrow {
bottom: -$popoverArrowWidth;
left: 50%;
margin-left: -$popoverArrowWidth;
border-width: $popoverArrowWidth $popoverArrowWidth 0;
border-top-color: $popoverArrowColor;
&:after {
border-width: $popoverArrowOuterWidth $popoverArrowOuterWidth 0;
margin-left: -$popoverArrowOuterWidth;
border-bottom-width: 0;
border-top-color: #999; // IE8 fallback
border-top-color: $popoverArrowOuterColor;
bottom: -1px;
left: -$popoverArrowOuterWidth;
bottom: -$popoverArrowOuterWidth;
&:after {
bottom: 1px;
margin-left: -$popoverArrowWidth;
border-bottom-width: 0;
border-top-color: $popoverArrowColor;
}
}
&.right .arrow {
top: 50%;
left: -$popoverArrowWidth;
margin-top: -$popoverArrowWidth;
border-width: $popoverArrowWidth $popoverArrowWidth $popoverArrowWidth 0;
border-right-color: $popoverArrowColor;
&:after {
border-width: $popoverArrowOuterWidth $popoverArrowOuterWidth $popoverArrowOuterWidth 0;
left: -$popoverArrowOuterWidth;
margin-top: -$popoverArrowOuterWidth;
border-left-width: 0;
border-right-color: #999; // IE8 fallback
border-right-color: $popoverArrowOuterColor;
bottom: -$popoverArrowOuterWidth;
left: -1px;
&:after {
left: 1px;
bottom: -$popoverArrowWidth;
border-left-width: 0;
border-right-color: $popoverArrowColor;
}
}
&.bottom .arrow {
top: -$popoverArrowWidth;
left: 50%;
margin-left: -$popoverArrowWidth;
border-width: 0 $popoverArrowWidth $popoverArrowWidth;
border-bottom-color: $popoverArrowColor;
&:after {
border-width: 0 $popoverArrowOuterWidth $popoverArrowOuterWidth;
margin-left: -$popoverArrowOuterWidth;
border-top-width: 0;
border-bottom-color: #999; // IE8 fallback
border-bottom-color: $popoverArrowOuterColor;
top: -1px;
left: -$popoverArrowOuterWidth;
top: -$popoverArrowOuterWidth;
&:after {
top: 1px;
margin-left: -$popoverArrowWidth;
border-top-width: 0;
border-bottom-color: $popoverArrowColor;
}
}
&.left .arrow {
top: 50%;
right: -$popoverArrowWidth;
margin-top: -$popoverArrowWidth;
border-width: $popoverArrowWidth 0 $popoverArrowWidth $popoverArrowWidth;
border-left-color: $popoverArrowColor;
&:after {
border-width: $popoverArrowOuterWidth 0 $popoverArrowOuterWidth $popoverArrowOuterWidth;
right: -$popoverArrowOuterWidth;
margin-top: -$popoverArrowOuterWidth;
border-right-width: 0;
border-left-color: #999; // IE8 fallback
border-left-color: $popoverArrowOuterColor;
bottom: -$popoverArrowOuterWidth;
right: -1px;
&:after {
right: 1px;
border-right-width: 0;
border-left-color: $popoverArrowColor;
bottom: -$popoverArrowWidth;
}
}
}

View file

@ -1,5 +1,5 @@
//
// Reset
// Reset CSS
// Adapted from http://github.com/necolas/normalize.css
// --------------------------------------------------
@ -122,10 +122,18 @@ input[type="submit"] {
-webkit-appearance: button; // Corrects inability to style clickable `input` types in iOS.
cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others.
}
label,
select,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="radio"],
input[type="checkbox"] {
cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others.
}
input[type="search"] { // Appearance in Safari/Chrome
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
@include box-sizing(content-box);
-webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration,
@ -136,3 +144,73 @@ textarea {
overflow: auto; // Remove vertical scrollbar in IE6-9
vertical-align: top; // Readability and alignment cross-browser
}
// Printing
// -------------------------
// Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css
@media print {
* {
text-shadow: none !important;
color: #000 !important; // Black prints faster: h5bp.com/s
background: transparent !important;
box-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
a[href]:after {
content: " (" attr(href) ")";
}
abbr[title]:after {
content: " (" attr(title) ")";
}
// Don't show links for images, or javascript/internal links
.ir a:after,
a[href^="javascript:"]:after,
a[href^="#"]:after {
content: "";
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
thead {
display: table-header-group; // h5bp.com/t
}
tr,
img {
page-break-inside: avoid;
}
img {
max-width: 100% !important;
}
@page {
margin: 0.5cm;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
}

View file

@ -48,6 +48,11 @@ table {
tbody + tbody {
border-top: 2px solid $tableBorder;
}
// Nesting
.table {
background-color: $bodyBackground;
}
}
@ -89,51 +94,47 @@ table {
border-top: 0;
}
// For first th or td in the first row in the first thead or tbody
thead:first-child tr:first-child th:first-child,
tbody:first-child tr:first-child td:first-child {
-webkit-border-top-left-radius: 4px;
border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
thead:first-child tr:first-child > th:first-child,
tbody:first-child tr:first-child > td:first-child {
@include border-top-left-radius($baseBorderRadius);
}
thead:first-child tr:first-child th:last-child,
tbody:first-child tr:first-child td:last-child {
-webkit-border-top-right-radius: 4px;
border-top-right-radius: 4px;
-moz-border-radius-topright: 4px;
thead:first-child tr:first-child > th:last-child,
tbody:first-child tr:first-child > td:last-child {
@include border-top-right-radius($baseBorderRadius);
}
// For first th or td in the first row in the first thead or tbody
thead:last-child tr:last-child th:first-child,
tbody:last-child tr:last-child td:first-child,
tfoot:last-child tr:last-child td:first-child {
@include border-radius(0 0 0 4px);
-webkit-border-bottom-left-radius: 4px;
border-bottom-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
// For first th or td in the last row in the last thead or tbody
thead:last-child tr:last-child > th:first-child,
tbody:last-child tr:last-child > td:first-child,
tfoot:last-child tr:last-child > td:first-child {
@include border-bottom-left-radius($baseBorderRadius);
}
thead:last-child tr:last-child th:last-child,
tbody:last-child tr:last-child td:last-child,
tfoot:last-child tr:last-child td:last-child {
-webkit-border-bottom-right-radius: 4px;
border-bottom-right-radius: 4px;
-moz-border-radius-bottomright: 4px;
thead:last-child tr:last-child > th:last-child,
tbody:last-child tr:last-child > td:last-child,
tfoot:last-child tr:last-child > td:last-child {
@include border-bottom-right-radius($baseBorderRadius);
}
// Clear border-radius for first and last td in the last row in the last tbody for table with tfoot
tfoot + tbody:last-child tr:last-child td:first-child {
@include border-bottom-left-radius(0);
}
tfoot + tbody:last-child tr:last-child td:last-child {
@include border-bottom-right-radius(0);
}
// Special fixes to round the left border on the first td/th
caption + thead tr:first-child th:first-child,
caption + tbody tr:first-child td:first-child,
colgroup + thead tr:first-child th:first-child,
colgroup + tbody tr:first-child td:first-child {
-webkit-border-top-left-radius: 4px;
border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
@include border-top-left-radius($baseBorderRadius);
}
caption + thead tr:first-child th:last-child,
caption + tbody tr:first-child td:last-child,
colgroup + thead tr:first-child th:last-child,
colgroup + tbody tr:first-child td:last-child {
-webkit-border-top-right-radius: 4px;
border-top-right-radius: 4px;
-moz-border-radius-topright: 4px;
@include border-top-right-radius($baseBorderRadius);
}
}
@ -147,8 +148,8 @@ table {
// Default zebra-stripe styles (alternating gray and transparent backgrounds)
.table-striped {
tbody {
tr:nth-child(odd) td,
tr:nth-child(odd) th {
> tr:nth-child(odd) > td,
> tr:nth-child(odd) > th {
background-color: $tableBackgroundAccent;
}
}

View file

@ -20,23 +20,17 @@ p {
// Emphasis & misc
// -------------------------
small {
font-size: 85%; // Ex: 14px base font * 85% = about 12px
}
strong {
font-weight: bold;
}
em {
font-style: italic;
}
cite {
font-style: normal;
}
// Ex: 14px base font * 85% = about 12px
small { font-size: 85%; }
strong { font-weight: bold; }
em { font-style: italic; }
cite { font-style: normal; }
// Utility classes
.muted {
color: $grayLight;
}
.muted { color: $grayLight; }
a.muted:hover { color: darken($grayLight, 10%); }
.text-warning { color: $warningText; }
a.text-warning:hover { color: darken($warningText, 10%); }
@ -112,12 +106,26 @@ ol ul {
li {
line-height: $baseLineHeight;
}
// Remove default list styles
ul.unstyled,
ol.unstyled {
margin-left: 0;
list-style: none;
}
// Single-line list items
ul.inline,
ol.inline {
margin-left: 0;
list-style: none;
& > li {
display: inline-block;
padding-left: 5px;
padding-right: 5px;
}
}
// Description Lists
dl {
margin-bottom: $baseLineHeight;

View file

@ -66,13 +66,13 @@ $fontSizeLarge: $baseFontSize * 1.25; // ~18px
$fontSizeSmall: $baseFontSize * 0.85; // ~12px
$fontSizeMini: $baseFontSize * 0.75; // ~11px
$paddingLarge: 11px 19px; // 44px
$paddingSmall: 2px 10px; // 26px
$paddingMini: 1px 6px; // 24px
$paddingLarge: 11px 19px !default; // 44px
$paddingSmall: 2px 10px !default; // 26px
$paddingMini: 0px 6px !default; // 22px
$baseBorderRadius: 4px;
$borderRadiusLarge: 6px;
$borderRadiusSmall: 3px;
$baseBorderRadius: 4px !default;
$borderRadiusLarge: 6px !default;
$borderRadiusSmall: 3px !default;
// Tables
@ -167,7 +167,7 @@ $hrBorder: $grayLighter !default;
// Horizontal forms & lists
// -------------------------
$horizontalComponentOffset: 180px;
$horizontalComponentOffset: 180px !default;
// Wells

View file

@ -1,5 +1,5 @@
/*!
* Bootstrap v2.2.1
* Bootstrap v2.2.2
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0

View file

@ -1,5 +1,5 @@
/*!
* Bootstrap Responsive v2.2.1
* Bootstrap Responsive v2.2.2
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
@ -14,6 +14,15 @@
// -------------------------------------------------------------
// IE10 Metro responsive
// Required for Windows 8 Metro split-screen snapping with IE10
// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/
@-ms-viewport{
width: device-width;
}
// REPEAT VARIABLES & MIXINS
// -------------------------
// Required since we compile the responsive stuff separately