From b80a5ff7da58973d1ce3ce7dcfbcded76f595dc2 Mon Sep 17 00:00:00 2001 From: Tristan Harward Date: Tue, 11 Dec 2012 11:16:39 -0500 Subject: [PATCH 1/3] Improved script to do all necessary actions for upgrade. Now automatically takes care of path changes for the includes in bootstrap.scss and responsive.scss (From #258) --- update-bootstrap.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/update-bootstrap.sh b/update-bootstrap.sh index f2349eafde..aec729430c 100755 --- a/update-bootstrap.sh +++ b/update-bootstrap.sh @@ -13,9 +13,13 @@ cp -r $TMP/js/* $ROOT/javascripts cp -r $TMP/img/* $ROOT/images # Remove tests rm -r $ROOT/javascripts/tests -rm -r $ROOT/stylesheets/tests +rm -r $ROOT/stylesheets/bootstrap/tests # Patch the asset-url in _variables.scss patch -f vendor/assets/stylesheets/bootstrap/_variables.scss < asseturl.patch +# Patch paths in bootstrap.scss and responsive.scss +sed -i .bak 's_@import \"_@import \"bootstrap/_g' $ROOT/stylesheets/bootstrap/{bootstrap,responsive}.scss +rm $ROOT/stylesheets/bootstrap/*.bak + rm -rf $TMP \ No newline at end of file From e12d9cc3f25002998cec47a09b6505d893420263 Mon Sep 17 00:00:00 2001 From: Tristan Harward Date: Tue, 11 Dec 2012 11:19:13 -0500 Subject: [PATCH 2/3] Update to 2.2.2 from jlong/sass-twitter-bootstrap#44 --- vendor/assets/javascripts/bootstrap-affix.js | 13 ++- vendor/assets/javascripts/bootstrap-alert.js | 13 ++- vendor/assets/javascripts/bootstrap-button.js | 13 ++- .../assets/javascripts/bootstrap-carousel.js | 13 ++- .../assets/javascripts/bootstrap-collapse.js | 19 +++- .../assets/javascripts/bootstrap-dropdown.js | 19 +++- vendor/assets/javascripts/bootstrap-modal.js | 13 ++- .../assets/javascripts/bootstrap-popover.js | 17 +++- .../assets/javascripts/bootstrap-scrollspy.js | 15 +++- vendor/assets/javascripts/bootstrap-tab.js | 13 ++- .../assets/javascripts/bootstrap-tooltip.js | 13 ++- .../javascripts/bootstrap-transition.js | 2 +- .../assets/javascripts/bootstrap-typeahead.js | 33 ++++--- .../assets/stylesheets/bootstrap/_alerts.scss | 14 +++ .../stylesheets/bootstrap/_breadcrumbs.scss | 10 +-- .../stylesheets/bootstrap/_button-groups.scss | 69 ++++++--------- .../stylesheets/bootstrap/_buttons.scss | 12 ++- .../stylesheets/bootstrap/_carousel.scss | 30 +++---- .../assets/stylesheets/bootstrap/_code.scss | 3 + .../stylesheets/bootstrap/_dropdowns.scss | 14 ++- .../assets/stylesheets/bootstrap/_forms.scss | 20 +++-- .../stylesheets/bootstrap/_labels-badges.scss | 40 +++++---- .../assets/stylesheets/bootstrap/_mixins.scss | 6 +- .../assets/stylesheets/bootstrap/_modals.scss | 2 +- .../assets/stylesheets/bootstrap/_navbar.scss | 26 +++++- .../assets/stylesheets/bootstrap/_navs.scss | 6 ++ .../stylesheets/bootstrap/_popovers.scss | 88 +++++++++++-------- .../assets/stylesheets/bootstrap/_reset.scss | 86 +++++++++++++++++- .../assets/stylesheets/bootstrap/_tables.scss | 71 +++++++-------- .../assets/stylesheets/bootstrap/_type.scss | 50 ++++++----- .../stylesheets/bootstrap/_variables.scss | 14 +-- .../stylesheets/bootstrap/bootstrap.scss | 2 +- .../stylesheets/bootstrap/responsive.scss | 11 ++- 33 files changed, 523 insertions(+), 247 deletions(-) diff --git a/vendor/assets/javascripts/bootstrap-affix.js b/vendor/assets/javascripts/bootstrap-affix.js index 0a195f1c80..6020a19a58 100644 --- a/vendor/assets/javascripts/bootstrap-affix.js +++ b/vendor/assets/javascripts/bootstrap-affix.js @@ -1,5 +1,5 @@ /* ========================================================== - * bootstrap-affix.js v2.2.1 + * bootstrap-affix.js v2.2.2 * http://twitter.github.com/bootstrap/javascript.html#affix * ========================================================== * Copyright 2012 Twitter, Inc. @@ -68,6 +68,8 @@ /* AFFIX PLUGIN DEFINITION * ======================= */ + var old = $.fn.affix + $.fn.affix = function (option) { return this.each(function () { var $this = $(this) @@ -85,6 +87,15 @@ } + /* AFFIX NO CONFLICT + * ================= */ + + $.fn.affix.noConflict = function () { + $.fn.affix = old + return this + } + + /* AFFIX DATA-API * ============== */ diff --git a/vendor/assets/javascripts/bootstrap-alert.js b/vendor/assets/javascripts/bootstrap-alert.js index 239b1433f5..5bc0264491 100644 --- a/vendor/assets/javascripts/bootstrap-alert.js +++ b/vendor/assets/javascripts/bootstrap-alert.js @@ -1,5 +1,5 @@ /* ========================================================== - * bootstrap-alert.js v2.2.1 + * bootstrap-alert.js v2.2.2 * http://twitter.github.com/bootstrap/javascript.html#alerts * ========================================================== * Copyright 2012 Twitter, Inc. @@ -68,6 +68,8 @@ /* ALERT PLUGIN DEFINITION * ======================= */ + var old = $.fn.alert + $.fn.alert = function (option) { return this.each(function () { var $this = $(this) @@ -80,6 +82,15 @@ $.fn.alert.Constructor = Alert + /* ALERT NO CONFLICT + * ================= */ + + $.fn.alert.noConflict = function () { + $.fn.alert = old + return this + } + + /* ALERT DATA-API * ============== */ diff --git a/vendor/assets/javascripts/bootstrap-button.js b/vendor/assets/javascripts/bootstrap-button.js index 002d983a6a..39b83399e9 100644 --- a/vendor/assets/javascripts/bootstrap-button.js +++ b/vendor/assets/javascripts/bootstrap-button.js @@ -1,5 +1,5 @@ /* ============================================================ - * bootstrap-button.js v2.2.1 + * bootstrap-button.js v2.2.2 * http://twitter.github.com/bootstrap/javascript.html#buttons * ============================================================ * Copyright 2012 Twitter, Inc. @@ -64,6 +64,8 @@ /* BUTTON PLUGIN DEFINITION * ======================== */ + var old = $.fn.button + $.fn.button = function (option) { return this.each(function () { var $this = $(this) @@ -82,6 +84,15 @@ $.fn.button.Constructor = Button + /* BUTTON NO CONFLICT + * ================== */ + + $.fn.button.noConflict = function () { + $.fn.button = old + return this + } + + /* BUTTON DATA-API * =============== */ diff --git a/vendor/assets/javascripts/bootstrap-carousel.js b/vendor/assets/javascripts/bootstrap-carousel.js index 536b85d721..238ff42801 100644 --- a/vendor/assets/javascripts/bootstrap-carousel.js +++ b/vendor/assets/javascripts/bootstrap-carousel.js @@ -1,5 +1,5 @@ /* ========================================================== - * bootstrap-carousel.js v2.2.1 + * bootstrap-carousel.js v2.2.2 * http://twitter.github.com/bootstrap/javascript.html#carousel * ========================================================== * Copyright 2012 Twitter, Inc. @@ -29,7 +29,6 @@ var Carousel = function (element, options) { this.$element = $(element) this.options = options - this.options.slide && this.slide(this.options.slide) this.options.pause == 'hover' && this.$element .on('mouseenter', $.proxy(this.pause, this)) .on('mouseleave', $.proxy(this.cycle, this)) @@ -141,6 +140,8 @@ /* CAROUSEL PLUGIN DEFINITION * ========================== */ + var old = $.fn.carousel + $.fn.carousel = function (option) { return this.each(function () { var $this = $(this) @@ -162,6 +163,14 @@ $.fn.carousel.Constructor = Carousel + /* CAROUSEL NO CONFLICT + * ==================== */ + + $.fn.carousel.noConflict = function () { + $.fn.carousel = old + return this + } + /* CAROUSEL DATA-API * ================= */ diff --git a/vendor/assets/javascripts/bootstrap-collapse.js b/vendor/assets/javascripts/bootstrap-collapse.js index 2b0a2baade..6ac0191a50 100644 --- a/vendor/assets/javascripts/bootstrap-collapse.js +++ b/vendor/assets/javascripts/bootstrap-collapse.js @@ -1,5 +1,5 @@ /* ============================================================= - * bootstrap-collapse.js v2.2.1 + * bootstrap-collapse.js v2.2.2 * http://twitter.github.com/bootstrap/javascript.html#collapse * ============================================================= * Copyright 2012 Twitter, Inc. @@ -120,8 +120,10 @@ } - /* COLLAPSIBLE PLUGIN DEFINITION - * ============================== */ + /* COLLAPSE PLUGIN DEFINITION + * ========================== */ + + var old = $.fn.collapse $.fn.collapse = function (option) { return this.each(function () { @@ -140,9 +142,18 @@ $.fn.collapse.Constructor = Collapse - /* COLLAPSIBLE DATA-API + /* COLLAPSE NO CONFLICT * ==================== */ + $.fn.collapse.noConflict = function () { + $.fn.collapse = old + return this + } + + + /* COLLAPSE DATA-API + * ================= */ + $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { var $this = $(this), href , target = $this.attr('data-target') diff --git a/vendor/assets/javascripts/bootstrap-dropdown.js b/vendor/assets/javascripts/bootstrap-dropdown.js index 88592b3afd..900355d5bd 100644 --- a/vendor/assets/javascripts/bootstrap-dropdown.js +++ b/vendor/assets/javascripts/bootstrap-dropdown.js @@ -1,5 +1,5 @@ /* ============================================================ - * bootstrap-dropdown.js v2.2.1 + * bootstrap-dropdown.js v2.2.2 * http://twitter.github.com/bootstrap/javascript.html#dropdowns * ============================================================ * Copyright 2012 Twitter, Inc. @@ -53,9 +53,10 @@ if (!isActive) { $parent.toggleClass('open') - $this.focus() } + $this.focus() + return false } @@ -82,7 +83,7 @@ if (!isActive || (isActive && e.keyCode == 27)) return $this.click() - $items = $('[role=menu] li:not(.divider) a', $parent) + $items = $('[role=menu] li:not(.divider):visible a', $parent) if (!$items.length) return @@ -124,6 +125,8 @@ /* DROPDOWN PLUGIN DEFINITION * ========================== */ + var old = $.fn.dropdown + $.fn.dropdown = function (option) { return this.each(function () { var $this = $(this) @@ -136,12 +139,22 @@ $.fn.dropdown.Constructor = Dropdown + /* DROPDOWN NO CONFLICT + * ==================== */ + + $.fn.dropdown.noConflict = function () { + $.fn.dropdown = old + return this + } + + /* APPLY TO STANDARD DROPDOWN ELEMENTS * =================================== */ $(document) .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) + .on('touchstart.dropdown.data-api', '.dropdown-menu', function (e) { e.stopPropagation() }) .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) diff --git a/vendor/assets/javascripts/bootstrap-modal.js b/vendor/assets/javascripts/bootstrap-modal.js index e267a66e21..689a414ed6 100644 --- a/vendor/assets/javascripts/bootstrap-modal.js +++ b/vendor/assets/javascripts/bootstrap-modal.js @@ -1,5 +1,5 @@ /* ========================================================= - * bootstrap-modal.js v2.2.1 + * bootstrap-modal.js v2.2.2 * http://twitter.github.com/bootstrap/javascript.html#modals * ========================================================= * Copyright 2012 Twitter, Inc. @@ -193,6 +193,8 @@ /* MODAL PLUGIN DEFINITION * ======================= */ + var old = $.fn.modal + $.fn.modal = function (option) { return this.each(function () { var $this = $(this) @@ -213,6 +215,15 @@ $.fn.modal.Constructor = Modal + /* MODAL NO CONFLICT + * ================= */ + + $.fn.modal.noConflict = function () { + $.fn.modal = old + return this + } + + /* MODAL DATA-API * ============== */ diff --git a/vendor/assets/javascripts/bootstrap-popover.js b/vendor/assets/javascripts/bootstrap-popover.js index 0afe7ec3b2..1a4f532aa8 100644 --- a/vendor/assets/javascripts/bootstrap-popover.js +++ b/vendor/assets/javascripts/bootstrap-popover.js @@ -1,5 +1,5 @@ /* =========================================================== - * bootstrap-popover.js v2.2.1 + * bootstrap-popover.js v2.2.2 * http://twitter.github.com/bootstrap/javascript.html#popovers * =========================================================== * Copyright 2012 Twitter, Inc. @@ -44,7 +44,7 @@ , content = this.getContent() $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) - $tip.find('.popover-content > *')[this.options.html ? 'html' : 'text'](content) + $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content) $tip.removeClass('fade top bottom left right in') } @@ -81,6 +81,8 @@ /* POPOVER PLUGIN DEFINITION * ======================= */ + var old = $.fn.popover + $.fn.popover = function (option) { return this.each(function () { var $this = $(this) @@ -97,7 +99,16 @@ placement: 'right' , trigger: 'click' , content: '' - , template: '

' + , template: '

' }) + + /* POPOVER NO CONFLICT + * =================== */ + + $.fn.popover.noConflict = function () { + $.fn.popover = old + return this + } + }(window.jQuery); \ No newline at end of file diff --git a/vendor/assets/javascripts/bootstrap-scrollspy.js b/vendor/assets/javascripts/bootstrap-scrollspy.js index 3ffda2ebe7..07a5c3a584 100644 --- a/vendor/assets/javascripts/bootstrap-scrollspy.js +++ b/vendor/assets/javascripts/bootstrap-scrollspy.js @@ -1,5 +1,5 @@ /* ============================================================= - * bootstrap-scrollspy.js v2.2.1 + * bootstrap-scrollspy.js v2.2.2 * http://twitter.github.com/bootstrap/javascript.html#scrollspy * ============================================================= * Copyright 2012 Twitter, Inc. @@ -59,7 +59,7 @@ , $href = /^#\w/.test(href) && $(href) return ( $href && $href.length - && [[ $href.position().top, href ]] ) || null + && [[ $href.position().top + self.$scrollElement.scrollTop(), href ]] ) || null }) .sort(function (a, b) { return a[0] - b[0] }) .each(function () { @@ -121,6 +121,8 @@ /* SCROLLSPY PLUGIN DEFINITION * =========================== */ + var old = $.fn.scrollspy + $.fn.scrollspy = function (option) { return this.each(function () { var $this = $(this) @@ -138,6 +140,15 @@ } + /* SCROLLSPY NO CONFLICT + * ===================== */ + + $.fn.scrollspy.noConflict = function () { + $.fn.scrollspy = old + return this + } + + /* SCROLLSPY DATA-API * ================== */ diff --git a/vendor/assets/javascripts/bootstrap-tab.js b/vendor/assets/javascripts/bootstrap-tab.js index df950350c6..84d4834a23 100644 --- a/vendor/assets/javascripts/bootstrap-tab.js +++ b/vendor/assets/javascripts/bootstrap-tab.js @@ -1,5 +1,5 @@ /* ======================================================== - * bootstrap-tab.js v2.2.1 + * bootstrap-tab.js v2.2.2 * http://twitter.github.com/bootstrap/javascript.html#tabs * ======================================================== * Copyright 2012 Twitter, Inc. @@ -110,6 +110,8 @@ /* TAB PLUGIN DEFINITION * ===================== */ + var old = $.fn.tab + $.fn.tab = function ( option ) { return this.each(function () { var $this = $(this) @@ -122,6 +124,15 @@ $.fn.tab.Constructor = Tab + /* TAB NO CONFLICT + * =============== */ + + $.fn.tab.noConflict = function () { + $.fn.tab = old + return this + } + + /* TAB DATA-API * ============ */ diff --git a/vendor/assets/javascripts/bootstrap-tooltip.js b/vendor/assets/javascripts/bootstrap-tooltip.js index de923f7b3e..a08952a4cf 100644 --- a/vendor/assets/javascripts/bootstrap-tooltip.js +++ b/vendor/assets/javascripts/bootstrap-tooltip.js @@ -1,5 +1,5 @@ /* =========================================================== - * bootstrap-tooltip.js v2.2.1 + * bootstrap-tooltip.js v2.2.2 * http://twitter.github.com/bootstrap/javascript.html#tooltips * Inspired by the original jQuery.tipsy by Jason Frame * =========================================================== @@ -250,6 +250,8 @@ /* TOOLTIP PLUGIN DEFINITION * ========================= */ + var old = $.fn.tooltip + $.fn.tooltip = function ( option ) { return this.each(function () { var $this = $(this) @@ -273,4 +275,13 @@ , html: false } + + /* TOOLTIP NO CONFLICT + * =================== */ + + $.fn.tooltip.noConflict = function () { + $.fn.tooltip = old + return this + } + }(window.jQuery); \ No newline at end of file diff --git a/vendor/assets/javascripts/bootstrap-transition.js b/vendor/assets/javascripts/bootstrap-transition.js index 23973edb41..b0f12c26d3 100644 --- a/vendor/assets/javascripts/bootstrap-transition.js +++ b/vendor/assets/javascripts/bootstrap-transition.js @@ -1,5 +1,5 @@ /* =================================================== - * bootstrap-transition.js v2.2.1 + * bootstrap-transition.js v2.2.2 * http://twitter.github.com/bootstrap/javascript.html#transitions * =================================================== * Copyright 2012 Twitter, Inc. diff --git a/vendor/assets/javascripts/bootstrap-typeahead.js b/vendor/assets/javascripts/bootstrap-typeahead.js index 2f3dc274f9..088e7ce9b9 100644 --- a/vendor/assets/javascripts/bootstrap-typeahead.js +++ b/vendor/assets/javascripts/bootstrap-typeahead.js @@ -1,5 +1,5 @@ /* ============================================================= - * bootstrap-typeahead.js v2.2.1 + * bootstrap-typeahead.js v2.2.2 * http://twitter.github.com/bootstrap/javascript.html#typeahead * ============================================================= * Copyright 2012 Twitter, Inc. @@ -33,8 +33,8 @@ this.sorter = this.options.sorter || this.sorter this.highlighter = this.options.highlighter || this.highlighter this.updater = this.options.updater || this.updater - this.$menu = $(this.options.menu).appendTo('body') this.source = this.options.source + this.$menu = $(this.options.menu) this.shown = false this.listen() } @@ -56,16 +56,18 @@ } , show: function () { - var pos = $.extend({}, this.$element.offset(), { + var pos = $.extend({}, this.$element.position(), { height: this.$element[0].offsetHeight }) - this.$menu.css({ - top: pos.top + pos.height - , left: pos.left - }) + this.$menu + .insertAfter(this.$element) + .css({ + top: pos.top + pos.height + , left: pos.left + }) + .show() - this.$menu.show() this.shown = true return this } @@ -217,7 +219,7 @@ } , keydown: function (e) { - this.suppressKeyPressRepeat = !~$.inArray(e.keyCode, [40,38,9,13,27]) + this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27]) this.move(e) } @@ -276,6 +278,8 @@ /* TYPEAHEAD PLUGIN DEFINITION * =========================== */ + var old = $.fn.typeahead + $.fn.typeahead = function (option) { return this.each(function () { var $this = $(this) @@ -297,7 +301,16 @@ $.fn.typeahead.Constructor = Typeahead - /* TYPEAHEAD DATA-API + /* TYPEAHEAD NO CONFLICT + * =================== */ + + $.fn.typeahead.noConflict = function () { + $.fn.typeahead = old + return this + } + + + /* TYPEAHEAD DATA-API * ================== */ $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) { diff --git a/vendor/assets/stylesheets/bootstrap/_alerts.scss b/vendor/assets/stylesheets/bootstrap/_alerts.scss index b4e26f7f79..65335110b1 100644 --- a/vendor/assets/stylesheets/bootstrap/_alerts.scss +++ b/vendor/assets/stylesheets/bootstrap/_alerts.scss @@ -13,6 +13,10 @@ background-color: $warningBackground; border: 1px solid $warningBorder; @include border-radius($baseBorderRadius); +} +.alert, +.alert h4 { + // Specified for the h4 to prevent conflicts of changing $headingsColor color: $warningText; } .alert h4 { @@ -36,17 +40,27 @@ border-color: $successBorder; color: $successText; } +.alert-success h4 { + color: $successText; +} .alert-danger, .alert-error { background-color: $errorBackground; border-color: $errorBorder; color: $errorText; } +.alert-danger h4, +.alert-error h4 { + color: $errorText; +} .alert-info { background-color: $infoBackground; border-color: $infoBorder; color: $infoText; } +.alert-info h4 { + color: $infoText; +} // Block alerts diff --git a/vendor/assets/stylesheets/bootstrap/_breadcrumbs.scss b/vendor/assets/stylesheets/bootstrap/_breadcrumbs.scss index 123fb7b84f..cc3f327a5a 100644 --- a/vendor/assets/stylesheets/bootstrap/_breadcrumbs.scss +++ b/vendor/assets/stylesheets/bootstrap/_breadcrumbs.scss @@ -9,14 +9,14 @@ list-style: none; background-color: #f5f5f5; @include border-radius($baseBorderRadius); - li { + > li { display: inline-block; @include ie7-inline-block(); text-shadow: 0 1px 0 $white; - } - .divider { - padding: 0 5px; - color: #ccc; + > .divider { + padding: 0 5px; + color: #ccc; + } } .active { color: $grayLight; diff --git a/vendor/assets/stylesheets/bootstrap/_button-groups.scss b/vendor/assets/stylesheets/bootstrap/_button-groups.scss index b2fda59901..22aa0245b1 100644 --- a/vendor/assets/stylesheets/bootstrap/_button-groups.scss +++ b/vendor/assets/stylesheets/bootstrap/_button-groups.scss @@ -24,9 +24,9 @@ font-size: 0; // Hack to remove whitespace that results from using inline-block margin-top: $baseLineHeight / 2; margin-bottom: $baseLineHeight / 2; - .btn + .btn, - .btn-group + .btn, - .btn + .btn-group { + > .btn + .btn, + > .btn-group + .btn, + > .btn + .btn-group { margin-left: 5px; } } @@ -40,59 +40,44 @@ margin-left: -1px; } .btn-group > .btn, -.btn-group > .dropdown-menu { +.btn-group > .dropdown-menu, +.btn-group > .popover { font-size: $baseFontSize; // redeclare as part 2 of font-size inline-block hack } // Reset fonts for other sizes .btn-group > .btn-mini { - font-size: 11px; + font-size: $fontSizeMini; } .btn-group > .btn-small { - font-size: 12px; + font-size: $fontSizeSmall; } .btn-group > .btn-large { - font-size: 16px; + font-size: $fontSizeLarge; } // Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match .btn-group > .btn:first-child { margin-left: 0; - -webkit-border-top-left-radius: 4px; - -moz-border-radius-topleft: 4px; - border-top-left-radius: 4px; - -webkit-border-bottom-left-radius: 4px; - -moz-border-radius-bottomleft: 4px; - border-bottom-left-radius: 4px; + @include border-top-left-radius($baseBorderRadius); + @include border-bottom-left-radius($baseBorderRadius); } // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it .btn-group > .btn:last-child, .btn-group > .dropdown-toggle { - -webkit-border-top-right-radius: 4px; - -moz-border-radius-topright: 4px; - border-top-right-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -moz-border-radius-bottomright: 4px; - border-bottom-right-radius: 4px; + @include border-top-right-radius($baseBorderRadius); + @include border-bottom-right-radius($baseBorderRadius); } // Reset corners for large buttons .btn-group > .btn.large:first-child { margin-left: 0; - -webkit-border-top-left-radius: 6px; - -moz-border-radius-topleft: 6px; - border-top-left-radius: 6px; - -webkit-border-bottom-left-radius: 6px; - -moz-border-radius-bottomleft: 6px; - border-bottom-left-radius: 6px; + @include border-top-left-radius($borderRadiusLarge); + @include border-bottom-left-radius($borderRadiusLarge); } .btn-group > .btn.large:last-child, .btn-group > .large.dropdown-toggle { - -webkit-border-top-right-radius: 6px; - -moz-border-radius-topright: 6px; - border-top-right-radius: 6px; - -webkit-border-bottom-right-radius: 6px; - -moz-border-radius-bottomright: 6px; - border-bottom-right-radius: 6px; + @include border-top-right-radius($borderRadiusLarge); + @include border-bottom-right-radius($borderRadiusLarge); } // On hover/focus/active, bring the proper btn to front @@ -218,25 +203,25 @@ display: inline-block; // makes buttons only take up the width they need @include ie7-inline-block(); } -.btn-group-vertical .btn { +.btn-group-vertical > .btn { display: block; float: none; - width: 100%; + max-width: 100%; @include border-radius(0); } -.btn-group-vertical .btn + .btn { +.btn-group-vertical > .btn + .btn { margin-left: 0; margin-top: -1px; } -.btn-group-vertical .btn:first-child { - @include border-radius(4px 4px 0 0); +.btn-group-vertical > .btn:first-child { + @include border-radius($baseBorderRadius $baseBorderRadius 0 0); } -.btn-group-vertical .btn:last-child { - @include border-radius(0 0 4px 4px); +.btn-group-vertical > .btn:last-child { + @include border-radius(0 0 $baseBorderRadius $baseBorderRadius); } -.btn-group-vertical .btn-large:first-child { - @include border-radius(6px 6px 0 0); +.btn-group-vertical > .btn-large:first-child { + @include border-radius($borderRadiusLarge $borderRadiusLarge 0 0); } -.btn-group-vertical .btn-large:last-child { - @include border-radius(0 0 6px 6px); +.btn-group-vertical > .btn-large:last-child { + @include border-radius(0 0 $borderRadiusLarge $borderRadiusLarge); } diff --git a/vendor/assets/stylesheets/bootstrap/_buttons.scss b/vendor/assets/stylesheets/bootstrap/_buttons.scss index 8b0a6b091b..90a86e276b 100644 --- a/vendor/assets/stylesheets/bootstrap/_buttons.scss +++ b/vendor/assets/stylesheets/bootstrap/_buttons.scss @@ -14,7 +14,6 @@ margin-bottom: 0; // For input.btn font-size: $baseFontSize; line-height: $baseLineHeight; - *line-height: $baseLineHeight; text-align: center; vertical-align: middle; cursor: pointer; @@ -30,8 +29,6 @@ &:hover { color: $grayDark; text-decoration: none; - background-color: darken($white, 10%); - *background-color: darken($white, 15%); /* Buttons in IE7 don't get borders, so darken on hover */ background-position: 0 -15px; // transition is only when going to hover, otherwise the background @@ -47,8 +44,6 @@ // Active state &.active, &:active { - background-color: darken($white, 10%); - background-color: darken($white, 15%) \9; background-image: none; outline: 0; @include box-shadow(inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)); @@ -58,7 +53,6 @@ &.disabled, &[disabled] { cursor: default; - background-color: darken($white, 10%); background-image: none; @include opacity(65); @include box-shadow(none); @@ -79,7 +73,7 @@ } .btn-large [class^="icon-"], .btn-large [class*=" icon-"] { - margin-top: 2px; + margin-top: 4px; } // Small @@ -92,6 +86,10 @@ .btn-small [class*=" icon-"] { margin-top: 0; } +.btn-mini [class^="icon-"], +.btn-mini [class*=" icon-"] { + margin-top: -1px; +} // Mini .btn-mini { diff --git a/vendor/assets/stylesheets/bootstrap/_carousel.scss b/vendor/assets/stylesheets/bootstrap/_carousel.scss index ede781b43f..f1fd64e7f9 100644 --- a/vendor/assets/stylesheets/bootstrap/_carousel.scss +++ b/vendor/assets/stylesheets/bootstrap/_carousel.scss @@ -15,50 +15,50 @@ position: relative; } -.carousel { +.carousel-inner { - .item { + > .item { display: none; position: relative; @include transition(.6s ease-in-out left); } // Account for jankitude on images - .item > img { + > .item > img { display: block; line-height: 1; } - .active, - .next, - .prev { display: block; } + > .active, + > .next, + > .prev { display: block; } - .active { + > .active { left: 0; } - .next, - .prev { + > .next, + > .prev { position: absolute; top: 0; width: 100%; } - .next { + > .next { left: 100%; } - .prev { + > .prev { left: -100%; } - .next.left, - .prev.right { + > .next.left, + > .prev.right { left: 0; } - .active.left { + > .active.left { left: -100%; } - .active.right { + > .active.right { left: 100%; } diff --git a/vendor/assets/stylesheets/bootstrap/_code.scss b/vendor/assets/stylesheets/bootstrap/_code.scss index c85270a8aa..b9e2f6f224 100644 --- a/vendor/assets/stylesheets/bootstrap/_code.scss +++ b/vendor/assets/stylesheets/bootstrap/_code.scss @@ -19,6 +19,7 @@ code { color: #d14; background-color: #f7f7f9; border: 1px solid #e1e1e8; + white-space: nowrap; } // Blocks of code @@ -46,6 +47,8 @@ pre { code { padding: 0; color: inherit; + white-space: pre; + white-space: pre-wrap; background-color: transparent; border: 0; } diff --git a/vendor/assets/stylesheets/bootstrap/_dropdowns.scss b/vendor/assets/stylesheets/bootstrap/_dropdowns.scss index de562fa419..975fa869e6 100644 --- a/vendor/assets/stylesheets/bootstrap/_dropdowns.scss +++ b/vendor/assets/stylesheets/bootstrap/_dropdowns.scss @@ -115,6 +115,7 @@ text-decoration: none; background-color: transparent; background-image: none; // Remove CSS gradient + @include reset-filter(); cursor: default; } @@ -168,9 +169,7 @@ left: 100%; margin-top: -6px; margin-left: -1px; - -webkit-border-radius: 0 6px 6px 6px; - -moz-border-radius: 0 6px 6px 6px; - border-radius: 0 6px 6px 6px; + @include border-radius(0 6px 6px 6px); } .dropdown-submenu:hover > .dropdown-menu { display: block; @@ -182,9 +181,7 @@ bottom: 0; margin-top: 0; margin-bottom: -2px; - -webkit-border-radius: 5px 5px 5px 0; - -moz-border-radius: 5px 5px 5px 0; - border-radius: 5px 5px 5px 0; + @include border-radius(5px 5px 5px 0); } // Caret to indicate there is a submenu @@ -215,9 +212,7 @@ > .dropdown-menu { left: -100%; margin-left: 10px; - -webkit-border-radius: 6px 0 6px 6px; - -moz-border-radius: 6px 0 6px 6px; - border-radius: 6px 0 6px 6px; + @include border-radius(6px 0 6px 6px); } } @@ -232,6 +227,7 @@ // Typeahead // --------- .typeahead { + z-index: 1051; margin-top: 2px; // give it some space to breathe @include border-radius($baseBorderRadius); } diff --git a/vendor/assets/stylesheets/bootstrap/_forms.scss b/vendor/assets/stylesheets/bootstrap/_forms.scss index 2595a7af64..b371c522f0 100644 --- a/vendor/assets/stylesheets/bootstrap/_forms.scss +++ b/vendor/assets/stylesheets/bootstrap/_forms.scss @@ -138,7 +138,6 @@ input[type="checkbox"] { *margin-top: 0; /* IE7 */ margin-top: 1px \9; /* IE8-9 */ line-height: normal; - cursor: pointer; } // Reset width of input images, buttons, radios, checkboxes @@ -367,9 +366,9 @@ input[type="checkbox"][readonly] { // HTML5 invalid states // Shares styles with the .control-group.error above -input:focus:required:invalid, -textarea:focus:required:invalid, -select:focus:required:invalid { +input:focus:invalid, +textarea:focus:invalid, +select:focus:invalid { color: #b94a48; border-color: #ee5f5b; &:focus { @@ -462,7 +461,8 @@ select:focus:required:invalid { border: 1px solid #ccc; } .add-on, - .btn { + .btn, + .btn-group > .dropdown-toggle { vertical-align: top; @include border-radius(0); } @@ -489,7 +489,7 @@ select:focus:required:invalid { select, .uneditable-input { @include border-radius($inputBorderRadius 0 0 $inputBorderRadius); - + .btn-group .btn { + + .btn-group .btn:last-child { @include border-radius(0 $inputBorderRadius $inputBorderRadius 0); } } @@ -499,7 +499,8 @@ select:focus:required:invalid { margin-left: -1px; } .add-on:last-child, - .btn:last-child { + .btn:last-child, + .btn-group:last-child > .dropdown-toggle { @include border-radius(0 $inputBorderRadius $inputBorderRadius 0); } } @@ -670,7 +671,10 @@ legend + .control-group { // And apply it only to .help-block instances that follow a form control input, select, - textarea { + textarea, + .uneditable-input, + .input-prepend, + .input-append { + .help-block { margin-top: $baseLineHeight / 2; } diff --git a/vendor/assets/stylesheets/bootstrap/_labels-badges.scss b/vendor/assets/stylesheets/bootstrap/_labels-badges.scss index fdd8524ded..e459be734a 100644 --- a/vendor/assets/stylesheets/bootstrap/_labels-badges.scss +++ b/vendor/assets/stylesheets/bootstrap/_labels-badges.scss @@ -27,6 +27,14 @@ @include border-radius(9px); } +// Empty labels/badges collapse +.label, +.badge { + &:empty { + display: none; + } +} + // Hover state, but only for links a { &.label:hover, @@ -39,21 +47,23 @@ a { // Colors // Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute) -// Important (red) -.label-important, .badge-important { background-color: $errorText; } -.label-important[href], .badge-important[href] { background-color: darken($errorText, 10%); } -// Warnings (orange) -.label-warning, .badge-warning { background-color: $orange; } -.label-warning[href], .badge-warning[href] { background-color: darken($orange, 10%); } -// Success (green) -.label-success, .badge-success { background-color: $successText; } -.label-success[href], .badge-success[href] { background-color: darken($successText, 10%); } -// Info (turquoise) -.label-info, .badge-info { background-color: $infoText; } -.label-info[href], .badge-info[href] { background-color: darken($infoText, 10%); } -// Inverse (black) -.label-inverse, .badge-inverse { background-color: $grayDark; } -.label-inverse[href], .badge-inverse[href] { background-color: darken($grayDark, 10%); } +@each $item in label, badge { + // Important (red) + .#{$item}-important { background-color: $errorText; } + .#{$item}-important[href] { background-color: darken($errorText, 10%); } + // Warnings (orange) + .#{$item}-warning { background-color: $orange; } + .#{$item}-warning[href] { background-color: darken($orange, 10%); } + // Success (green) + .#{$item}-success { background-color: $successText; } + .#{$item}-success[href] { background-color: darken($successText, 10%); } + // Info (turquoise) + .#{$item}-info { background-color: $infoText; } + .#{$item}-info[href] { background-color: darken($infoText, 10%); } + // Inverse (black) + .#{$item}-inverse { background-color: $grayDark; } + .#{$item}-inverse[href] { background-color: darken($grayDark, 10%); } +} // Quick fix for labels/badges in buttons .btn { diff --git a/vendor/assets/stylesheets/bootstrap/_mixins.scss b/vendor/assets/stylesheets/bootstrap/_mixins.scss index 1b4f4a16c7..998c1cb9a8 100644 --- a/vendor/assets/stylesheets/bootstrap/_mixins.scss +++ b/vendor/assets/stylesheets/bootstrap/_mixins.scss @@ -111,6 +111,7 @@ border: 0; } + // FONTS // -------------------------------------------------- @@ -158,7 +159,7 @@ // Mixin for form field states @mixin formFieldState($textColor: #555, $borderColor: #ccc, $backgroundColor: #f5f5f5) { // Set the text color - > label, + .control-label, .help-block, .help-inline { color: $textColor; @@ -256,7 +257,6 @@ -o-transition: $transition; transition: $transition; } - @mixin transition-delay($transition-delay) { -webkit-transition-delay: $transition-delay; -moz-transition-delay: $transition-delay; @@ -413,7 +413,7 @@ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=1); // IE9 and down } @mixin gradient-vertical($startColor: #555, $endColor: #333) { - background-color: mix($startColor, $endColor, 62.5%); + background-color: mix($startColor, $endColor, 60%); background-image: -moz-linear-gradient(top, $startColor, $endColor); // FF 3.6+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from($startColor), to($endColor)); // Safari 4+, Chrome 2+ background-image: -webkit-linear-gradient(top, $startColor, $endColor); // Safari 5.1+, Chrome 10+ diff --git a/vendor/assets/stylesheets/bootstrap/_modals.scss b/vendor/assets/stylesheets/bootstrap/_modals.scss index 100ac714eb..bb1e24ebfc 100644 --- a/vendor/assets/stylesheets/bootstrap/_modals.scss +++ b/vendor/assets/stylesheets/bootstrap/_modals.scss @@ -26,7 +26,6 @@ top: 50%; left: 50%; z-index: $zindexModal; - overflow: auto; width: 560px; margin: -250px 0 0 -280px; background-color: $white; @@ -59,6 +58,7 @@ // Body (where all modal content resides) .modal-body { + position: relative; overflow-y: auto; max-height: 400px; padding: 15px; diff --git a/vendor/assets/stylesheets/bootstrap/_navbar.scss b/vendor/assets/stylesheets/bootstrap/_navbar.scss index b1b4b507d7..2208642811 100644 --- a/vendor/assets/stylesheets/bootstrap/_navbar.scss +++ b/vendor/assets/stylesheets/bootstrap/_navbar.scss @@ -10,7 +10,6 @@ .navbar { overflow: visible; margin-bottom: $baseLineHeight; - color: $navbarText; // Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar *position: relative; @@ -67,6 +66,7 @@ .navbar-text { margin-bottom: 0; line-height: $navbarHeight; + color: $navbarText; } // Janky solution for now to account for links outside the .nav @@ -123,7 +123,7 @@ } .input-append, .input-prepend { - margin-top: 6px; + margin-top: 5px; white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left input { margin-top: 0; // remove the margin on top since it's on the parent @@ -245,6 +245,7 @@ } .navbar .nav .dropdown-toggle .caret { margin-top: 8px; + } // Hover @@ -273,7 +274,7 @@ padding: 7px 10px; margin-left: 5px; margin-right: 5px; - @include buttonBackground(darken($navbarBackgroundHighlight, 5%), darken($navbarBackground, 5.25%)); + @include buttonBackground(darken($navbarBackgroundHighlight, 5%), darken($navbarBackground, 5%)); @include box-shadow(inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)); } .navbar .btn-navbar .icon-bar { @@ -334,6 +335,12 @@ } } +// Caret should match text color on hover +.navbar .nav li.dropdown > a:hover .caret { + border-top-color: $navbarLinkColorActive; + border-bottom-color: $navbarLinkColorActive; +} + // Remove background color from open dropdown .navbar .nav li.dropdown.open > .dropdown-toggle, .navbar .nav li.dropdown.active > .dropdown-toggle, @@ -379,7 +386,6 @@ // ------------------------- .navbar-inverse { - color: $navbarInverseText; .navbar-inner { @include gradient-vertical($navbarInverseBackgroundHighlight, $navbarInverseBackground); @@ -395,6 +401,14 @@ } } + .brand { + color: $navbarInverseBrandColor; + } + + .navbar-text { + color: $navbarInverseText; + } + .nav > li > a:focus, .nav > li > a:hover { background-color: $navbarInverseLinkBackgroundHover; @@ -429,6 +443,10 @@ background-color: $navbarInverseLinkBackgroundActive; color: $navbarInverseLinkColorActive; } + .nav li.dropdown > a:hover .caret { + border-top-color: $navbarInverseLinkColorActive; + color: $navbarInverseLinkColorActive; + } .nav li.dropdown > .dropdown-toggle .caret { border-top-color: $navbarInverseLinkColor; border-bottom-color: $navbarInverseLinkColor; diff --git a/vendor/assets/stylesheets/bootstrap/_navs.scss b/vendor/assets/stylesheets/bootstrap/_navs.scss index ac7ec0c1cf..3ea1504af7 100644 --- a/vendor/assets/stylesheets/bootstrap/_navs.scss +++ b/vendor/assets/stylesheets/bootstrap/_navs.scss @@ -21,6 +21,12 @@ background-color: $grayLighter; } +// Prevent IE8 from misplacing imgs +// See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989 +.nav > li > a > img { + max-width: none; +} + // Redeclare pull classes because of specifity .nav > .pull-right { float: right; diff --git a/vendor/assets/stylesheets/bootstrap/_popovers.scss b/vendor/assets/stylesheets/bootstrap/_popovers.scss index 17b13522c6..635fcdd249 100644 --- a/vendor/assets/stylesheets/bootstrap/_popovers.scss +++ b/vendor/assets/stylesheets/bootstrap/_popovers.scss @@ -11,6 +11,7 @@ display: none; width: 236px; padding: 1px; + text-align: left; // Reset given new insertion method background-color: $popoverBackground; -webkit-background-clip: padding-box; -moz-background-clip: padding; @@ -20,12 +21,14 @@ @include border-radius(6px); @include box-shadow(0 5px 10px rgba(0,0,0,.2)); + // Overrides for proper insertion + white-space: normal; + // Offset the popover to account for the popover arrow &.top { margin-top: -10px; } &.right { margin-left: 10px; } &.bottom { margin-top: 10px; } &.left { margin-left: -10px; } - } .popover-title { @@ -41,77 +44,86 @@ .popover-content { padding: 9px 14px; - p, ul, ol { - margin-bottom: 0; - } } // Arrows +// +// .arrow is outer, .arrow:after is inner + .popover .arrow, .popover .arrow:after { position: absolute; - display: inline-block; + display: block; width: 0; height: 0; border-color: transparent; border-style: solid; } +.popover .arrow { + border-width: $popoverArrowOuterWidth; +} .popover .arrow:after { + border-width: $popoverArrowWidth; content: ""; - z-index: -1; } .popover { &.top .arrow { - bottom: -$popoverArrowWidth; left: 50%; - margin-left: -$popoverArrowWidth; - border-width: $popoverArrowWidth $popoverArrowWidth 0; - border-top-color: $popoverArrowColor; + margin-left: -$popoverArrowOuterWidth; + border-bottom-width: 0; + border-top-color: #999; // IE8 fallback + border-top-color: $popoverArrowOuterColor; + bottom: -$popoverArrowOuterWidth; &:after { - border-width: $popoverArrowOuterWidth $popoverArrowOuterWidth 0; - border-top-color: $popoverArrowOuterColor; - bottom: -1px; - left: -$popoverArrowOuterWidth; + bottom: 1px; + margin-left: -$popoverArrowWidth; + border-bottom-width: 0; + border-top-color: $popoverArrowColor; } } &.right .arrow { top: 50%; - left: -$popoverArrowWidth; - margin-top: -$popoverArrowWidth; - border-width: $popoverArrowWidth $popoverArrowWidth $popoverArrowWidth 0; - border-right-color: $popoverArrowColor; + left: -$popoverArrowOuterWidth; + margin-top: -$popoverArrowOuterWidth; + border-left-width: 0; + border-right-color: #999; // IE8 fallback + border-right-color: $popoverArrowOuterColor; &:after { - border-width: $popoverArrowOuterWidth $popoverArrowOuterWidth $popoverArrowOuterWidth 0; - border-right-color: $popoverArrowOuterColor; - bottom: -$popoverArrowOuterWidth; - left: -1px; + left: 1px; + bottom: -$popoverArrowWidth; + border-left-width: 0; + border-right-color: $popoverArrowColor; } } &.bottom .arrow { - top: -$popoverArrowWidth; left: 50%; - margin-left: -$popoverArrowWidth; - border-width: 0 $popoverArrowWidth $popoverArrowWidth; - border-bottom-color: $popoverArrowColor; + margin-left: -$popoverArrowOuterWidth; + border-top-width: 0; + border-bottom-color: #999; // IE8 fallback + border-bottom-color: $popoverArrowOuterColor; + top: -$popoverArrowOuterWidth; &:after { - border-width: 0 $popoverArrowOuterWidth $popoverArrowOuterWidth; - border-bottom-color: $popoverArrowOuterColor; - top: -1px; - left: -$popoverArrowOuterWidth; + top: 1px; + margin-left: -$popoverArrowWidth; + border-top-width: 0; + border-bottom-color: $popoverArrowColor; } } + &.left .arrow { top: 50%; - right: -$popoverArrowWidth; - margin-top: -$popoverArrowWidth; - border-width: $popoverArrowWidth 0 $popoverArrowWidth $popoverArrowWidth; - border-left-color: $popoverArrowColor; + right: -$popoverArrowOuterWidth; + margin-top: -$popoverArrowOuterWidth; + border-right-width: 0; + border-left-color: #999; // IE8 fallback + border-left-color: $popoverArrowOuterColor; &:after { - border-width: $popoverArrowOuterWidth 0 $popoverArrowOuterWidth $popoverArrowOuterWidth; - border-left-color: $popoverArrowOuterColor; - bottom: -$popoverArrowOuterWidth; - right: -1px; + right: 1px; + border-right-width: 0; + border-left-color: $popoverArrowColor; + bottom: -$popoverArrowWidth; } } + } diff --git a/vendor/assets/stylesheets/bootstrap/_reset.scss b/vendor/assets/stylesheets/bootstrap/_reset.scss index 7760c28689..2f0f029cab 100644 --- a/vendor/assets/stylesheets/bootstrap/_reset.scss +++ b/vendor/assets/stylesheets/bootstrap/_reset.scss @@ -1,5 +1,5 @@ // -// Reset +// Reset CSS // Adapted from http://github.com/necolas/normalize.css // -------------------------------------------------- @@ -122,10 +122,18 @@ input[type="submit"] { -webkit-appearance: button; // Corrects inability to style clickable `input` types in iOS. cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others. } +label, +select, +button, +input[type="button"], +input[type="reset"], +input[type="submit"], +input[type="radio"], +input[type="checkbox"] { + cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others. +} input[type="search"] { // Appearance in Safari/Chrome - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; + @include box-sizing(content-box); -webkit-appearance: textfield; } input[type="search"]::-webkit-search-decoration, @@ -136,3 +144,73 @@ textarea { overflow: auto; // Remove vertical scrollbar in IE6-9 vertical-align: top; // Readability and alignment cross-browser } + + +// Printing +// ------------------------- +// Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css + +@media print { + + * { + text-shadow: none !important; + color: #000 !important; // Black prints faster: h5bp.com/s + background: transparent !important; + box-shadow: none !important; + } + + a, + a:visited { + text-decoration: underline; + } + + a[href]:after { + content: " (" attr(href) ")"; + } + + abbr[title]:after { + content: " (" attr(title) ")"; + } + + // Don't show links for images, or javascript/internal links + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + + thead { + display: table-header-group; // h5bp.com/t + } + + tr, + img { + page-break-inside: avoid; + } + + img { + max-width: 100% !important; + } + + @page { + margin: 0.5cm; + } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { + page-break-after: avoid; + } +} diff --git a/vendor/assets/stylesheets/bootstrap/_tables.scss b/vendor/assets/stylesheets/bootstrap/_tables.scss index 7b4c24297b..21ad792692 100644 --- a/vendor/assets/stylesheets/bootstrap/_tables.scss +++ b/vendor/assets/stylesheets/bootstrap/_tables.scss @@ -48,6 +48,11 @@ table { tbody + tbody { border-top: 2px solid $tableBorder; } + + // Nesting + .table { + background-color: $bodyBackground; + } } @@ -89,51 +94,47 @@ table { border-top: 0; } // For first th or td in the first row in the first thead or tbody - thead:first-child tr:first-child th:first-child, - tbody:first-child tr:first-child td:first-child { - -webkit-border-top-left-radius: 4px; - border-top-left-radius: 4px; - -moz-border-radius-topleft: 4px; - } - thead:first-child tr:first-child th:last-child, - tbody:first-child tr:first-child td:last-child { - -webkit-border-top-right-radius: 4px; - border-top-right-radius: 4px; - -moz-border-radius-topright: 4px; + thead:first-child tr:first-child > th:first-child, + tbody:first-child tr:first-child > td:first-child { + @include border-top-left-radius($baseBorderRadius); } - // For first th or td in the first row in the first thead or tbody - thead:last-child tr:last-child th:first-child, - tbody:last-child tr:last-child td:first-child, - tfoot:last-child tr:last-child td:first-child { - @include border-radius(0 0 0 4px); - -webkit-border-bottom-left-radius: 4px; - border-bottom-left-radius: 4px; - -moz-border-radius-bottomleft: 4px; - } - thead:last-child tr:last-child th:last-child, - tbody:last-child tr:last-child td:last-child, - tfoot:last-child tr:last-child td:last-child { - -webkit-border-bottom-right-radius: 4px; - border-bottom-right-radius: 4px; - -moz-border-radius-bottomright: 4px; + thead:first-child tr:first-child > th:last-child, + tbody:first-child tr:first-child > td:last-child { + @include border-top-right-radius($baseBorderRadius); + } + // For first th or td in the last row in the last thead or tbody + thead:last-child tr:last-child > th:first-child, + tbody:last-child tr:last-child > td:first-child, + tfoot:last-child tr:last-child > td:first-child { + @include border-bottom-left-radius($baseBorderRadius); + } + thead:last-child tr:last-child > th:last-child, + tbody:last-child tr:last-child > td:last-child, + tfoot:last-child tr:last-child > td:last-child { + @include border-bottom-right-radius($baseBorderRadius); } + // Clear border-radius for first and last td in the last row in the last tbody for table with tfoot + tfoot + tbody:last-child tr:last-child td:first-child { + @include border-bottom-left-radius(0); + } + tfoot + tbody:last-child tr:last-child td:last-child { + @include border-bottom-right-radius(0); + } + + // Special fixes to round the left border on the first td/th caption + thead tr:first-child th:first-child, caption + tbody tr:first-child td:first-child, colgroup + thead tr:first-child th:first-child, colgroup + tbody tr:first-child td:first-child { - -webkit-border-top-left-radius: 4px; - border-top-left-radius: 4px; - -moz-border-radius-topleft: 4px; + @include border-top-left-radius($baseBorderRadius); } caption + thead tr:first-child th:last-child, caption + tbody tr:first-child td:last-child, colgroup + thead tr:first-child th:last-child, colgroup + tbody tr:first-child td:last-child { - -webkit-border-top-right-radius: 4px; - border-top-right-radius: 4px; - -moz-border-radius-topright: 4px; + @include border-top-right-radius($baseBorderRadius); } } @@ -147,8 +148,8 @@ table { // Default zebra-stripe styles (alternating gray and transparent backgrounds) .table-striped { tbody { - tr:nth-child(odd) td, - tr:nth-child(odd) th { + > tr:nth-child(odd) > td, + > tr:nth-child(odd) > th { background-color: $tableBackgroundAccent; } } @@ -224,4 +225,4 @@ table th[class*="span"], &.info:hover td { background-color: darken($infoBackground, 5%); } -} \ No newline at end of file +} diff --git a/vendor/assets/stylesheets/bootstrap/_type.scss b/vendor/assets/stylesheets/bootstrap/_type.scss index 7501587dcc..f659f4173e 100644 --- a/vendor/assets/stylesheets/bootstrap/_type.scss +++ b/vendor/assets/stylesheets/bootstrap/_type.scss @@ -20,33 +20,27 @@ p { // Emphasis & misc // ------------------------- -small { - font-size: 85%; // Ex: 14px base font * 85% = about 12px -} -strong { - font-weight: bold; -} -em { - font-style: italic; -} -cite { - font-style: normal; -} +// Ex: 14px base font * 85% = about 12px +small { font-size: 85%; } + +strong { font-weight: bold; } +em { font-style: italic; } +cite { font-style: normal; } // Utility classes -.muted { - color: $grayLight; -} -.text-warning { color: $warningText; } +.muted { color: $grayLight; } +a.muted:hover { color: darken($grayLight, 10%); } + +.text-warning { color: $warningText; } a.text-warning:hover { color: darken($warningText, 10%); } -.text-error { color: $errorText; } -a.text-error:hover { color: darken($errorText, 10%); } +.text-error { color: $errorText; } +a.text-error:hover { color: darken($errorText, 10%); } -.text-info { color: $infoText; } -a.text-info:hover { color: darken($infoText, 10%); } +.text-info { color: $infoText; } +a.text-info:hover { color: darken($infoText, 10%); } -.text-success { color: $successText; } +.text-success { color: $successText; } a.text-success:hover { color: darken($successText, 10%); } @@ -112,12 +106,26 @@ ol ul { li { line-height: $baseLineHeight; } + +// Remove default list styles ul.unstyled, ol.unstyled { margin-left: 0; list-style: none; } +// Single-line list items +ul.inline, +ol.inline { + margin-left: 0; + list-style: none; + & > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; + } +} + // Description Lists dl { margin-bottom: $baseLineHeight; diff --git a/vendor/assets/stylesheets/bootstrap/_variables.scss b/vendor/assets/stylesheets/bootstrap/_variables.scss index 935f786bde..66c47d61b8 100644 --- a/vendor/assets/stylesheets/bootstrap/_variables.scss +++ b/vendor/assets/stylesheets/bootstrap/_variables.scss @@ -66,13 +66,13 @@ $fontSizeLarge: $baseFontSize * 1.25; // ~18px $fontSizeSmall: $baseFontSize * 0.85; // ~12px $fontSizeMini: $baseFontSize * 0.75; // ~11px -$paddingLarge: 11px 19px; // 44px -$paddingSmall: 2px 10px; // 26px -$paddingMini: 1px 6px; // 24px +$paddingLarge: 11px 19px !default; // 44px +$paddingSmall: 2px 10px !default; // 26px +$paddingMini: 0px 6px !default; // 22px -$baseBorderRadius: 4px; -$borderRadiusLarge: 6px; -$borderRadiusSmall: 3px; +$baseBorderRadius: 4px !default; +$borderRadiusLarge: 6px !default; +$borderRadiusSmall: 3px !default; // Tables @@ -167,7 +167,7 @@ $hrBorder: $grayLighter !default; // Horizontal forms & lists // ------------------------- -$horizontalComponentOffset: 180px; +$horizontalComponentOffset: 180px !default; // Wells diff --git a/vendor/assets/stylesheets/bootstrap/bootstrap.scss b/vendor/assets/stylesheets/bootstrap/bootstrap.scss index e15a22e83f..62efb1e28a 100644 --- a/vendor/assets/stylesheets/bootstrap/bootstrap.scss +++ b/vendor/assets/stylesheets/bootstrap/bootstrap.scss @@ -1,5 +1,5 @@ /*! - * Bootstrap v2.2.1 + * Bootstrap v2.2.2 * * 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 2814263cba..9b9bca4b09 100644 --- a/vendor/assets/stylesheets/bootstrap/responsive.scss +++ b/vendor/assets/stylesheets/bootstrap/responsive.scss @@ -1,5 +1,5 @@ /*! - * Bootstrap Responsive v2.2.1 + * Bootstrap Responsive v2.2.2 * * Copyright 2012 Twitter, Inc * Licensed under the Apache License v2.0 @@ -14,6 +14,15 @@ // ------------------------------------------------------------- +// IE10 Metro responsive +// Required for Windows 8 Metro split-screen snapping with IE10 +// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/ + +@-ms-viewport{ + width: device-width; +} + + // REPEAT VARIABLES & MIXINS // ------------------------- // Required since we compile the responsive stuff separately From 9fea2b937d8508e6cd21330a3599ecfa1f0986d4 Mon Sep 17 00:00:00 2001 From: Tristan Harward Date: Tue, 11 Dec 2012 11:28:31 -0500 Subject: [PATCH 3/3] Bump version numbers to 2.2.2.0 --- README.md | 4 ++-- bootstrap-sass.gemspec | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b7aed45916..01b1a1c71b 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Enjoy. In your Gemfile: gem 'sass-rails', '~> 3.2' - gem 'bootstrap-sass', '~> 2.2.1.1' + gem 'bootstrap-sass', '~> 2.2.2.0' #### CSS @@ -94,7 +94,7 @@ Basically this means you should expect to append a separate patch version to the ### Bundler? - gem 'bootstrap-sass', '~> 2.2.1.1' + gem 'bootstrap-sass', '~> 2.2.2.0' Don't use the standard `~> 2.x.y`. Your apps may break. diff --git a/bootstrap-sass.gemspec b/bootstrap-sass.gemspec index efb9ef4be5..6335093f95 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.1.1' + s.version = '2.2.2.0' s.authors = ["Thomas McDonald"] s.email = 'tom@conceptcoding.co.uk' s.summary = "Twitter's Bootstrap, converted to Sass and ready to drop into Rails or Compass"