diff --git a/app/assets/javascripts/twitter/bootstrap/affix.js b/app/assets/javascripts/twitter/bootstrap/affix.js index 552bffa3..05c909e1 100755 --- a/app/assets/javascripts/twitter/bootstrap/affix.js +++ b/app/assets/javascripts/twitter/bootstrap/affix.js @@ -1,24 +1,14 @@ /* ======================================================================== - * Bootstrap: affix.js v3.0.3 + * Bootstrap: affix.js v3.1.1 * http://getbootstrap.com/javascript/#affix * ======================================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ -+function ($) { "use strict"; ++function ($) { + 'use strict'; // AFFIX CLASS DEFINITION // ====================== @@ -29,9 +19,10 @@ .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) - this.$element = $(element) - this.affixed = - this.unpin = null + this.$element = $(element) + this.affixed = + this.unpin = + this.pinnedOffset = null this.checkPosition() } @@ -42,6 +33,14 @@ offset: 0 } + Affix.prototype.getPinnedOffset = function () { + if (this.pinnedOffset) return this.pinnedOffset + this.$element.removeClass(Affix.RESET).addClass('affix') + var scrollTop = this.$window.scrollTop() + var position = this.$element.offset() + return (this.pinnedOffset = position.top - scrollTop) + } + Affix.prototype.checkPositionWithEventLoop = function () { setTimeout($.proxy(this.checkPosition, this), 1) } @@ -56,9 +55,11 @@ var offsetTop = offset.top var offsetBottom = offset.bottom + if (this.affixed == 'top') position.top += scrollTop + if (typeof offset != 'object') offsetBottom = offsetTop = offset - if (typeof offsetTop == 'function') offsetTop = offset.top() - if (typeof offsetBottom == 'function') offsetBottom = offset.bottom() + if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) + if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element) var affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? false : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? 'bottom' : @@ -67,13 +68,23 @@ if (this.affixed === affix) return if (this.unpin) this.$element.css('top', '') + var affixType = 'affix' + (affix ? '-' + affix : '') + var e = $.Event(affixType + '.bs.affix') + + this.$element.trigger(e) + + if (e.isDefaultPrevented()) return + this.affixed = affix - this.unpin = affix == 'bottom' ? position.top - scrollTop : null + this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null - this.$element.removeClass(Affix.RESET).addClass('affix' + (affix ? '-' + affix : '')) + this.$element + .removeClass(Affix.RESET) + .addClass(affixType) + .trigger($.Event(affixType.replace('affix', 'affixed'))) if (affix == 'bottom') { - this.$element.offset({ top: document.body.offsetHeight - offsetBottom - this.$element.height() }) + this.$element.offset({ top: scrollHeight - offsetBottom - this.$element.height() }) } } diff --git a/app/assets/javascripts/twitter/bootstrap/alert.js b/app/assets/javascripts/twitter/bootstrap/alert.js index 695ad74d..516fe4ff 100755 --- a/app/assets/javascripts/twitter/bootstrap/alert.js +++ b/app/assets/javascripts/twitter/bootstrap/alert.js @@ -1,24 +1,14 @@ /* ======================================================================== - * Bootstrap: alert.js v3.0.3 + * Bootstrap: alert.js v3.1.1 * http://getbootstrap.com/javascript/#alerts * ======================================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ -+function ($) { "use strict"; ++function ($) { + 'use strict'; // ALERT CLASS DEFINITION // ====================== diff --git a/app/assets/javascripts/twitter/bootstrap/button.js b/app/assets/javascripts/twitter/bootstrap/button.js index c9fdde5e..f4d8d8b3 100755 --- a/app/assets/javascripts/twitter/bootstrap/button.js +++ b/app/assets/javascripts/twitter/bootstrap/button.js @@ -1,31 +1,22 @@ /* ======================================================================== - * Bootstrap: button.js v3.0.3 + * Bootstrap: button.js v3.1.1 * http://getbootstrap.com/javascript/#buttons * ======================================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ -+function ($) { "use strict"; ++function ($) { + 'use strict'; // BUTTON PUBLIC CLASS DEFINITION // ============================== var Button = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, Button.DEFAULTS, options) + this.$element = $(element) + this.options = $.extend({}, Button.DEFAULTS, options) + this.isLoading = false } Button.DEFAULTS = { @@ -45,25 +36,26 @@ $el[val](data[state] || this.options[state]) // push to event loop to allow forms to submit - setTimeout(function () { - state == 'loadingText' ? - $el.addClass(d).attr(d, d) : - $el.removeClass(d).removeAttr(d); - }, 0) + setTimeout($.proxy(function () { + if (state == 'loadingText') { + this.isLoading = true + $el.addClass(d).attr(d, d) + } else if (this.isLoading) { + this.isLoading = false + $el.removeClass(d).removeAttr(d) + } + }, this), 0) } Button.prototype.toggle = function () { - var $parent = this.$element.closest('[data-toggle="buttons"]') var changed = true + var $parent = this.$element.closest('[data-toggle="buttons"]') if ($parent.length) { var $input = this.$element.find('input') - if ($input.prop('type') === 'radio') { - // see if clicking on current one - if ($input.prop('checked') && this.$element.hasClass('active')) - changed = false - else - $parent.find('.active').removeClass('active') + if ($input.prop('type') == 'radio') { + if ($input.prop('checked') && this.$element.hasClass('active')) changed = false + else $parent.find('.active').removeClass('active') } if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change') } diff --git a/app/assets/javascripts/twitter/bootstrap/carousel.js b/app/assets/javascripts/twitter/bootstrap/carousel.js index 6391a36d..19e9af1e 100755 --- a/app/assets/javascripts/twitter/bootstrap/carousel.js +++ b/app/assets/javascripts/twitter/bootstrap/carousel.js @@ -1,24 +1,14 @@ /* ======================================================================== - * Bootstrap: carousel.js v3.0.3 + * Bootstrap: carousel.js v3.1.1 * http://getbootstrap.com/javascript/#carousel * ======================================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ -+function ($) { "use strict"; ++function ($) { + 'use strict'; // CAROUSEL CLASS DEFINITION // ========================= @@ -39,9 +29,9 @@ } Carousel.DEFAULTS = { - interval: 5000 - , pause: 'hover' - , wrap: true + interval: 5000, + pause: 'hover', + wrap: true } Carousel.prototype.cycle = function (e) { @@ -78,7 +68,7 @@ Carousel.prototype.pause = function (e) { e || (this.paused = true) - if (this.$element.find('.next, .prev').length && $.support.transition.end) { + if (this.$element.find('.next, .prev').length && $.support.transition) { this.$element.trigger($.support.transition.end) this.cycle(true) } @@ -111,13 +101,15 @@ $next = this.$element.find('.item')[fallback]() } - this.sliding = true - - isCycling && this.pause() + if ($next.hasClass('active')) return this.sliding = false var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction }) + this.$element.trigger(e) + if (e.isDefaultPrevented()) return - if ($next.hasClass('active')) return + this.sliding = true + + isCycling && this.pause() if (this.$indicators.length) { this.$indicators.find('.active').removeClass('active') @@ -128,8 +120,6 @@ } if ($.support.transition && this.$element.hasClass('slide')) { - this.$element.trigger(e) - if (e.isDefaultPrevented()) return $next.addClass(type) $next[0].offsetWidth // force reflow $active.addClass(direction) @@ -141,10 +131,8 @@ that.sliding = false setTimeout(function () { that.$element.trigger('slid.bs.carousel') }, 0) }) - .emulateTransitionEnd(600) + .emulateTransitionEnd($active.css('transition-duration').slice(0, -1) * 1000) } else { - this.$element.trigger(e) - if (e.isDefaultPrevented()) return $active.removeClass('active') $next.addClass('active') this.sliding = false diff --git a/app/assets/javascripts/twitter/bootstrap/collapse.js b/app/assets/javascripts/twitter/bootstrap/collapse.js index 1a079938..7130282b 100755 --- a/app/assets/javascripts/twitter/bootstrap/collapse.js +++ b/app/assets/javascripts/twitter/bootstrap/collapse.js @@ -1,24 +1,14 @@ /* ======================================================================== - * Bootstrap: collapse.js v3.0.3 + * Bootstrap: collapse.js v3.1.1 * http://getbootstrap.com/javascript/#collapse * ======================================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ -+function ($) { "use strict"; ++function ($) { + 'use strict'; // COLLAPSE PUBLIC CLASS DEFINITION // ================================ @@ -69,7 +59,7 @@ var complete = function () { this.$element .removeClass('collapsing') - .addClass('in') + .addClass('collapse in') [dimension]('auto') this.transitioning = 0 this.$element.trigger('shown.bs.collapse') @@ -137,6 +127,7 @@ var data = $this.data('bs.collapse') var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) + if (!data && options.toggle && option == 'show') option = !option if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) if (typeof option == 'string') data[option]() }) diff --git a/app/assets/javascripts/twitter/bootstrap/dropdown.js b/app/assets/javascripts/twitter/bootstrap/dropdown.js index 13352ef7..43d7ae3e 100755 --- a/app/assets/javascripts/twitter/bootstrap/dropdown.js +++ b/app/assets/javascripts/twitter/bootstrap/dropdown.js @@ -1,24 +1,14 @@ /* ======================================================================== - * Bootstrap: dropdown.js v3.0.3 + * Bootstrap: dropdown.js v3.1.1 * http://getbootstrap.com/javascript/#dropdowns * ======================================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ -+function ($) { "use strict"; ++function ($) { + 'use strict'; // DROPDOWN CLASS DEFINITION // ========================= @@ -45,13 +35,14 @@ $('
').insertAfter($(this)).on('click', clearMenus) } - $parent.trigger(e = $.Event('show.bs.dropdown')) + var relatedTarget = { relatedTarget: this } + $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) if (e.isDefaultPrevented()) return $parent .toggleClass('open') - .trigger('shown.bs.dropdown') + .trigger('shown.bs.dropdown', relatedTarget) $this.focus() } @@ -77,7 +68,8 @@ return $this.click() } - var $items = $('[role=menu] li:not(.divider):visible a', $parent) + var desc = ' li:not(.divider):visible a' + var $items = $parent.find('[role=menu]' + desc + ', [role=listbox]' + desc) if (!$items.length) return @@ -85,19 +77,20 @@ if (e.keyCode == 38 && index > 0) index-- // up if (e.keyCode == 40 && index < $items.length - 1) index++ // down - if (!~index) index=0 + if (!~index) index = 0 $items.eq(index).focus() } - function clearMenus() { + function clearMenus(e) { $(backdrop).remove() - $(toggle).each(function (e) { + $(toggle).each(function () { var $parent = getParent($(this)) + var relatedTarget = { relatedTarget: this } if (!$parent.hasClass('open')) return - $parent.trigger(e = $.Event('hide.bs.dropdown')) + $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) if (e.isDefaultPrevented()) return - $parent.removeClass('open').trigger('hidden.bs.dropdown') + $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget) }) } @@ -106,7 +99,7 @@ if (!selector) { selector = $this.attr('href') - selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 } var $parent = selector && $(selector) @@ -148,7 +141,7 @@ $(document) .on('click.bs.dropdown.data-api', clearMenus) .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) - .on('click.bs.dropdown.data-api' , toggle, Dropdown.prototype.toggle) - .on('keydown.bs.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) + .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) + .on('keydown.bs.dropdown.data-api', toggle + ', [role=menu], [role=listbox]', Dropdown.prototype.keydown) }(jQuery); diff --git a/app/assets/javascripts/twitter/bootstrap/modal.js b/app/assets/javascripts/twitter/bootstrap/modal.js index 3ead5ee8..20ff2704 100755 --- a/app/assets/javascripts/twitter/bootstrap/modal.js +++ b/app/assets/javascripts/twitter/bootstrap/modal.js @@ -1,24 +1,14 @@ /* ======================================================================== - * Bootstrap: modal.js v3.0.3 + * Bootstrap: modal.js v3.1.1 * http://getbootstrap.com/javascript/#modals * ======================================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ -+function ($) { "use strict"; ++function ($) { + 'use strict'; // MODAL CLASS DEFINITION // ====================== @@ -29,13 +19,19 @@ this.$backdrop = this.isShown = null - if (this.options.remote) this.$element.load(this.options.remote) + if (this.options.remote) { + this.$element + .find('.modal-content') + .load(this.options.remote, $.proxy(function () { + this.$element.trigger('loaded.bs.modal') + }, this)) + } } Modal.DEFAULTS = { - backdrop: true - , keyboard: true - , show: true + backdrop: true, + keyboard: true, + show: true } Modal.prototype.toggle = function (_relatedTarget) { @@ -54,7 +50,7 @@ this.escape() - this.$element.on('click.dismiss.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) + this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) this.backdrop(function () { var transition = $.support.transition && that.$element.hasClass('fade') @@ -63,7 +59,9 @@ that.$element.appendTo(document.body) // don't move modals dom position } - that.$element.show() + that.$element + .show() + .scrollTop(0) if (transition) { that.$element[0].offsetWidth // force reflow @@ -105,7 +103,7 @@ this.$element .removeClass('in') .attr('aria-hidden', true) - .off('click.dismiss.modal') + .off('click.dismiss.bs.modal') $.support.transition && this.$element.hasClass('fade') ? this.$element @@ -149,7 +147,6 @@ } Modal.prototype.backdrop = function (callback) { - var that = this var animate = this.$element.hasClass('fade') ? 'fade' : '' if (this.isShown && this.options.backdrop) { @@ -158,7 +155,7 @@ this.$backdrop = $('') .appendTo(document.body) - this.$element.on('click.dismiss.modal', $.proxy(function (e) { + this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) { if (e.target !== e.currentTarget) return this.options.backdrop == 'static' ? this.$element[0].focus.call(this.$element[0]) @@ -180,7 +177,7 @@ } else if (!this.isShown && this.$backdrop) { this.$backdrop.removeClass('in') - $.support.transition && this.$element.hasClass('fade')? + $.support.transition && this.$element.hasClass('fade') ? this.$backdrop .one($.support.transition.end, callback) .emulateTransitionEnd(150) : @@ -228,9 +225,9 @@ var $this = $(this) var href = $this.attr('href') var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7 - var option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) + var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) - e.preventDefault() + if ($this.is('a')) e.preventDefault() $target .modal(option, this) @@ -240,7 +237,7 @@ }) $(document) - .on('show.bs.modal', '.modal', function () { $(document.body).addClass('modal-open') }) + .on('show.bs.modal', '.modal', function () { $(document.body).addClass('modal-open') }) .on('hidden.bs.modal', '.modal', function () { $(document.body).removeClass('modal-open') }) }(jQuery); diff --git a/app/assets/javascripts/twitter/bootstrap/popover.js b/app/assets/javascripts/twitter/bootstrap/popover.js index 996962aa..23aa8298 100755 --- a/app/assets/javascripts/twitter/bootstrap/popover.js +++ b/app/assets/javascripts/twitter/bootstrap/popover.js @@ -1,24 +1,14 @@ /* ======================================================================== - * Bootstrap: popover.js v3.0.3 + * Bootstrap: popover.js v3.1.1 * http://getbootstrap.com/javascript/#popovers * ======================================================================== - * Copyright 2013 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ -+function ($) { "use strict"; ++function ($) { + 'use strict'; // POPOVER PUBLIC CLASS DEFINITION // =============================== @@ -29,11 +19,11 @@ if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') - Popover.DEFAULTS = $.extend({} , $.fn.tooltip.Constructor.DEFAULTS, { - placement: 'right' - , trigger: 'click' - , content: '' - , template: '`, ``, and ``.
@font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace;
@font-family-base: @font-family-sans-serif;
@font-size-base: 14px;
-@font-size-large: ceil(@font-size-base * 1.25); // ~18px
-@font-size-small: ceil(@font-size-base * 0.85); // ~12px
+@font-size-large: ceil((@font-size-base * 1.25)); // ~18px
+@font-size-small: ceil((@font-size-base * 0.85)); // ~12px
-@font-size-h1: floor(@font-size-base * 2.6); // ~36px
-@font-size-h2: floor(@font-size-base * 2.15); // ~30px
-@font-size-h3: ceil(@font-size-base * 1.7); // ~24px
-@font-size-h4: ceil(@font-size-base * 1.25); // ~18px
+@font-size-h1: floor((@font-size-base * 2.6)); // ~36px
+@font-size-h2: floor((@font-size-base * 2.15)); // ~30px
+@font-size-h3: ceil((@font-size-base * 1.7)); // ~24px
+@font-size-h4: ceil((@font-size-base * 1.25)); // ~18px
@font-size-h5: @font-size-base;
-@font-size-h6: ceil(@font-size-base * 0.85); // ~12px
+@font-size-h6: ceil((@font-size-base * 0.85)); // ~12px
+//** Unit-less `line-height` for use in components like buttons.
@line-height-base: 1.428571429; // 20/14
-@line-height-computed: floor(@font-size-base * @line-height-base); // ~20px
+//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
+@line-height-computed: floor((@font-size-base * @line-height-base)); // ~20px
-@headings-font-family: @font-family-base;
+//** By default, this inherits from the ``.
+@headings-font-family: inherit;
@headings-font-weight: 500;
@headings-line-height: 1.1;
@headings-color: inherit;
-// Iconography
-// -------------------------
+//-- Iconography
+//
+//## Specify custom locations of the include Glyphicons icon font. Useful for those including Bootstrap via Bower.
@icon-font-path: "../fonts/";
@icon-font-name: "glyphicons-halflings-regular";
+@icon-font-svg-id: "glyphicons_halflingsregular";
+//== Components
+//
+//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
-// Components
-// -------------------------
-// Based on 14px font-size and 1.428 line-height (~20px to start)
+@padding-base-vertical: 6px;
+@padding-base-horizontal: 12px;
-@padding-base-vertical: 6px;
-@padding-base-horizontal: 12px;
+@padding-large-vertical: 10px;
+@padding-large-horizontal: 16px;
-@padding-large-vertical: 10px;
-@padding-large-horizontal: 16px;
+@padding-small-vertical: 5px;
+@padding-small-horizontal: 10px;
-@padding-small-vertical: 5px;
-@padding-small-horizontal: 10px;
+@padding-xs-vertical: 1px;
+@padding-xs-horizontal: 5px;
-@padding-xs-vertical: 1px;
-@padding-xs-horizontal: 5px;
+@line-height-large: 1.33;
+@line-height-small: 1.5;
-@line-height-large: 1.33;
-@line-height-small: 1.5;
+@border-radius-base: 4px;
+@border-radius-large: 6px;
+@border-radius-small: 3px;
-@border-radius-base: 4px;
-@border-radius-large: 6px;
-@border-radius-small: 3px;
+//** Global color for active items (e.g., navs or dropdowns).
+@component-active-color: #fff;
+//** Global background color for active items (e.g., navs or dropdowns).
+@component-active-bg: @brand-primary;
-@component-active-color: #fff;
-@component-active-bg: @brand-primary;
+//** Width of the `border` for generating carets that indicator dropdowns.
+@caret-width-base: 4px;
+//** Carets increase slightly in size for larger components.
+@caret-width-large: 5px;
-@caret-width-base: 4px;
-@caret-width-large: 5px;
-// Tables
-// -------------------------
+//== Tables
+//
+//## Customizes the `.table` component with basic values, each used across all table variations.
-@table-cell-padding: 8px;
-@table-condensed-cell-padding: 5px;
+//** Padding for ``s and ` `s.
+@table-cell-padding: 8px;
+//** Padding for cells in `.table-condensed`.
+@table-condensed-cell-padding: 5px;
-@table-bg: transparent; // overall background-color
-@table-bg-accent: #f9f9f9; // for striping
-@table-bg-hover: #f5f5f5;
-@table-bg-active: @table-bg-hover;
+//** Default background color used for all tables.
+@table-bg: transparent;
+//** Background color used for `.table-striped`.
+@table-bg-accent: #f9f9f9;
+//** Background color used for `.table-hover`.
+@table-bg-hover: #f5f5f5;
+@table-bg-active: @table-bg-hover;
-@table-border-color: #ddd; // table and cell border
+//** Border color for table and cell borders.
+@table-border-color: #ddd;
-// Buttons
-// -------------------------
+//== Buttons
+//
+//## For each of Bootstrap's buttons, define text, background and border color.
@btn-font-weight: normal;
@@ -131,6 +149,10 @@
@btn-success-bg: @brand-success;
@btn-success-border: darken(@btn-success-bg, 5%);
+@btn-info-color: #fff;
+@btn-info-bg: @brand-info;
+@btn-info-border: darken(@btn-info-bg, 5%);
+
@btn-warning-color: #fff;
@btn-warning-bg: @brand-warning;
@btn-warning-border: darken(@btn-warning-bg, 5%);
@@ -139,65 +161,87 @@
@btn-danger-bg: @brand-danger;
@btn-danger-border: darken(@btn-danger-bg, 5%);
-@btn-info-color: #fff;
-@btn-info-bg: @brand-info;
-@btn-info-border: darken(@btn-info-bg, 5%);
-
@btn-link-disabled-color: @gray-light;
-// Forms
-// -------------------------
+//== Forms
+//
+//##
+//** `` background color
@input-bg: #fff;
+//** `` background color
@input-bg-disabled: @gray-lighter;
+//** Text color for ``s
@input-color: @gray;
+//** `` border color
@input-border: #ccc;
+//** `` border radius
@input-border-radius: @border-radius-base;
+//** Border color for inputs on focus
@input-border-focus: #66afe9;
+//** Placeholder text color
@input-color-placeholder: @gray-light;
+//** Default `.form-control` height
@input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2);
+//** Large `.form-control` height
@input-height-large: (ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2);
+//** Small `.form-control` height
@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
@legend-color: @gray-dark;
@legend-border-color: #e5e5e5;
+//** Background color for textual input addons
@input-group-addon-bg: @gray-lighter;
+//** Border color for textual input addons
@input-group-addon-border-color: @input-border;
-// Dropdowns
-// -------------------------
+//== Dropdowns
+//
+//## Dropdown menu container and contents.
+//** Background for the dropdown menu.
@dropdown-bg: #fff;
+//** Dropdown menu `border-color`.
@dropdown-border: rgba(0,0,0,.15);
+//** Dropdown menu `border-color` **for IE8**.
@dropdown-fallback-border: #ccc;
+//** Divider color for between dropdown items.
@dropdown-divider-bg: #e5e5e5;
+//** Dropdown link text color.
@dropdown-link-color: @gray-dark;
+//** Hover color for dropdown links.
@dropdown-link-hover-color: darken(@gray-dark, 5%);
+//** Hover background for dropdown links.
@dropdown-link-hover-bg: #f5f5f5;
+//** Active dropdown menu item text color.
@dropdown-link-active-color: @component-active-color;
+//** Active dropdown menu item background color.
@dropdown-link-active-bg: @component-active-bg;
+//** Disabled dropdown menu item background color.
@dropdown-link-disabled-color: @gray-light;
+//** Text color for headers within dropdown menus.
@dropdown-header-color: @gray-light;
-
-// COMPONENT VARIABLES
-// --------------------------------------------------
+// Note: Deprecated @dropdown-caret-color as of v3.1.0
+@dropdown-caret-color: #000;
-// Z-index master list
-// -------------------------
-// Used for a bird's eye view of components dependent on the z-axis
-// Try to avoid customizing these :)
+//-- Z-index master list
+//
+// Warning: Avoid customizing these values. They're used for a bird's eye view
+// of components dependent on the z-axis and are designed to all work together.
+//
+// Note: These variables are not generated into the Customizer.
@zindex-navbar: 1000;
@zindex-dropdown: 1000;
@@ -207,8 +251,10 @@
@zindex-modal-background: 1040;
@zindex-modal: 1050;
-// Media queries breakpoints
-// --------------------------------------------------
+
+//== Media queries breakpoints
+//
+//## Define the breakpoints at which your layout will change, adapting to different screen sizes.
// Extra small screen / phone
// Note: Deprecated @screen-xs and @screen-phone as of v3.0.1
@@ -240,31 +286,52 @@
@screen-md-max: (@screen-lg-min - 1);
-// Grid system
-// --------------------------------------------------
+//== Grid system
+//
+//## Define your custom responsive grid.
-// Number of columns in the grid system
+//** Number of columns in the grid.
@grid-columns: 12;
-// Padding, to be divided by two and applied to the left and right of all columns
+//** Padding between columns. Gets divided in half for the left and right.
@grid-gutter-width: 30px;
-
// Navbar collapse
-
-// Point at which the navbar becomes uncollapsed
+//** Point at which the navbar becomes uncollapsed.
@grid-float-breakpoint: @screen-sm-min;
-// Point at which the navbar begins collapsing
+//** Point at which the navbar begins collapsing.
@grid-float-breakpoint-max: (@grid-float-breakpoint - 1);
-// Navbar
-// -------------------------
+//== Container sizes
+//
+//## Define the maximum width of `.container` for different screen sizes.
+
+// Small screen / tablet
+@container-tablet: ((720px + @grid-gutter-width));
+//** For `@screen-sm-min` and up.
+@container-sm: @container-tablet;
+
+// Medium screen / desktop
+@container-desktop: ((940px + @grid-gutter-width));
+//** For `@screen-md-min` and up.
+@container-md: @container-desktop;
+
+// Large screen / wide desktop
+@container-large-desktop: ((1140px + @grid-gutter-width));
+//** For `@screen-lg-min` and up.
+@container-lg: @container-large-desktop;
+
+
+//== Navbar
+//
+//##
// Basics of a navbar
@navbar-height: 50px;
@navbar-margin-bottom: @line-height-computed;
@navbar-border-radius: @border-radius-base;
-@navbar-padding-horizontal: floor(@grid-gutter-width / 2);
+@navbar-padding-horizontal: floor((@grid-gutter-width / 2));
@navbar-padding-vertical: ((@navbar-height - @line-height-computed) / 2);
+@navbar-collapse-max-height: 340px;
@navbar-default-color: #777;
@navbar-default-bg: #f8f8f8;
@@ -286,12 +353,11 @@
// Navbar toggle
@navbar-default-toggle-hover-bg: #ddd;
-@navbar-default-toggle-icon-bar-bg: #ccc;
+@navbar-default-toggle-icon-bar-bg: #888;
@navbar-default-toggle-border-color: #ddd;
// Inverted navbar
-//
// Reset inverted navbar basics
@navbar-inverse-color: @gray-light;
@navbar-inverse-bg: #222;
@@ -317,9 +383,11 @@
@navbar-inverse-toggle-border-color: #333;
-// Navs
-// -------------------------
+//== Navs
+//
+//##
+//=== Shared nav styles
@nav-link-padding: 10px 15px;
@nav-link-hover-bg: @gray-lighter;
@@ -328,7 +396,7 @@
@nav-open-link-hover-color: #fff;
-// Tabs
+//== Tabs
@nav-tabs-border-color: #ddd;
@nav-tabs-link-hover-border-color: @gray-lighter;
@@ -340,45 +408,63 @@
@nav-tabs-justified-link-border-color: #ddd;
@nav-tabs-justified-active-link-border-color: @body-bg;
-// Pills
+//== Pills
@nav-pills-border-radius: @border-radius-base;
@nav-pills-active-link-hover-bg: @component-active-bg;
@nav-pills-active-link-hover-color: @component-active-color;
-// Pagination
-// -------------------------
+//== Pagination
+//
+//##
+@pagination-color: @link-color;
@pagination-bg: #fff;
@pagination-border: #ddd;
+@pagination-hover-color: @link-hover-color;
@pagination-hover-bg: @gray-lighter;
+@pagination-hover-border: #ddd;
-@pagination-active-bg: @brand-primary;
@pagination-active-color: #fff;
+@pagination-active-bg: @brand-primary;
+@pagination-active-border: @brand-primary;
@pagination-disabled-color: @gray-light;
+@pagination-disabled-bg: #fff;
+@pagination-disabled-border: #ddd;
-// Pager
-// -------------------------
+//== Pager
+//
+//##
+@pager-bg: @pagination-bg;
+@pager-border: @pagination-border;
@pager-border-radius: 15px;
-@pager-disabled-color: @gray-light;
+@pager-hover-bg: @pagination-hover-bg;
+
+@pager-active-bg: @pagination-active-bg;
+@pager-active-color: @pagination-active-color;
-// Jumbotron
-// -------------------------
+@pager-disabled-color: @pagination-disabled-color;
+
+
+//== Jumbotron
+//
+//##
@jumbotron-padding: 30px;
@jumbotron-color: inherit;
@jumbotron-bg: @gray-lighter;
@jumbotron-heading-color: inherit;
-@jumbotron-font-size: ceil(@font-size-base * 1.5);
+@jumbotron-font-size: ceil((@font-size-base * 1.5));
-// Form states and alerts
-// -------------------------
+//== Form states and alerts
+//
+//## Define colors for form feedback states and, by default, alerts.
@state-success-text: #3c763d;
@state-success-bg: #dff0d8;
@@ -397,65 +483,113 @@
@state-danger-border: darken(spin(@state-danger-bg, -10), 5%);
-// Tooltips
-// -------------------------
+//== Tooltips
+//
+//##
+
+//** Tooltip max width
@tooltip-max-width: 200px;
+//** Tooltip text color
@tooltip-color: #fff;
+//** Tooltip background color
@tooltip-bg: #000;
+@tooltip-opacity: .9;
+//** Tooltip arrow width
@tooltip-arrow-width: 5px;
+//** Tooltip arrow color
@tooltip-arrow-color: @tooltip-bg;
-// Popovers
-// -------------------------
+//== Popovers
+//
+//##
+
+//** Popover body background color
@popover-bg: #fff;
+//** Popover maximum width
@popover-max-width: 276px;
+//** Popover border color
@popover-border-color: rgba(0,0,0,.2);
+//** Popover fallback border color
@popover-fallback-border-color: #ccc;
+//** Popover title background color
@popover-title-bg: darken(@popover-bg, 3%);
+//** Popover arrow width
@popover-arrow-width: 10px;
+//** Popover arrow color
@popover-arrow-color: #fff;
+//** Popover outer arrow width
@popover-arrow-outer-width: (@popover-arrow-width + 1);
-@popover-arrow-outer-color: rgba(0,0,0,.25);
-@popover-arrow-outer-fallback-color: #999;
+//** Popover outer arrow color
+@popover-arrow-outer-color: fadein(@popover-border-color, 5%);
+//** Popover outer arrow fallback color
+@popover-arrow-outer-fallback-color: darken(@popover-fallback-border-color, 20%);
-// Labels
-// -------------------------
+//== Labels
+//
+//##
+//** Default label background color
@label-default-bg: @gray-light;
+//** Primary label background color
@label-primary-bg: @brand-primary;
+//** Success label background color
@label-success-bg: @brand-success;
+//** Info label background color
@label-info-bg: @brand-info;
+//** Warning label background color
@label-warning-bg: @brand-warning;
+//** Danger label background color
@label-danger-bg: @brand-danger;
+//** Default label text color
@label-color: #fff;
+//** Default text color of a linked label
@label-link-hover-color: #fff;
-// Modals
-// -------------------------
+//== Modals
+//
+//##
+
+//** Padding applied to the modal body
@modal-inner-padding: 20px;
+//** Padding applied to the modal title
@modal-title-padding: 15px;
+//** Modal title line-height
@modal-title-line-height: @line-height-base;
+//** Background color of modal content area
@modal-content-bg: #fff;
+//** Modal content border color
@modal-content-border-color: rgba(0,0,0,.2);
+//** Modal content border color **for IE8**
@modal-content-fallback-border-color: #999;
+//** Modal backdrop background color
@modal-backdrop-bg: #000;
+//** Modal backdrop opacity
+@modal-backdrop-opacity: .5;
+//** Modal header border color
@modal-header-border-color: #e5e5e5;
+//** Modal footer border color
@modal-footer-border-color: @modal-header-border-color;
+@modal-lg: 900px;
+@modal-md: 600px;
+@modal-sm: 300px;
+
+
+//== Alerts
+//
+//## Define alert colors, border radius, and padding.
-// Alerts
-// -------------------------
@alert-padding: 15px;
@alert-border-radius: @border-radius-base;
@alert-link-font-weight: bold;
@@ -477,38 +611,62 @@
@alert-danger-border: @state-danger-border;
-// Progress bars
-// -------------------------
+//== Progress bars
+//
+//##
+
+//** Background color of the whole progress component
@progress-bg: #f5f5f5;
+//** Progress bar text color
@progress-bar-color: #fff;
+//** Default progress bar color
@progress-bar-bg: @brand-primary;
+//** Success progress bar color
@progress-bar-success-bg: @brand-success;
+//** Warning progress bar color
@progress-bar-warning-bg: @brand-warning;
+//** Danger progress bar color
@progress-bar-danger-bg: @brand-danger;
+//** Info progress bar color
@progress-bar-info-bg: @brand-info;
-// List group
-// -------------------------
-@list-group-bg: #fff;
-@list-group-border: #ddd;
-@list-group-border-radius: @border-radius-base;
-
-@list-group-hover-bg: #f5f5f5;
-@list-group-active-color: @component-active-color;
-@list-group-active-bg: @component-active-bg;
-@list-group-active-border: @list-group-active-bg;
-
-@list-group-link-color: #555;
-@list-group-link-heading-color: #333;
-
+//== List group
+//
+//##
+
+//** Background color on `.list-group-item`
+@list-group-bg: #fff;
+//** `.list-group-item` border color
+@list-group-border: #ddd;
+//** List group border radius
+@list-group-border-radius: @border-radius-base;
+
+//** Background color of single list elements on hover
+@list-group-hover-bg: #f5f5f5;
+//** Text color of active list elements
+@list-group-active-color: @component-active-color;
+//** Background color of active list elements
+@list-group-active-bg: @component-active-bg;
+//** Border color of active list elements
+@list-group-active-border: @list-group-active-bg;
+@list-group-active-text-color: lighten(@list-group-active-bg, 40%);
+
+@list-group-link-color: #555;
+@list-group-link-heading-color: #333;
+
+
+//== Panels
+//
+//##
-// Panels
-// -------------------------
@panel-bg: #fff;
-@panel-inner-border: #ddd;
+@panel-body-padding: 15px;
@panel-border-radius: @border-radius-base;
+
+//** Border color for elements within panels
+@panel-inner-border: #ddd;
@panel-footer-bg: #f5f5f5;
@panel-default-text: @gray-dark;
@@ -523,6 +681,10 @@
@panel-success-border: @state-success-border;
@panel-success-heading-bg: @state-success-bg;
+@panel-info-text: @state-info-text;
+@panel-info-border: @state-info-border;
+@panel-info-heading-bg: @state-info-bg;
+
@panel-warning-text: @state-warning-text;
@panel-warning-border: @state-warning-border;
@panel-warning-heading-bg: @state-warning-bg;
@@ -531,34 +693,46 @@
@panel-danger-border: @state-danger-border;
@panel-danger-heading-bg: @state-danger-bg;
-@panel-info-text: @state-info-text;
-@panel-info-border: @state-info-border;
-@panel-info-heading-bg: @state-info-bg;
+//== Thumbnails
+//
+//##
-// Thumbnails
-// -------------------------
+//** Padding around the thumbnail image
@thumbnail-padding: 4px;
+//** Thumbnail background color
@thumbnail-bg: @body-bg;
+//** Thumbnail border color
@thumbnail-border: #ddd;
+//** Thumbnail border radius
@thumbnail-border-radius: @border-radius-base;
+//** Custom text color for thumbnail captions
@thumbnail-caption-color: @text-color;
+//** Padding around the thumbnail caption
@thumbnail-caption-padding: 9px;
-// Wells
-// -------------------------
+//== Wells
+//
+//##
+
@well-bg: #f5f5f5;
+@well-border: darken(@well-bg, 7%);
-// Badges
-// -------------------------
+//== Badges
+//
+//##
+
@badge-color: #fff;
+//** Linked badge text color on hover
@badge-link-hover-color: #fff;
@badge-bg: @gray-light;
+//** Badge text color in active nav link
@badge-active-color: @link-color;
+//** Badge background color in active nav link
@badge-active-bg: #fff;
@badge-font-weight: bold;
@@ -566,16 +740,25 @@
@badge-border-radius: 10px;
-// Breadcrumbs
-// -------------------------
-@breadcrumb-bg: #f5f5f5;
-@breadcrumb-color: #ccc;
-@breadcrumb-active-color: @gray-light;
-@breadcrumb-separator: "/";
+//== Breadcrumbs
+//
+//##
+
+@breadcrumb-padding-vertical: 8px;
+@breadcrumb-padding-horizontal: 15px;
+//** Breadcrumb background color
+@breadcrumb-bg: #f5f5f5;
+//** Breadcrumb text color
+@breadcrumb-color: #ccc;
+//** Text color of current page in the breadcrumb
+@breadcrumb-active-color: @gray-light;
+//** Textual separator for between breadcrumb elements
+@breadcrumb-separator: "/";
-// Carousel
-// ------------------------
+//== Carousel
+//
+//##
@carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6);
@@ -590,53 +773,57 @@
@carousel-caption-color: #fff;
-// Close
-// ------------------------
+//== Close
+//
+//##
+
@close-font-weight: bold;
@close-color: #000;
@close-text-shadow: 0 1px 0 #fff;
-// Code
-// ------------------------
+//== Code
+//
+//##
+
@code-color: #c7254e;
@code-bg: #f9f2f4;
+@kbd-color: #fff;
+@kbd-bg: #333;
+
@pre-bg: #f5f5f5;
@pre-color: @gray-dark;
@pre-border-color: #ccc;
@pre-scrollable-max-height: 340px;
-// Type
-// ------------------------
+
+//== Type
+//
+//##
+
+//** Text muted color
@text-muted: @gray-light;
+//** Abbreviations and acronyms border color
@abbr-border-color: @gray-light;
+//** Headings small color
@headings-small-color: @gray-light;
+//** Blockquote small color
@blockquote-small-color: @gray-light;
+//** Blockquote font size
+@blockquote-font-size: (@font-size-base * 1.25);
+//** Blockquote border color
@blockquote-border-color: @gray-lighter;
+//** Page header border color
@page-header-border-color: @gray-lighter;
-// Miscellaneous
-// -------------------------
-// Hr border color
+//== Miscellaneous
+//
+//##
+
+//** Horizontal line color.
@hr-border: @gray-lighter;
-// Horizontal forms & lists
+//** Horizontal offset for forms and lists.
@component-offset-horizontal: 180px;
-
-
-// Container sizes
-// --------------------------------------------------
-
-// Small screen / tablet
-@container-tablet: ((720px + @grid-gutter-width));
-@container-sm: @container-tablet;
-
-// Medium screen / desktop
-@container-desktop: ((940px + @grid-gutter-width));
-@container-md: @container-desktop;
-
-// Large screen / wide desktop
-@container-large-desktop: ((1140px + @grid-gutter-width));
-@container-lg: @container-large-desktop;
diff --git a/vendor/toolkit/twitter/bootstrap/wells.less b/vendor/toolkit/twitter/bootstrap/wells.less
index 865abc2e..15d072b0 100755
--- a/vendor/toolkit/twitter/bootstrap/wells.less
+++ b/vendor/toolkit/twitter/bootstrap/wells.less
@@ -9,7 +9,7 @@
padding: 19px;
margin-bottom: 20px;
background-color: @well-bg;
- border: 1px solid darken(@well-bg, 7%);
+ border: 1px solid @well-border;
border-radius: @border-radius-base;
.box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
blockquote {