Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap-sass.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas McDonald <tom@conceptcoding.co.uk>2013-02-15 01:11:56 +0400
committerThomas McDonald <tom@conceptcoding.co.uk>2013-02-15 01:11:56 +0400
commit1a9cf0b342b1e7606b9577934b2d3641619d0eac (patch)
tree2e082c08003bf95655c285ce92754eb293c0b062
parent2d40e4d27b2fb7c8dcbfc40e278b4ddc6772f337 (diff)
parent4ce595087d4fec7b351defa08a5d4871aaba7b76 (diff)
Merge pull request #290 from trisweb/tristan_2.3.0v2.3.0.0
Update to match bootstrap 2.3 from sass-twitter-bootstrap
-rw-r--r--README.md4
-rw-r--r--bootstrap-sass.gemspec2
-rw-r--r--vendor/assets/javascripts/bootstrap-affix.js2
-rw-r--r--vendor/assets/javascripts/bootstrap-alert.js2
-rw-r--r--vendor/assets/javascripts/bootstrap-button.js2
-rw-r--r--vendor/assets/javascripts/bootstrap-carousel.js40
-rw-r--r--vendor/assets/javascripts/bootstrap-collapse.js8
-rw-r--r--vendor/assets/javascripts/bootstrap-dropdown.js24
-rw-r--r--vendor/assets/javascripts/bootstrap-modal.js24
-rw-r--r--vendor/assets/javascripts/bootstrap-popover.js10
-rw-r--r--vendor/assets/javascripts/bootstrap-scrollspy.js4
-rw-r--r--vendor/assets/javascripts/bootstrap-tab.js2
-rw-r--r--vendor/assets/javascripts/bootstrap-tooltip.js124
-rw-r--r--vendor/assets/javascripts/bootstrap-transition.js2
-rw-r--r--vendor/assets/javascripts/bootstrap-typeahead.js20
-rw-r--r--vendor/assets/stylesheets/bootstrap/_button-groups.scss6
-rw-r--r--vendor/assets/stylesheets/bootstrap/_buttons.scss18
-rw-r--r--vendor/assets/stylesheets/bootstrap/_carousel.scss39
-rw-r--r--vendor/assets/stylesheets/bootstrap/_close.scss3
-rw-r--r--vendor/assets/stylesheets/bootstrap/_dropdowns.scss28
-rw-r--r--vendor/assets/stylesheets/bootstrap/_forms.scss7
-rw-r--r--vendor/assets/stylesheets/bootstrap/_labels-badges.scss6
-rw-r--r--vendor/assets/stylesheets/bootstrap/_media.scss4
-rw-r--r--vendor/assets/stylesheets/bootstrap/_mixins.scss6
-rw-r--r--vendor/assets/stylesheets/bootstrap/_modals.scss6
-rw-r--r--vendor/assets/stylesheets/bootstrap/_navbar.scss29
-rw-r--r--vendor/assets/stylesheets/bootstrap/_navs.scss60
-rw-r--r--vendor/assets/stylesheets/bootstrap/_pager.scss4
-rw-r--r--vendor/assets/stylesheets/bootstrap/_pagination.scss4
-rw-r--r--vendor/assets/stylesheets/bootstrap/_popovers.scss6
-rw-r--r--vendor/assets/stylesheets/bootstrap/_responsive-navbar.scss8
-rw-r--r--vendor/assets/stylesheets/bootstrap/_responsive-utilities.scss42
-rw-r--r--vendor/assets/stylesheets/bootstrap/_scaffolding.scss3
-rw-r--r--vendor/assets/stylesheets/bootstrap/_sprites.scss10
-rw-r--r--vendor/assets/stylesheets/bootstrap/_tables.scss41
-rw-r--r--vendor/assets/stylesheets/bootstrap/_thumbnails.scss5
-rw-r--r--vendor/assets/stylesheets/bootstrap/_tooltip.scss12
-rw-r--r--vendor/assets/stylesheets/bootstrap/_type.scss28
-rw-r--r--vendor/assets/stylesheets/bootstrap/_variables.scss2
-rw-r--r--vendor/assets/stylesheets/bootstrap/bootstrap.scss2
-rw-r--r--vendor/assets/stylesheets/bootstrap/responsive.scss11
41 files changed, 439 insertions, 221 deletions
diff --git a/README.md b/README.md
index 7e1c9816..4d8d8be3 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,7 @@ In your Gemfile:
```ruby
gem 'sass-rails', '~> 3.2'
-gem 'bootstrap-sass', '~> 2.2.2.0'
+gem 'bootstrap-sass', '~> 2.3.0.0'
```
#### CSS
@@ -115,7 +115,7 @@ Basically this means you should expect to append a separate patch version to the
### Bundler?
```ruby
-gem 'bootstrap-sass', '~> 2.2.2.0'
+gem 'bootstrap-sass', '~> 2.3.0.0'
```
Don't use the standard `~> 2.x.y`. Your apps may break.
diff --git a/bootstrap-sass.gemspec b/bootstrap-sass.gemspec
index 6335093f..14831315 100644
--- a/bootstrap-sass.gemspec
+++ b/bootstrap-sass.gemspec
@@ -1,6 +1,6 @@
Gem::Specification.new do |s|
s.name = "bootstrap-sass"
- s.version = '2.2.2.0'
+ s.version = '2.3.0.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"
diff --git a/vendor/assets/javascripts/bootstrap-affix.js b/vendor/assets/javascripts/bootstrap-affix.js
index 6020a19a..7595fdb0 100644
--- a/vendor/assets/javascripts/bootstrap-affix.js
+++ b/vendor/assets/javascripts/bootstrap-affix.js
@@ -1,5 +1,5 @@
/* ==========================================================
- * bootstrap-affix.js v2.2.2
+ * bootstrap-affix.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#affix
* ==========================================================
* Copyright 2012 Twitter, Inc.
diff --git a/vendor/assets/javascripts/bootstrap-alert.js b/vendor/assets/javascripts/bootstrap-alert.js
index 5bc02644..b5627984 100644
--- a/vendor/assets/javascripts/bootstrap-alert.js
+++ b/vendor/assets/javascripts/bootstrap-alert.js
@@ -1,5 +1,5 @@
/* ==========================================================
- * bootstrap-alert.js v2.2.2
+ * bootstrap-alert.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#alerts
* ==========================================================
* Copyright 2012 Twitter, Inc.
diff --git a/vendor/assets/javascripts/bootstrap-button.js b/vendor/assets/javascripts/bootstrap-button.js
index 39b83399..045927b6 100644
--- a/vendor/assets/javascripts/bootstrap-button.js
+++ b/vendor/assets/javascripts/bootstrap-button.js
@@ -1,5 +1,5 @@
/* ============================================================
- * bootstrap-button.js v2.2.2
+ * bootstrap-button.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#buttons
* ============================================================
* Copyright 2012 Twitter, Inc.
diff --git a/vendor/assets/javascripts/bootstrap-carousel.js b/vendor/assets/javascripts/bootstrap-carousel.js
index 238ff428..60455201 100644
--- a/vendor/assets/javascripts/bootstrap-carousel.js
+++ b/vendor/assets/javascripts/bootstrap-carousel.js
@@ -1,5 +1,5 @@
/* ==========================================================
- * bootstrap-carousel.js v2.2.2
+ * bootstrap-carousel.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#carousel
* ==========================================================
* Copyright 2012 Twitter, Inc.
@@ -28,6 +28,7 @@
var Carousel = function (element, options) {
this.$element = $(element)
+ this.$indicators = this.$element.find('.carousel-indicators')
this.options = options
this.options.pause == 'hover' && this.$element
.on('mouseenter', $.proxy(this.pause, this))
@@ -38,19 +39,24 @@
cycle: function (e) {
if (!e) this.paused = false
+ if (this.interval) clearInterval(this.interval);
this.options.interval
&& !this.paused
&& (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
return this
}
+ , getActiveIndex: function () {
+ this.$active = this.$element.find('.item.active')
+ this.$items = this.$active.parent().children()
+ return this.$items.index(this.$active)
+ }
+
, to: function (pos) {
- var $active = this.$element.find('.item.active')
- , children = $active.parent().children()
- , activePos = children.index($active)
+ var activeIndex = this.getActiveIndex()
, that = this
- if (pos > (children.length - 1) || pos < 0) return
+ if (pos > (this.$items.length - 1) || pos < 0) return
if (this.sliding) {
return this.$element.one('slid', function () {
@@ -58,11 +64,11 @@
})
}
- if (activePos == pos) {
+ if (activeIndex == pos) {
return this.pause().cycle()
}
- return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos]))
+ return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
}
, pause: function (e) {
@@ -103,10 +109,19 @@
e = $.Event('slide', {
relatedTarget: $next[0]
+ , direction: direction
})
if ($next.hasClass('active')) return
+ if (this.$indicators.length) {
+ this.$indicators.find('.active').removeClass('active')
+ this.$element.one('slid', function () {
+ var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
+ $nextIndicator && $nextIndicator.addClass('active')
+ })
+ }
+
if ($.support.transition && this.$element.hasClass('slide')) {
this.$element.trigger(e)
if (e.isDefaultPrevented()) return
@@ -151,7 +166,7 @@
if (!data) $this.data('carousel', (data = new Carousel(this, options)))
if (typeof option == 'number') data.to(option)
else if (action) data[action]()
- else if (options.interval) data.cycle()
+ else if (options.interval) data.pause().cycle()
})
}
@@ -174,11 +189,18 @@
/* CAROUSEL DATA-API
* ================= */
- $(document).on('click.carousel.data-api', '[data-slide]', function (e) {
+ $(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
var $this = $(this), href
, $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
, options = $.extend({}, $target.data(), $this.data())
+ , slideIndex
+
$target.carousel(options)
+
+ if (slideIndex = $this.attr('data-slide-to')) {
+ $target.data('carousel').pause().to(slideIndex).cycle()
+ }
+
e.preventDefault()
})
diff --git a/vendor/assets/javascripts/bootstrap-collapse.js b/vendor/assets/javascripts/bootstrap-collapse.js
index 6ac0191a..7bbad8e4 100644
--- a/vendor/assets/javascripts/bootstrap-collapse.js
+++ b/vendor/assets/javascripts/bootstrap-collapse.js
@@ -1,5 +1,5 @@
/* =============================================================
- * bootstrap-collapse.js v2.2.2
+ * bootstrap-collapse.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#collapse
* =============================================================
* Copyright 2012 Twitter, Inc.
@@ -52,7 +52,7 @@
, actives
, hasData
- if (this.transitioning) return
+ if (this.transitioning || this.$element.hasClass('in')) return
dimension = this.dimension()
scroll = $.camelCase(['scroll', dimension].join('-'))
@@ -72,7 +72,7 @@
, hide: function () {
var dimension
- if (this.transitioning) return
+ if (this.transitioning || !this.$element.hasClass('in')) return
dimension = this.dimension()
this.reset(this.$element[dimension]())
this.transition('removeClass', $.Event('hide'), 'hidden')
@@ -129,7 +129,7 @@
return this.each(function () {
var $this = $(this)
, data = $this.data('collapse')
- , options = typeof option == 'object' && option
+ , options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option)
if (!data) $this.data('collapse', (data = new Collapse(this, options)))
if (typeof option == 'string') data[option]()
})
diff --git a/vendor/assets/javascripts/bootstrap-dropdown.js b/vendor/assets/javascripts/bootstrap-dropdown.js
index 900355d5..ec86cf0d 100644
--- a/vendor/assets/javascripts/bootstrap-dropdown.js
+++ b/vendor/assets/javascripts/bootstrap-dropdown.js
@@ -1,5 +1,5 @@
/* ============================================================
- * bootstrap-dropdown.js v2.2.2
+ * bootstrap-dropdown.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#dropdowns
* ============================================================
* Copyright 2012 Twitter, Inc.
@@ -81,7 +81,10 @@
isActive = $parent.hasClass('open')
- if (!isActive || (isActive && e.keyCode == 27)) return $this.click()
+ if (!isActive || (isActive && e.keyCode == 27)) {
+ if (e.which == 27) $parent.find(toggle).focus()
+ return $this.click()
+ }
$items = $('[role=menu] li:not(.divider):visible a', $parent)
@@ -115,8 +118,9 @@
selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
}
- $parent = $(selector)
- $parent.length || ($parent = $this.parent())
+ $parent = selector && $(selector)
+
+ if (!$parent || !$parent.length) $parent = $this.parent()
return $parent
}
@@ -152,10 +156,10 @@
* =================================== */
$(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)
+ .on('click.dropdown.data-api', clearMenus)
+ .on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
+ .on('.dropdown-menu', function (e) { e.stopPropagation() })
+ .on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
+ .on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
-}(window.jQuery); \ No newline at end of file
+}(window.jQuery);
diff --git a/vendor/assets/javascripts/bootstrap-modal.js b/vendor/assets/javascripts/bootstrap-modal.js
index 689a414e..b5ffa95b 100644
--- a/vendor/assets/javascripts/bootstrap-modal.js
+++ b/vendor/assets/javascripts/bootstrap-modal.js
@@ -1,5 +1,5 @@
/* =========================================================
- * bootstrap-modal.js v2.2.2
+ * bootstrap-modal.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#modals
* =========================================================
* Copyright 2012 Twitter, Inc.
@@ -60,8 +60,7 @@
that.$element.appendTo(document.body) //don't move modals dom position
}
- that.$element
- .show()
+ that.$element.show()
if (transition) {
that.$element[0].offsetWidth // force reflow
@@ -139,12 +138,13 @@
})
}
- , hideModal: function (that) {
- this.$element
- .hide()
- .trigger('hidden')
-
- this.backdrop()
+ , hideModal: function () {
+ var that = this
+ this.$element.hide()
+ this.backdrop(function () {
+ that.removeBackdrop()
+ that.$element.trigger('hidden')
+ })
}
, removeBackdrop: function () {
@@ -172,6 +172,8 @@
this.$backdrop.addClass('in')
+ if (!callback) return
+
doAnimate ?
this.$backdrop.one($.support.transition.end, callback) :
callback()
@@ -180,8 +182,8 @@
this.$backdrop.removeClass('in')
$.support.transition && this.$element.hasClass('fade')?
- this.$backdrop.one($.support.transition.end, $.proxy(this.removeBackdrop, this)) :
- this.removeBackdrop()
+ this.$backdrop.one($.support.transition.end, callback) :
+ callback()
} else if (callback) {
callback()
diff --git a/vendor/assets/javascripts/bootstrap-popover.js b/vendor/assets/javascripts/bootstrap-popover.js
index 1a4f532a..0e7774bf 100644
--- a/vendor/assets/javascripts/bootstrap-popover.js
+++ b/vendor/assets/javascripts/bootstrap-popover.js
@@ -1,5 +1,5 @@
/* ===========================================================
- * bootstrap-popover.js v2.2.2
+ * bootstrap-popover.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#popovers
* ===========================================================
* Copyright 2012 Twitter, Inc.
@@ -58,8 +58,8 @@
, $e = this.$element
, o = this.options
- content = $e.attr('data-content')
- || (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
+ content = (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
+ || $e.attr('data-content')
return content
}
@@ -99,7 +99,7 @@
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"></div></div></div>'
+ , template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
})
@@ -111,4 +111,4 @@
return this
}
-}(window.jQuery); \ No newline at end of file
+}(window.jQuery);
diff --git a/vendor/assets/javascripts/bootstrap-scrollspy.js b/vendor/assets/javascripts/bootstrap-scrollspy.js
index 07a5c3a5..dff9a3b3 100644
--- a/vendor/assets/javascripts/bootstrap-scrollspy.js
+++ b/vendor/assets/javascripts/bootstrap-scrollspy.js
@@ -1,5 +1,5 @@
/* =============================================================
- * bootstrap-scrollspy.js v2.2.2
+ * bootstrap-scrollspy.js v2.3.0
* 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 + self.$scrollElement.scrollTop(), href ]] ) || null
+ && [[ $href.position().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]] ) || null
})
.sort(function (a, b) { return a[0] - b[0] })
.each(function () {
diff --git a/vendor/assets/javascripts/bootstrap-tab.js b/vendor/assets/javascripts/bootstrap-tab.js
index 84d4834a..bd77eb5c 100644
--- a/vendor/assets/javascripts/bootstrap-tab.js
+++ b/vendor/assets/javascripts/bootstrap-tab.js
@@ -1,5 +1,5 @@
/* ========================================================
- * bootstrap-tab.js v2.2.2
+ * bootstrap-tab.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#tabs
* ========================================================
* Copyright 2012 Twitter, Inc.
diff --git a/vendor/assets/javascripts/bootstrap-tooltip.js b/vendor/assets/javascripts/bootstrap-tooltip.js
index a08952a4..98131907 100644
--- a/vendor/assets/javascripts/bootstrap-tooltip.js
+++ b/vendor/assets/javascripts/bootstrap-tooltip.js
@@ -1,5 +1,5 @@
/* ===========================================================
- * bootstrap-tooltip.js v2.2.2
+ * bootstrap-tooltip.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#tooltips
* Inspired by the original jQuery.tipsy by Jason Frame
* ===========================================================
@@ -38,19 +38,27 @@
, init: function (type, element, options) {
var eventIn
, eventOut
+ , triggers
+ , trigger
+ , i
this.type = type
this.$element = $(element)
this.options = this.getOptions(options)
this.enabled = true
- if (this.options.trigger == 'click') {
- this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
- } else if (this.options.trigger != 'manual') {
- eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'
- eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur'
- this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
- this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
+ triggers = this.options.trigger.split(' ')
+
+ for (i = triggers.length; i--;) {
+ trigger = triggers[i]
+ if (trigger == 'click') {
+ this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
+ } else if (trigger != 'manual') {
+ eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
+ eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
+ this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
+ this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
+ }
}
this.options.selector ?
@@ -59,7 +67,7 @@
}
, getOptions: function (options) {
- options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
+ options = $.extend({}, $.fn[this.type].defaults, this.$element.data(), options)
if (options.delay && typeof options.delay == 'number') {
options.delay = {
@@ -97,14 +105,16 @@
, show: function () {
var $tip
- , inside
, pos
, actualWidth
, actualHeight
, placement
, tp
+ , e = $.Event('show')
if (this.hasContent() && this.enabled) {
+ this.$element.trigger(e)
+ if (e.isDefaultPrevented()) return
$tip = this.tip()
this.setContent()
@@ -116,19 +126,18 @@
this.options.placement.call(this, $tip[0], this.$element[0]) :
this.options.placement
- inside = /in/.test(placement)
-
$tip
.detach()
.css({ top: 0, left: 0, display: 'block' })
- .insertAfter(this.$element)
- pos = this.getPosition(inside)
+ this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
+
+ pos = this.getPosition()
actualWidth = $tip[0].offsetWidth
actualHeight = $tip[0].offsetHeight
- switch (inside ? placement.split(' ')[1] : placement) {
+ switch (placement) {
case 'bottom':
tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
break
@@ -143,11 +152,56 @@
break
}
- $tip
- .offset(tp)
- .addClass(placement)
- .addClass('in')
+ this.applyPlacement(tp, placement)
+ this.$element.trigger('shown')
+ }
+ }
+
+ , applyPlacement: function(offset, placement){
+ var $tip = this.tip()
+ , width = $tip[0].offsetWidth
+ , height = $tip[0].offsetHeight
+ , actualWidth
+ , actualHeight
+ , delta
+ , replace
+
+ $tip
+ .offset(offset)
+ .addClass(placement)
+ .addClass('in')
+
+ actualWidth = $tip[0].offsetWidth
+ actualHeight = $tip[0].offsetHeight
+
+ if (placement == 'top' && actualHeight != height) {
+ offset.top = offset.top + height - actualHeight
+ replace = true
}
+
+ if (placement == 'bottom' || placement == 'top') {
+ delta = 0
+
+ if (offset.left < 0){
+ delta = offset.left * -2
+ offset.left = 0
+ $tip.offset(offset)
+ actualWidth = $tip[0].offsetWidth
+ actualHeight = $tip[0].offsetHeight
+ }
+
+ this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
+ } else {
+ this.replaceArrow(actualHeight - height, actualHeight, 'top')
+ }
+
+ if (replace) $tip.offset(offset)
+ }
+
+ , replaceArrow: function(delta, dimension, position){
+ this
+ .arrow()
+ .css(position, delta ? (50 * (1 - delta / dimension) + "%") : '')
}
, setContent: function () {
@@ -161,6 +215,10 @@
, hide: function () {
var that = this
, $tip = this.tip()
+ , e = $.Event('hide')
+
+ this.$element.trigger(e)
+ if (e.isDefaultPrevented()) return
$tip.removeClass('in')
@@ -179,13 +237,15 @@
removeWithAnimation() :
$tip.detach()
+ this.$element.trigger('hidden')
+
return this
}
, fixTitle: function () {
var $e = this.$element
if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
- $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
+ $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
}
}
@@ -193,11 +253,12 @@
return this.getTitle()
}
- , getPosition: function (inside) {
- return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {
- width: this.$element[0].offsetWidth
- , height: this.$element[0].offsetHeight
- })
+ , getPosition: function () {
+ var el = this.$element[0]
+ return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
+ width: el.offsetWidth
+ , height: el.offsetHeight
+ }, this.$element.offset())
}
, getTitle: function () {
@@ -215,6 +276,10 @@
return this.$tip = this.$tip || $(this.options.template)
}
+ , arrow: function(){
+ return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
+ }
+
, validate: function () {
if (!this.$element[0].parentNode) {
this.hide()
@@ -236,8 +301,8 @@
}
, toggle: function (e) {
- var self = $(e.currentTarget)[this.type](this._options).data(this.type)
- self[self.tip().hasClass('in') ? 'hide' : 'show']()
+ var self = e ? $(e.currentTarget)[this.type](this._options).data(this.type) : this
+ self.tip().hasClass('in') ? self.hide() : self.show()
}
, destroy: function () {
@@ -269,10 +334,11 @@
, placement: 'top'
, selector: false
, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
- , trigger: 'hover'
+ , trigger: 'hover focus'
, title: ''
, delay: 0
, html: false
+ , container: false
}
@@ -284,4 +350,4 @@
return this
}
-}(window.jQuery); \ No newline at end of file
+}(window.jQuery);
diff --git a/vendor/assets/javascripts/bootstrap-transition.js b/vendor/assets/javascripts/bootstrap-transition.js
index b0f12c26..64f27577 100644
--- a/vendor/assets/javascripts/bootstrap-transition.js
+++ b/vendor/assets/javascripts/bootstrap-transition.js
@@ -1,5 +1,5 @@
/* ===================================================
- * bootstrap-transition.js v2.2.2
+ * bootstrap-transition.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#transitions
* ===================================================
* Copyright 2012 Twitter, Inc.
diff --git a/vendor/assets/javascripts/bootstrap-typeahead.js b/vendor/assets/javascripts/bootstrap-typeahead.js
index 088e7ce9..960f2af8 100644
--- a/vendor/assets/javascripts/bootstrap-typeahead.js
+++ b/vendor/assets/javascripts/bootstrap-typeahead.js
@@ -1,5 +1,5 @@
/* =============================================================
- * bootstrap-typeahead.js v2.2.2
+ * bootstrap-typeahead.js v2.3.0
* http://twitter.github.com/bootstrap/javascript.html#typeahead
* =============================================================
* Copyright 2012 Twitter, Inc.
@@ -172,6 +172,7 @@
, listen: function () {
this.$element
+ .on('focus', $.proxy(this.focus, this))
.on('blur', $.proxy(this.blur, this))
.on('keypress', $.proxy(this.keypress, this))
.on('keyup', $.proxy(this.keyup, this))
@@ -183,6 +184,7 @@
this.$menu
.on('click', $.proxy(this.click, this))
.on('mouseenter', 'li', $.proxy(this.mouseenter, this))
+ .on('mouseleave', 'li', $.proxy(this.mouseleave, this))
}
, eventSupported: function(eventName) {
@@ -256,22 +258,33 @@
e.preventDefault()
}
+ , focus: function (e) {
+ this.focused = true
+ }
+
, blur: function (e) {
- var that = this
- setTimeout(function () { that.hide() }, 150)
+ this.focused = false
+ if (!this.mousedover && this.shown) this.hide()
}
, click: function (e) {
e.stopPropagation()
e.preventDefault()
this.select()
+ this.$element.focus()
}
, mouseenter: function (e) {
+ this.mousedover = true
this.$menu.find('.active').removeClass('active')
$(e.currentTarget).addClass('active')
}
+ , mouseleave: function (e) {
+ this.mousedover = false
+ if (!this.focused && this.shown) this.hide()
+ }
+
}
@@ -316,7 +329,6 @@
$(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
var $this = $(this)
if ($this.data('typeahead')) return
- e.preventDefault()
$this.typeahead($this.data())
})
diff --git a/vendor/assets/stylesheets/bootstrap/_button-groups.scss b/vendor/assets/stylesheets/bootstrap/_button-groups.scss
index 22aa0245..1b08d50f 100644
--- a/vendor/assets/stylesheets/bootstrap/_button-groups.scss
+++ b/vendor/assets/stylesheets/bootstrap/_button-groups.scss
@@ -164,8 +164,6 @@
margin-left: 0;
}
// Carets in other button sizes
-.btn-mini .caret,
-.btn-small .caret,
.btn-large .caret {
margin-top: 6px;
}
@@ -174,6 +172,10 @@
border-right-width: 5px;
border-top-width: 5px;
}
+.btn-mini .caret,
+.btn-small .caret {
+ margin-top: 8px;
+}
// Upside down carets for .dropup
.dropup .btn-large .caret {
border-bottom-width: 5px;
diff --git a/vendor/assets/stylesheets/bootstrap/_buttons.scss b/vendor/assets/stylesheets/bootstrap/_buttons.scss
index 90a86e27..a92268b5 100644
--- a/vendor/assets/stylesheets/bootstrap/_buttons.scss
+++ b/vendor/assets/stylesheets/bootstrap/_buttons.scss
@@ -25,13 +25,14 @@
@include ie7-restore-left-whitespace(); // Give IE7 some love
@include box-shadow(inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05));
- // Hover state
- &:hover {
+ // Hover/focus state
+ &:hover,
+ &:focus {
color: $grayDark;
text-decoration: none;
background-position: 0 -15px;
- // transition is only when going to hover, otherwise the background
+ // transition is only when going to hover/focus, otherwise the background
// behind the gradient (there for IE<=9 fallback) gets mismatched
@include transition(background-position .1s linear);
}
@@ -141,11 +142,6 @@ input[type="button"] {
// Set the backgrounds
// -------------------------
-.btn {
- // reset here as of 2.0.3 due to Recess property order
- border-color: #c5c5c5;
- border-color: rgba(0,0,0,.15) rgba(0,0,0,.15) rgba(0,0,0,.25);
-}
.btn-primary {
@include buttonBackground($btnPrimaryBackground, $btnPrimaryBackgroundHighlight);
}
@@ -219,12 +215,14 @@ input[type="submit"].btn {
color: $linkColor;
@include border-radius(0);
}
-.btn-link:hover {
+.btn-link:hover,
+.btn-link:focus {
color: $linkColorHover;
text-decoration: underline;
background-color: transparent;
}
-.btn-link[disabled]:hover {
+.btn-link[disabled]:hover,
+.btn-link[disabled]:focus {
color: $grayDark;
text-decoration: none;
}
diff --git a/vendor/assets/stylesheets/bootstrap/_carousel.scss b/vendor/assets/stylesheets/bootstrap/_carousel.scss
index f1fd64e7..22eaddb9 100644
--- a/vendor/assets/stylesheets/bootstrap/_carousel.scss
+++ b/vendor/assets/stylesheets/bootstrap/_carousel.scss
@@ -21,12 +21,13 @@
display: none;
position: relative;
@include transition(.6s ease-in-out left);
- }
// Account for jankitude on images
- > .item > img {
- display: block;
- line-height: 1;
+ > img,
+ > a > img {
+ display: block;
+ line-height: 1;
+ }
}
> .active,
@@ -97,14 +98,40 @@
right: 15px;
}
- // Hover state
- &:hover {
+ // Hover/focus state
+ &:hover,
+ &:focus {
color: $white;
text-decoration: none;
@include opacity(90);
}
}
+// Carousel indicator pips
+// -----------------------------
+.carousel-indicators {
+ position: absolute;
+ top: 15px;
+ right: 15px;
+ z-index: 5;
+ margin: 0;
+ list-style: none;
+
+ li {
+ display: block;
+ float: left;
+ width: 10px;
+ height: 10px;
+ margin-left: 5px;
+ text-indent: -999px;
+ background-color: #ccc;
+ background-color: rgba(255,255,255,.25);
+ border-radius: 5px;
+ }
+ .active {
+ background-color: #fff;
+ }
+}
// Caption for text below images
// -----------------------------
diff --git a/vendor/assets/stylesheets/bootstrap/_close.scss b/vendor/assets/stylesheets/bootstrap/_close.scss
index f5e7d1c8..ee14a6ba 100644
--- a/vendor/assets/stylesheets/bootstrap/_close.scss
+++ b/vendor/assets/stylesheets/bootstrap/_close.scss
@@ -11,7 +11,8 @@
color: $black;
text-shadow: 0 1px 0 rgba(255,255,255,1);
@include opacity(20);
- &:hover {
+ &:hover,
+ &:focus {
color: $black;
text-decoration: none;
cursor: pointer;
diff --git a/vendor/assets/stylesheets/bootstrap/_dropdowns.scss b/vendor/assets/stylesheets/bootstrap/_dropdowns.scss
index 975fa869..dbe1cb70 100644
--- a/vendor/assets/stylesheets/bootstrap/_dropdowns.scss
+++ b/vendor/assets/stylesheets/bootstrap/_dropdowns.scss
@@ -72,7 +72,7 @@
}
// Links within the dropdown menu
- li > a {
+ > li > a {
display: block;
padding: 3px 20px;
clear: both;
@@ -83,11 +83,12 @@
}
}
-// Hover state
+// Hover/Focus state
// -----------
-.dropdown-menu li > a:hover,
-.dropdown-menu li > a:focus,
-.dropdown-submenu:hover > a {
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus,
+.dropdown-submenu:hover > a,
+.dropdown-submenu:focus > a {
text-decoration: none;
color: $dropdownLinkColorHover;
@include gradient-vertical($dropdownLinkBackgroundHover, darken($dropdownLinkBackgroundHover, 5%));
@@ -95,8 +96,9 @@
// Active state
// ------------
-.dropdown-menu .active > a,
-.dropdown-menu .active > a:hover {
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
color: $dropdownLinkColorActive;
text-decoration: none;
outline: 0;
@@ -105,13 +107,15 @@
// Disabled state
// --------------
-// Gray out text and ensure the hover state remains gray
-.dropdown-menu .disabled > a,
-.dropdown-menu .disabled > a:hover {
+// Gray out text and ensure the hover/focus state remains gray
+.dropdown-menu > .disabled > a,
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
color: $grayLight;
}
-// Nuke hover effects
-.dropdown-menu .disabled > a:hover {
+// Nuke hover/focus effects
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
text-decoration: none;
background-color: transparent;
background-image: none; // Remove CSS gradient
diff --git a/vendor/assets/stylesheets/bootstrap/_forms.scss b/vendor/assets/stylesheets/bootstrap/_forms.scss
index b371c522..6b05636c 100644
--- a/vendor/assets/stylesheets/bootstrap/_forms.scss
+++ b/vendor/assets/stylesheets/bootstrap/_forms.scss
@@ -421,7 +421,9 @@ select:focus:invalid {
// Allow us to put symbols and text within the input field for a cleaner look
.input-append,
.input-prepend {
- margin-bottom: 5px;
+ display: inline-block;
+ margin-bottom: $baseLineHeight / 2;
+ vertical-align: middle;
font-size: 0; // white space collapse hack
white-space: nowrap; // Prevent span and input from separating
@@ -429,7 +431,8 @@ select:focus:invalid {
input,
select,
.uneditable-input,
- .dropdown-menu {
+ .dropdown-menu,
+ .popover {
font-size: $baseFontSize;
}
diff --git a/vendor/assets/stylesheets/bootstrap/_labels-badges.scss b/vendor/assets/stylesheets/bootstrap/_labels-badges.scss
index e459be73..8f17e58a 100644
--- a/vendor/assets/stylesheets/bootstrap/_labels-badges.scss
+++ b/vendor/assets/stylesheets/bootstrap/_labels-badges.scss
@@ -35,10 +35,12 @@
}
}
-// Hover state, but only for links
+// Hover/focus state, but only for links
a {
&.label:hover,
- &.badge:hover {
+ &.label:focus,
+ &.badge:hover,
+ &.badge:focus {
color: $white;
text-decoration: none;
cursor: pointer;
diff --git a/vendor/assets/stylesheets/bootstrap/_media.scss b/vendor/assets/stylesheets/bootstrap/_media.scss
index 1decab71..e461e446 100644
--- a/vendor/assets/stylesheets/bootstrap/_media.scss
+++ b/vendor/assets/stylesheets/bootstrap/_media.scss
@@ -37,10 +37,10 @@
// Media image alignment
// -------------------------
-.media .pull-left {
+.media > .pull-left {
margin-right: 10px;
}
-.media .pull-right {
+.media > .pull-right {
margin-left: 10px;
}
diff --git a/vendor/assets/stylesheets/bootstrap/_mixins.scss b/vendor/assets/stylesheets/bootstrap/_mixins.scss
index 998c1cb9..a3ccb1d1 100644
--- a/vendor/assets/stylesheets/bootstrap/_mixins.scss
+++ b/vendor/assets/stylesheets/bootstrap/_mixins.scss
@@ -263,6 +263,12 @@
-o-transition-delay: $transition-delay;
transition-delay: $transition-delay;
}
+@mixin transition-duration($transition-duration) {
+ -webkit-transition-duration: $transition-duration;
+ -moz-transition-duration: $transition-duration;
+ -o-transition-duration: $transition-duration;
+ transition-duration: $transition-duration;
+}
// Transformations
@mixin rotate($degrees) {
diff --git a/vendor/assets/stylesheets/bootstrap/_modals.scss b/vendor/assets/stylesheets/bootstrap/_modals.scss
index bb1e24eb..749baa6a 100644
--- a/vendor/assets/stylesheets/bootstrap/_modals.scss
+++ b/vendor/assets/stylesheets/bootstrap/_modals.scss
@@ -23,11 +23,11 @@
// Base modal
.modal {
position: fixed;
- top: 50%;
+ top: 10%;
left: 50%;
z-index: $zindexModal;
width: 560px;
- margin: -250px 0 0 -280px;
+ margin-left: -280px;
background-color: $white;
border: 1px solid #999;
border: 1px solid rgba(0,0,0,.3);
@@ -42,7 +42,7 @@
@include transition(opacity .3s linear, top .3s ease-out);
top: -25%;
}
- &.fade.in { top: 50%; }
+ &.fade.in { top: 10%; }
}
.modal-header {
padding: 9px 15px;
diff --git a/vendor/assets/stylesheets/bootstrap/_navbar.scss b/vendor/assets/stylesheets/bootstrap/_navbar.scss
index 22086428..a65aa4ab 100644
--- a/vendor/assets/stylesheets/bootstrap/_navbar.scss
+++ b/vendor/assets/stylesheets/bootstrap/_navbar.scss
@@ -56,7 +56,8 @@
font-weight: 200;
color: $navbarBrandColor;
text-shadow: 0 1px 0 $navbarBackgroundHighlight;
- &:hover {
+ &:hover,
+ &:focus {
text-decoration: none;
}
}
@@ -73,7 +74,8 @@
// -------------------------
.navbar-link {
color: $navbarLinkColor;
- &:hover {
+ &:hover,
+ &:focus {
color: $navbarLinkColorHover;
}
}
@@ -95,7 +97,9 @@
}
.navbar .btn-group .btn,
.navbar .input-prepend .btn,
-.navbar .input-append .btn {
+.navbar .input-append .btn,
+.navbar .input-prepend .btn-group,
+.navbar .input-append .btn-group {
margin-top: 0; // then undo the margin here so we don't accidentally double it
}
@@ -245,13 +249,12 @@
}
.navbar .nav .dropdown-toggle .caret {
margin-top: 8px;
-
}
-// Hover
+// Hover/focus
.navbar .nav > li > a:focus,
.navbar .nav > li > a:hover {
- background-color: $navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover from .active
+ background-color: $navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover/:focus from .active
color: $navbarLinkColorHover;
text-decoration: none;
}
@@ -335,8 +338,9 @@
}
}
-// Caret should match text color on hover
-.navbar .nav li.dropdown > a:hover .caret {
+// Caret should match text color on hover/focus
+.navbar .nav li.dropdown > a:hover .caret,
+.navbar .nav li.dropdown > a:focus .caret {
border-top-color: $navbarLinkColorActive;
border-bottom-color: $navbarLinkColorActive;
}
@@ -396,7 +400,8 @@
.nav > li > a {
color: $navbarInverseLinkColor;
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
- &:hover {
+ &:hover,
+ &:focus {
color: $navbarInverseLinkColorHover;
}
}
@@ -425,7 +430,8 @@
// Inline text links
.navbar-link {
color: $navbarInverseLinkColor;
- &:hover {
+ &:hover,
+ &:focus {
color: $navbarInverseLinkColorHover;
}
}
@@ -443,7 +449,8 @@
background-color: $navbarInverseLinkBackgroundActive;
color: $navbarInverseLinkColorActive;
}
- .nav li.dropdown > a:hover .caret {
+ .nav li.dropdown > a:hover .caret,
+ .nav li.dropdown > a:focus .caret {
border-top-color: $navbarInverseLinkColorActive;
color: $navbarInverseLinkColorActive;
}
diff --git a/vendor/assets/stylesheets/bootstrap/_navs.scss b/vendor/assets/stylesheets/bootstrap/_navs.scss
index 3ea1504a..31c4451d 100644
--- a/vendor/assets/stylesheets/bootstrap/_navs.scss
+++ b/vendor/assets/stylesheets/bootstrap/_navs.scss
@@ -16,7 +16,8 @@
.nav > li > a {
display: block;
}
-.nav > li > a:hover {
+.nav > li > a:hover,
+.nav > li > a:focus {
text-decoration: none;
background-color: $grayLighter;
}
@@ -68,7 +69,8 @@
padding: 3px 15px;
}
.nav-list > .active > a,
-.nav-list > .active > a:hover {
+.nav-list > .active > a:hover,
+.nav-list > .active > a:focus {
color: $white;
text-shadow: 0 -1px 0 rgba(0,0,0,.2);
background-color: $linkColor;
@@ -122,13 +124,15 @@
line-height: $baseLineHeight;
border: 1px solid transparent;
@include border-radius(4px 4px 0 0);
- &:hover {
+ &:hover,
+ &:focus {
border-color: $grayLighter $grayLighter #ddd;
}
}
-// Active state, and it's :hover to override normal :hover
+// Active state, and it's :hover/:focus to override normal :hover/:focus
.nav-tabs > .active > a,
-.nav-tabs > .active > a:hover {
+.nav-tabs > .active > a:hover,
+.nav-tabs > .active > a:focus {
color: $gray;
background-color: $bodyBackground;
border: 1px solid #ddd;
@@ -151,7 +155,8 @@
// Active state
.nav-pills > .active > a,
-.nav-pills > .active > a:hover {
+.nav-pills > .active > a:hover,
+.nav-pills > .active > a:focus {
color: $white;
background-color: $linkColor;
}
@@ -183,7 +188,8 @@
.nav-tabs.nav-stacked > li:last-child > a {
@include border-bottom-radius(4px);
}
-.nav-tabs.nav-stacked > li > a:hover {
+.nav-tabs.nav-stacked > li > a:hover,
+.nav-tabs.nav-stacked > li > a:focus {
border-color: #ddd;
z-index: 2;
}
@@ -216,7 +222,8 @@
border-bottom-color: $linkColor;
margin-top: 6px;
}
-.nav .dropdown-toggle:hover .caret {
+.nav .dropdown-toggle:hover .caret,
+.nav .dropdown-toggle:focus .caret {
border-top-color: $linkColorHover;
border-bottom-color: $linkColorHover;
}
@@ -236,9 +243,10 @@
border-bottom-color: $gray;
}
-// Active:hover dropdown links
+// Active:hover/:focus dropdown links
// -------------------------
-.nav > .dropdown.active > a:hover {
+.nav > .dropdown.active > a:hover,
+.nav > .dropdown.active > a:focus {
cursor: pointer;
}
@@ -246,21 +254,24 @@
// -------------------------
.nav-tabs .open .dropdown-toggle,
.nav-pills .open .dropdown-toggle,
-.nav > li.dropdown.open.active > a:hover {
+.nav > li.dropdown.open.active > a:hover,
+.nav > li.dropdown.open.active > a:focus {
color: $white;
background-color: $grayLight;
border-color: $grayLight;
}
.nav li.dropdown.open .caret,
.nav li.dropdown.open.active .caret,
-.nav li.dropdown.open a:hover .caret {
+.nav li.dropdown.open a:hover .caret,
+.nav li.dropdown.open a:focus .caret {
border-top-color: $white;
border-bottom-color: $white;
@include opacity(100);
}
// Dropdowns in stacked tabs
-.tabs-stacked .open > a:hover {
+.tabs-stacked .open > a:hover,
+.tabs-stacked .open > a:focus {
border-color: $grayLight;
}
@@ -311,13 +322,15 @@
}
.tabs-below > .nav-tabs > li > a {
@include border-radius(0 0 4px 4px);
- &:hover {
+ &:hover,
+ &:focus {
border-bottom-color: transparent;
border-top-color: #ddd;
}
}
.tabs-below > .nav-tabs > .active > a,
-.tabs-below > .nav-tabs > .active > a:hover {
+.tabs-below > .nav-tabs > .active > a:hover,
+.tabs-below > .nav-tabs > .active > a:focus {
border-color: transparent #ddd #ddd #ddd;
}
@@ -346,11 +359,13 @@
margin-right: -1px;
@include border-radius(4px 0 0 4px);
}
-.tabs-left > .nav-tabs > li > a:hover {
+.tabs-left > .nav-tabs > li > a:hover,
+.tabs-left > .nav-tabs > li > a:focus {
border-color: $grayLighter #ddd $grayLighter $grayLighter;
}
.tabs-left > .nav-tabs .active > a,
-.tabs-left > .nav-tabs .active > a:hover {
+.tabs-left > .nav-tabs .active > a:hover,
+.tabs-left > .nav-tabs .active > a:focus {
border-color: #ddd transparent #ddd #ddd;
*border-right-color: $white;
}
@@ -365,11 +380,13 @@
margin-left: -1px;
@include border-radius(0 4px 4px 0);
}
-.tabs-right > .nav-tabs > li > a:hover {
+.tabs-right > .nav-tabs > li > a:hover,
+.tabs-right > .nav-tabs > li > a:focus {
border-color: $grayLighter $grayLighter $grayLighter #ddd;
}
.tabs-right > .nav-tabs .active > a,
-.tabs-right > .nav-tabs .active > a:hover {
+.tabs-right > .nav-tabs .active > a:hover,
+.tabs-right > .nav-tabs .active > a:focus {
border-color: #ddd #ddd #ddd transparent;
*border-left-color: $white;
}
@@ -383,8 +400,9 @@
.nav > .disabled > a {
color: $grayLight;
}
-// Nuke hover effects
-.nav > .disabled > a:hover {
+// Nuke hover/focus effects
+.nav > .disabled > a:hover,
+.nav > .disabled > a:focus {
text-decoration: none;
background-color: transparent;
cursor: default;
diff --git a/vendor/assets/stylesheets/bootstrap/_pager.scss b/vendor/assets/stylesheets/bootstrap/_pager.scss
index 7df3e080..46df08f7 100644
--- a/vendor/assets/stylesheets/bootstrap/_pager.scss
+++ b/vendor/assets/stylesheets/bootstrap/_pager.scss
@@ -20,7 +20,8 @@
border: 1px solid #ddd;
@include border-radius(15px);
}
-.pager li > a:hover {
+.pager li > a:hover,
+.pager li > a:focus {
text-decoration: none;
background-color: #f5f5f5;
}
@@ -34,6 +35,7 @@
}
.pager .disabled > a,
.pager .disabled > a:hover,
+.pager .disabled > a:focus,
.pager .disabled > span {
color: $grayLight;
background-color: #fff;
diff --git a/vendor/assets/stylesheets/bootstrap/_pagination.scss b/vendor/assets/stylesheets/bootstrap/_pagination.scss
index 36777565..8ab33baf 100644
--- a/vendor/assets/stylesheets/bootstrap/_pagination.scss
+++ b/vendor/assets/stylesheets/bootstrap/_pagination.scss
@@ -32,6 +32,7 @@
border-left-width: 0;
}
.pagination ul > li > a:hover,
+.pagination ul > li > a:focus,
.pagination ul > .active > a,
.pagination ul > .active > span {
background-color: $paginationActiveBackground;
@@ -43,7 +44,8 @@
}
.pagination ul > .disabled > span,
.pagination ul > .disabled > a,
-.pagination ul > .disabled > a:hover {
+.pagination ul > .disabled > a:hover,
+.pagination ul > .disabled > a:focus {
color: $grayLight;
background-color: transparent;
cursor: default;
diff --git a/vendor/assets/stylesheets/bootstrap/_popovers.scss b/vendor/assets/stylesheets/bootstrap/_popovers.scss
index 635fcdd2..18a1ca0c 100644
--- a/vendor/assets/stylesheets/bootstrap/_popovers.scss
+++ b/vendor/assets/stylesheets/bootstrap/_popovers.scss
@@ -9,7 +9,7 @@
left: 0;
z-index: $zindexPopover;
display: none;
- width: 236px;
+ max-width: 276px;
padding: 1px;
text-align: left; // Reset given new insertion method
background-color: $popoverBackground;
@@ -40,6 +40,10 @@
background-color: $popoverTitleBackground;
border-bottom: 1px solid darken($popoverTitleBackground, 5%);
@include border-radius(5px 5px 0 0);
+
+ &:empty {
+ display: none;
+ }
}
.popover-content {
diff --git a/vendor/assets/stylesheets/bootstrap/_responsive-navbar.scss b/vendor/assets/stylesheets/bootstrap/_responsive-navbar.scss
index ef5d50e6..9898a16e 100644
--- a/vendor/assets/stylesheets/bootstrap/_responsive-navbar.scss
+++ b/vendor/assets/stylesheets/bootstrap/_responsive-navbar.scss
@@ -81,7 +81,9 @@
margin-bottom: 2px;
}
.nav-collapse .nav > li > a:hover,
- .nav-collapse .dropdown-menu a:hover {
+ .nav-collapse .nav > li > a:focus,
+ .nav-collapse .dropdown-menu a:hover,
+ .nav-collapse .dropdown-menu a:focus {
background-color: $navbarBackground;
}
.navbar-inverse .nav-collapse .nav > li > a,
@@ -89,7 +91,9 @@
color: $navbarInverseLinkColor;
}
.navbar-inverse .nav-collapse .nav > li > a:hover,
- .navbar-inverse .nav-collapse .dropdown-menu a:hover {
+ .navbar-inverse .nav-collapse .nav > li > a:focus,
+ .navbar-inverse .nav-collapse .dropdown-menu a:hover,
+ .navbar-inverse .nav-collapse .dropdown-menu a:focus {
background-color: $navbarInverseBackground;
}
// Buttons in the navbar
diff --git a/vendor/assets/stylesheets/bootstrap/_responsive-utilities.scss b/vendor/assets/stylesheets/bootstrap/_responsive-utilities.scss
index f77e6d9f..689b2650 100644
--- a/vendor/assets/stylesheets/bootstrap/_responsive-utilities.scss
+++ b/vendor/assets/stylesheets/bootstrap/_responsive-utilities.scss
@@ -3,19 +3,11 @@
// --------------------------------------------------
-// Clearing floats
-.clearfix {
- @include clearfix();
-}
-
-// Accessible yet invisible text
-.hide-text {
- @include hide-text();
-}
-
-// Uses box-sizing mixin, so must be defined here
-.input-block-level {
- @include input-block-level();
+// 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;
}
// Hide from screenreaders and browsers
@@ -56,3 +48,27 @@
// Hide
.hidden-phone { display: none !important; }
}
+
+// Print utilities
+.visible-print { display: none !important; }
+.hidden-print { }
+
+@media print {
+ .visible-print { display: inherit !important; }
+ .hidden-print { display: none !important; }
+}
+
+// Clearing floats
+.clearfix {
+ @include clearfix();
+}
+
+// Accessible yet invisible text
+.hide-text {
+ @include hide-text();
+}
+
+// Uses box-sizing mixin, so must be defined here
+.input-block-level {
+ @include input-block-level();
+}
diff --git a/vendor/assets/stylesheets/bootstrap/_scaffolding.scss b/vendor/assets/stylesheets/bootstrap/_scaffolding.scss
index cb6682a8..23d4a00f 100644
--- a/vendor/assets/stylesheets/bootstrap/_scaffolding.scss
+++ b/vendor/assets/stylesheets/bootstrap/_scaffolding.scss
@@ -23,7 +23,8 @@ a {
color: $linkColor;
text-decoration: none;
}
-a:hover {
+a:hover,
+a:focus {
color: $linkColorHover;
text-decoration: underline;
}
diff --git a/vendor/assets/stylesheets/bootstrap/_sprites.scss b/vendor/assets/stylesheets/bootstrap/_sprites.scss
index 99a8b8b0..a64472dc 100644
--- a/vendor/assets/stylesheets/bootstrap/_sprites.scss
+++ b/vendor/assets/stylesheets/bootstrap/_sprites.scss
@@ -28,7 +28,7 @@
margin-top: 1px;
}
-/* White icons with optional class, or on hover/active states of certain elements */
+/* White icons with optional class, or on hover/focus/active states of certain elements */
.icon-white,
.nav-pills > .active > a > [class^="icon-"],
.nav-pills > .active > a > [class*=" icon-"],
@@ -37,11 +37,15 @@
.navbar-inverse .nav > .active > a > [class^="icon-"],
.navbar-inverse .nav > .active > a > [class*=" icon-"],
.dropdown-menu > li > a:hover > [class^="icon-"],
+.dropdown-menu > li > a:focus > [class^="icon-"],
.dropdown-menu > li > a:hover > [class*=" icon-"],
+.dropdown-menu > li > a:focus > [class*=" icon-"],
.dropdown-menu > .active > a > [class^="icon-"],
.dropdown-menu > .active > a > [class*=" icon-"],
.dropdown-submenu:hover > a > [class^="icon-"],
-.dropdown-submenu:hover > a > [class*=" icon-"] {
+.dropdown-submenu:focus > a > [class^="icon-"],
+.dropdown-submenu:hover > a > [class*=" icon-"],
+.dropdown-submenu:focus > a > [class*=" icon-"] {
background-image: url($iconWhiteSpritePath);
}
@@ -166,7 +170,7 @@
.icon-chevron-down { background-position: -313px -119px; } // 1px, 1px off
.icon-retweet { background-position: -336px -120px; }
.icon-shopping-cart { background-position: -360px -120px; }
-.icon-folder-close { background-position: -384px -120px; }
+.icon-folder-close { background-position: -384px -120px; width: 16px; }
.icon-folder-open { background-position: -408px -120px; width: 16px; }
.icon-resize-vertical { background-position: -432px -119px; } // 1px, 1px off
.icon-resize-horizontal { background-position: -456px -118px; } // 1px, 2px off
diff --git a/vendor/assets/stylesheets/bootstrap/_tables.scss b/vendor/assets/stylesheets/bootstrap/_tables.scss
index 21ad7926..3db661e9 100644
--- a/vendor/assets/stylesheets/bootstrap/_tables.scss
+++ b/vendor/assets/stylesheets/bootstrap/_tables.scss
@@ -93,24 +93,32 @@ table {
tbody:first-child tr:first-child td {
border-top: 0;
}
- // For first th or td in the first row in the first thead or tbody
+ // For first th/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 {
+ tbody:first-child tr:first-child > td:first-child,
+ tbody:first-child tr:first-child > th:first-child {
@include border-top-left-radius($baseBorderRadius);
}
+ // For last th/td in the first row in the first thead or tbody
thead:first-child tr:first-child > th:last-child,
- tbody:first-child tr:first-child > td:last-child {
+ tbody:first-child tr:first-child > td:last-child,
+ tbody:first-child tr:first-child > th:last-child {
@include border-top-right-radius($baseBorderRadius);
}
- // For first th or td in the last row in the last thead or tbody
+ // For first th/td (can be either) in the last row in the last thead, tbody, and tfoot
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 {
+ tbody:last-child tr:last-child > th:first-child,
+ tfoot:last-child tr:last-child > td:first-child,
+ tfoot:last-child tr:last-child > th:first-child {
@include border-bottom-left-radius($baseBorderRadius);
}
+ // For last th/td (can be either) in the last row in the last thead, tbody, and tfoot
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 {
+ tbody:last-child tr:last-child > th:last-child,
+ tfoot:last-child tr:last-child > td:last-child,
+ tfoot:last-child tr:last-child > th:last-child {
@include border-bottom-right-radius($baseBorderRadius);
}
@@ -122,7 +130,6 @@ table {
@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,
@@ -161,8 +168,8 @@ table {
// Placed here since it has to come after the potential zebra striping
.table-hover {
tbody {
- tr:hover td,
- tr:hover th {
+ tr:hover > td,
+ tr:hover > th {
background-color: $tableBackgroundHover;
}
}
@@ -197,32 +204,32 @@ table th[class*="span"],
// Exact selectors below required to override .table-striped
.table tbody tr {
- &.success td {
+ &.success > td {
background-color: $successBackground;
}
- &.error td {
+ &.error > td {
background-color: $errorBackground;
}
- &.warning td {
+ &.warning > td {
background-color: $warningBackground;
}
- &.info td {
+ &.info > td {
background-color: $infoBackground;
}
}
// Hover states for .table-hover
.table-hover tbody tr {
- &.success:hover td {
+ &.success:hover > td {
background-color: darken($successBackground, 5%);
}
- &.error:hover td {
+ &.error:hover > td {
background-color: darken($errorBackground, 5%);
}
- &.warning:hover td {
+ &.warning:hover > td {
background-color: darken($warningBackground, 5%);
}
- &.info:hover td {
+ &.info:hover > td {
background-color: darken($infoBackground, 5%);
}
}
diff --git a/vendor/assets/stylesheets/bootstrap/_thumbnails.scss b/vendor/assets/stylesheets/bootstrap/_thumbnails.scss
index 29b6e410..6333d533 100644
--- a/vendor/assets/stylesheets/bootstrap/_thumbnails.scss
+++ b/vendor/assets/stylesheets/bootstrap/_thumbnails.scss
@@ -33,8 +33,9 @@
@include box-shadow(0 1px 3px rgba(0,0,0,.055));
@include transition(all .2s ease-in-out);
}
-// Add a hover state for linked versions only
-a.thumbnail:hover {
+// Add a hover/focus state for linked versions only
+a.thumbnail:hover,
+a.thumbnail:focus {
border-color: $linkColor;
@include box-shadow(0 1px 4px rgba(0,105,214,.25));
}
diff --git a/vendor/assets/stylesheets/bootstrap/_tooltip.scss b/vendor/assets/stylesheets/bootstrap/_tooltip.scss
index 5a9a935b..af2d64cb 100644
--- a/vendor/assets/stylesheets/bootstrap/_tooltip.scss
+++ b/vendor/assets/stylesheets/bootstrap/_tooltip.scss
@@ -9,20 +9,20 @@
z-index: $zindexTooltip;
display: block;
visibility: visible;
- padding: 5px;
font-size: 11px;
+ line-height: 1.4;
@include opacity(0);
&.in { @include opacity(80); }
- &.top { margin-top: -3px; }
- &.right { margin-left: 3px; }
- &.bottom { margin-top: 3px; }
- &.left { margin-left: -3px; }
+ &.top { margin-top: -3px; padding: 5px 0; }
+ &.right { margin-left: 3px; padding: 0 5px; }
+ &.bottom { margin-top: 3px; padding: 5px 0; }
+ &.left { margin-left: -3px; padding: 0 5px; }
}
// Wrapper for the tooltip content
.tooltip-inner {
max-width: 200px;
- padding: 3px 8px;
+ padding: 8px;
color: $tooltipColor;
text-align: center;
text-decoration: none;
diff --git a/vendor/assets/stylesheets/bootstrap/_type.scss b/vendor/assets/stylesheets/bootstrap/_type.scss
index f659f417..f68e7ba2 100644
--- a/vendor/assets/stylesheets/bootstrap/_type.scss
+++ b/vendor/assets/stylesheets/bootstrap/_type.scss
@@ -11,7 +11,7 @@ p {
}
.lead {
margin-bottom: $baseLineHeight;
- font-size: $baseFontSize * 1.5;;
+ font-size: $baseFontSize * 1.5;
font-weight: 200;
line-height: $baseLineHeight * 1.5;
}
@@ -29,19 +29,28 @@ cite { font-style: normal; }
// Utility classes
.muted { color: $grayLight; }
-a.muted:hover { color: darken($grayLight, 10%); }
+a.muted:hover,
+a.muted:focus { color: darken($grayLight, 10%); }
.text-warning { color: $warningText; }
-a.text-warning:hover { color: darken($warningText, 10%); }
+a.text-warning:hover,
+a.text-warning:focus { color: darken($warningText, 10%); }
.text-error { color: $errorText; }
-a.text-error:hover { color: darken($errorText, 10%); }
+a.text-error:hover,
+a.text-error:focus { color: darken($errorText, 10%); }
.text-info { color: $infoText; }
-a.text-info:hover { color: darken($infoText, 10%); }
+a.text-info:hover,
+a.text-info:focus { color: darken($infoText, 10%); }
.text-success { color: $successText; }
-a.text-success:hover { color: darken($successText, 10%); }
+a.text-success:hover,
+a.text-success:focus { color: darken($successText, 10%); }
+
+.text-left { text-align: left; }
+.text-right { text-align: right; }
+.text-center { text-align: center; }
// Headings
@@ -119,8 +128,9 @@ ul.inline,
ol.inline {
margin-left: 0;
list-style: none;
- & > li {
+ > li {
display: inline-block;
+ @include ie7-inline-block();
padding-left: 5px;
padding-right: 5px;
}
@@ -185,7 +195,9 @@ blockquote {
border-left: 5px solid $grayLighter;
p {
margin-bottom: 0;
- @include font-shorthand(16px,300,$baseLineHeight * 1.25);
+ font-size: $baseFontSize * 1.25;
+ font-weight: 300;
+ line-height: 1.25;
}
small {
display: block;
diff --git a/vendor/assets/stylesheets/bootstrap/_variables.scss b/vendor/assets/stylesheets/bootstrap/_variables.scss
index 32b97619..eebdc56f 100644
--- a/vendor/assets/stylesheets/bootstrap/_variables.scss
+++ b/vendor/assets/stylesheets/bootstrap/_variables.scss
@@ -86,7 +86,7 @@ $tableBorder: #ddd !default; // table and cell border
// -------------------------
$btnBackground: $white !default;
$btnBackgroundHighlight: darken($white, 10%) !default;
-$btnBorder: #bbb !default;
+$btnBorder: #ccc !default;
$btnPrimaryBackground: $linkColor !default;
$btnPrimaryBackgroundHighlight: adjust-hue($btnPrimaryBackground, 20%) !default;
diff --git a/vendor/assets/stylesheets/bootstrap/bootstrap.scss b/vendor/assets/stylesheets/bootstrap/bootstrap.scss
index 62efb1e2..c0f66d71 100644
--- a/vendor/assets/stylesheets/bootstrap/bootstrap.scss
+++ b/vendor/assets/stylesheets/bootstrap/bootstrap.scss
@@ -1,5 +1,5 @@
/*!
- * Bootstrap v2.2.2
+ * Bootstrap v2.3.0
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
diff --git a/vendor/assets/stylesheets/bootstrap/responsive.scss b/vendor/assets/stylesheets/bootstrap/responsive.scss
index 9b9bca4b..ae45910d 100644
--- a/vendor/assets/stylesheets/bootstrap/responsive.scss
+++ b/vendor/assets/stylesheets/bootstrap/responsive.scss
@@ -1,5 +1,5 @@
/*!
- * Bootstrap Responsive v2.2.2
+ * Bootstrap Responsive v2.3.0
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
@@ -14,15 +14,6 @@
// -------------------------------------------------------------
-// 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