From 321190535f09b41683589c7e255a087b4671d36a Mon Sep 17 00:00:00 2001 From: Bass Jobsen Date: Wed, 26 Jun 2013 01:05:45 +0200 Subject: [PATCH 01/14] Update mixins.less Add a the function .make-small-column. See also http://stackoverflow.com/a/17308128/1596547 --- less/mixins.less | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/less/mixins.less b/less/mixins.less index 879836a8c..78574b368 100644 --- a/less/mixins.less +++ b/less/mixins.less @@ -474,7 +474,21 @@ } } - +// Generate the small columns +.make-small-column(@columns) { + position: relative; + float: left; + // Prevent columns from collapsing when empty + min-height: 1px; + // Inner gutter via padding + padding-left: (@grid-gutter-width / 2); + padding-right: (@grid-gutter-width / 2); + @max : (@grid-float-breakpoint - 1 ); + // Calculate width based on number of columns available + @media (max-width: @max) { + width: percentage((@columns / @grid-columns)); + } +} // Framework mixins // -------------------------------------------------- From 2d56997c613ed77d2e7a85409e9a36289260bc76 Mon Sep 17 00:00:00 2001 From: Joey Baker Date: Wed, 3 Jul 2013 08:11:28 -0700 Subject: [PATCH 02/14] Remove unneeded prefixes Per caniuse, prefixes for transitions and transforms can be reduced to just `-webkit` and `-ms`. http://caniuse.com/#search=transform http://caniuse.com/#search=transition --- less/mixins.less | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/less/mixins.less b/less/mixins.less index eb05623ac..81293ab6e 100644 --- a/less/mixins.less +++ b/less/mixins.less @@ -110,56 +110,40 @@ // Transitions .transition(@transition) { -webkit-transition: @transition; - -moz-transition: @transition; - -o-transition: @transition; transition: @transition; } .transition-delay(@transition-delay) { -webkit-transition-delay: @transition-delay; - -moz-transition-delay: @transition-delay; - -o-transition-delay: @transition-delay; transition-delay: @transition-delay; } .transition-duration(@transition-duration) { -webkit-transition-duration: @transition-duration; - -moz-transition-duration: @transition-duration; - -o-transition-duration: @transition-duration; transition-duration: @transition-duration; } // Transformations .rotate(@degrees) { -webkit-transform: rotate(@degrees); - -moz-transform: rotate(@degrees); -ms-transform: rotate(@degrees); - -o-transform: rotate(@degrees); transform: rotate(@degrees); } .scale(@ratio) { -webkit-transform: scale(@ratio); - -moz-transform: scale(@ratio); -ms-transform: scale(@ratio); - -o-transform: scale(@ratio); transform: scale(@ratio); } .translate(@x, @y) { -webkit-transform: translate(@x, @y); - -moz-transform: translate(@x, @y); -ms-transform: translate(@x, @y); - -o-transform: translate(@x, @y); transform: translate(@x, @y); } .skew(@x, @y) { -webkit-transform: skew(@x, @y); - -moz-transform: skew(@x, @y); -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twitter/bootstrap/issues/4885 - -o-transform: skew(@x, @y); transform: skew(@x, @y); } .translate3d(@x, @y, @z) { -webkit-transform: translate3d(@x, @y, @z); - -moz-transform: translate3d(@x, @y, @z); - -o-transform: translate3d(@x, @y, @z); transform: translate3d(@x, @y, @z); } @@ -175,16 +159,11 @@ // Background clipping .background-clip(@clip) { - -webkit-background-clip: @clip; - -moz-background-clip: @clip; background-clip: @clip; } // Background sizing .background-size(@size) { - -webkit-background-size: @size; - -moz-background-size: @size; - -o-background-size: @size; background-size: @size; } From 8a84da6341e19011ce8f8e518d7b1cb7f0931da5 Mon Sep 17 00:00:00 2001 From: Maurice Wahba Date: Sat, 6 Jul 2013 22:20:56 +0400 Subject: [PATCH 03/14] Carousel no longer dependent on glyphicons Used laquo/raquo for control buttons Updated docs --- docs/assets/css/bootstrap.css | 16 ++++++++++++++-- docs/javascript.html | 16 ++++++++++------ less/carousel.less | 17 +++++++++++++++-- 3 files changed, 39 insertions(+), 10 deletions(-) diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index d3bea53f3..2f6904cce 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -4396,7 +4396,9 @@ a.list-group-item.active > .badge, filter: alpha(opacity=90); } -.carousel-control .glyphicon { +.carousel-control .glyphicon, +.carousel-control .icon-prev, +.carousel-control .icon-next { position: absolute; top: 50%; left: 50%; @@ -4408,6 +4410,14 @@ a.list-group-item.active > .badge, margin-left: -10px; } +.carousel-control .icon-prev:before { + content: '\00ab'; +} + +.carousel-control .icon-next:before { + content: '\00bb'; +} + .carousel-indicators { position: absolute; bottom: 20px; @@ -4456,7 +4466,9 @@ a.list-group-item.active > .badge, } @media screen and (min-width: 768px) { - .carousel-control .glyphicon { + .carousel-control .glyphicon, + .carousel-control .icon-prev, + .carousel-control .icon-next { width: 30px; height: 30px; margin-top: -15px; diff --git a/docs/javascript.html b/docs/javascript.html index 91198bd19..0f5d37259 100644 --- a/docs/javascript.html +++ b/docs/javascript.html @@ -1512,10 +1512,10 @@ $('#myCollapsible').on('hidden.bs.collapse', function () { - + - + @@ -1541,13 +1541,17 @@ $('#myCollapsible').on('hidden.bs.collapse', function () { - + - + {% endhighlight %} +
+

Glyphicon Alternative

+

With Glyphicons available, you may choose to style the left and right toggle buttons with .glyphicon-chevron-left and .glyphicon-chevron-right.

+

Optional captions

Add captions to your slides easily with the .carousel-caption element within any .item. Place just about any optional HTML within there and it will be automatically aligned and formatted.

@@ -1586,10 +1590,10 @@ $('#myCollapsible').on('hidden.bs.collapse', function () { - + - + diff --git a/less/carousel.less b/less/carousel.less index 8834c6f7b..d41fc07ad 100644 --- a/less/carousel.less +++ b/less/carousel.less @@ -99,7 +99,7 @@ } // Toggles - .glyphicon { + .glyphicon, .icon-prev, .icon-next { position: absolute; top: 50%; left: 50%; @@ -110,6 +110,17 @@ margin-top: -10px; margin-left: -10px; } + // Non-glyphicon toggles + .icon-prev { + &:before { + content: '\00ab'; + } + } + .icon-next { + &:before { + content: '\00bb'; + } + } } // Optional indicator pips @@ -167,7 +178,9 @@ @media screen and (min-width: @screen-tablet) { // Scale up the controls a smidge - .carousel-control .glyphicon { + .carousel-control .glyphicon, + .carousel-control .icon-prev, + .carousel-control .icon-next { width: 30px; height: 30px; margin-top: -15px; From 3604b868064f6e48e1301b1148779a8a819200fc Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Wed, 17 Jul 2013 23:41:05 -0700 Subject: [PATCH 04/14] fixes #8477: use var for rounded image border-radius --- less/scaffolding.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/less/scaffolding.less b/less/scaffolding.less index 8fc3a2360..b6128dc5d 100644 --- a/less/scaffolding.less +++ b/less/scaffolding.less @@ -71,7 +71,7 @@ img { // Rounded corners .img-rounded { - border-radius: 6px; + border-radius: @border-radius-large; } // Image thumbnails From e57758cbb453602549742360120653e08863671f Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Wed, 17 Jul 2013 23:54:09 -0700 Subject: [PATCH 05/14] Drop `.nav-header` for `.dropdown-header` * Since we no longer have `.nav-list`, I've nuked the `.nav-header` * However, dropdowns can still have section headings, so I've kept that around with the addition of `.dropdown-header` * Restyled it a smidge as well --- docs/_includes/nav-components.html | 1 + docs/assets/css/bootstrap.css | 24 ++++++++---------------- docs/components.html | 25 +++++++++++++++++++++++++ less/dropdowns.less | 19 +++++++++++-------- less/navs.less | 16 ---------------- 5 files changed, 45 insertions(+), 40 deletions(-) diff --git a/docs/_includes/nav-components.html b/docs/_includes/nav-components.html index ed00b62fa..514dcfed3 100644 --- a/docs/_includes/nav-components.html +++ b/docs/_includes/nav-components.html @@ -3,6 +3,7 @@ diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index e625405e2..237769521 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -2275,6 +2275,14 @@ input[type="button"].btn-block { outline: 0; } +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.428571429; + color: #999999; +} + .dropdown-backdrop { position: fixed; top: 0; @@ -2303,11 +2311,6 @@ input[type="button"].btn-block { margin-bottom: 1px; } -.dropdown .dropdown-menu .nav-header { - padding-right: 20px; - padding-left: 20px; -} - .list-group { padding-left: 0; margin-bottom: 20px; @@ -2710,17 +2713,6 @@ button.close { text-align: center; } -.nav-header { - display: block; - padding: 3px 15px; - font-size: 11px; - font-weight: bold; - line-height: 1.428571429; - color: #999999; - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); - text-transform: uppercase; -} - .tabbable:before, .tabbable:after { display: table; diff --git a/docs/components.html b/docs/components.html index 5cc3a1e28..9202b133a 100644 --- a/docs/components.html +++ b/docs/components.html @@ -46,6 +46,31 @@ lead: "Dozens of reusable components built to provide iconography, dropdowns, na +{% endhighlight %} + + +

Add a header to break up label sections of actions in any dropdown menu.

+
+ +
+{% highlight html %} + {% endhighlight %} diff --git a/less/dropdowns.less b/less/dropdowns.less index 8ae9dbba1..7e35d4287 100644 --- a/less/dropdowns.less +++ b/less/dropdowns.less @@ -120,6 +120,17 @@ } } +// Dropdown section headers +// --------------------------- +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: @font-size-small; + line-height: @line-height-base; + color: @gray-light; +} + + // Backdrop to catch body clicks on mobile, etc. // --------------------------- @@ -158,11 +169,3 @@ margin-bottom: 1px; } } - -// Tweak nav headers -// --------------------------- -// Increase padding from 15px to 20px on sides -.dropdown .dropdown-menu .nav-header { - padding-left: 20px; - padding-right: 20px; -} diff --git a/less/navs.less b/less/navs.less index 87780a156..9f671643a 100644 --- a/less/navs.less +++ b/less/navs.less @@ -195,22 +195,6 @@ -// Nav headers (for dropdowns and lists) -// ------------------------- - -.nav-header { - display: block; - padding: 3px 15px; - font-size: @font-size-mini; - font-weight: bold; - line-height: @line-height-base; - color: @gray-light; - text-shadow: 0 1px 0 rgba(255,255,255,.5); - text-transform: uppercase; -} - - - // Tabbable tabs // ------------------------- From bc79f8a399a01a8dc1c814a48103aadb11457ee6 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Wed, 17 Jul 2013 23:55:58 -0700 Subject: [PATCH 06/14] Bump tooltips to use `@font-size-small` (11px to 12px) --- docs/assets/css/bootstrap.css | 2 +- less/tooltip.less | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index 237769521..f74f5fb02 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -3599,7 +3599,7 @@ button.close { position: absolute; z-index: 1030; display: block; - font-size: 11px; + font-size: 12px; line-height: 1.4; opacity: 0; filter: alpha(opacity=0); diff --git a/less/tooltip.less b/less/tooltip.less index 790eb1cd3..fef430900 100644 --- a/less/tooltip.less +++ b/less/tooltip.less @@ -9,7 +9,7 @@ z-index: @zindex-tooltip; display: block; visibility: visible; - font-size: @font-size-mini; + font-size: @font-size-small; line-height: 1.4; .opacity(0); From e5bfd8c00b906b5be8030e2871399fe3634bf6e5 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Wed, 17 Jul 2013 23:56:20 -0700 Subject: [PATCH 07/14] Fixes #8441: remove `@font-size-mini` --- less/variables.less | 1 - 1 file changed, 1 deletion(-) diff --git a/less/variables.less b/less/variables.less index fdd5929db..33db5fd64 100644 --- a/less/variables.less +++ b/less/variables.less @@ -48,7 +48,6 @@ @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-mini: ceil(@font-size-base * 0.75); // ~11px @line-height-base: 1.428571429; // 20/14 @line-height-computed: floor(@font-size-base * @line-height-base); // ~20px From 87adbf7aa4eb4ba73813f440d8baf05a3cb434f2 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Wed, 17 Jul 2013 23:56:38 -0700 Subject: [PATCH 08/14] make on collapse changes --- docs/assets/js/bootstrap.js | 15 ++++++++------- docs/assets/js/bootstrap.min.js | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/assets/js/bootstrap.js b/docs/assets/js/bootstrap.js index cf921cf2a..a095d6973 100644 --- a/docs/assets/js/bootstrap.js +++ b/docs/assets/js/bootstrap.js @@ -604,21 +604,22 @@ // ================= $(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (e) { - var $this = $(this), href - var target = $this.attr('data-target') + var $this = $(this), href + var target = $this.attr('data-target') || e.preventDefault() || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 - var data = $(target).data('bs.collapse') - var option = data ? 'toggle' : $this.data() - var parent = $this.attr('data-parent') + var $target = $(target) + var data = $target.data('bs.collapse') + var option = data ? 'toggle' : $this.data() + var parent = $this.attr('data-parent') var $parent = parent && $(parent) if (!data || !data.transitioning) { if ($parent) $parent.find('[data-toggle=collapse][data-parent=' + parent + ']').not($this).addClass('collapsed') - $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') + $this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed') } - $(target).collapse(option) + $target.collapse(option) }) }(window.jQuery); diff --git a/docs/assets/js/bootstrap.min.js b/docs/assets/js/bootstrap.min.js index 67ab8ce9d..483c6c47a 100644 --- a/docs/assets/js/bootstrap.min.js +++ b/docs/assets/js/bootstrap.min.js @@ -3,4 +3,4 @@ * Copyright 2012 Twitter, Inc. * http://www.apache.org/licenses/LICENSE-2.0.txt */ -+function(e){"use strict";function t(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in t)if(e.style[n]!==undefined)return{end:t[n]}}e(function(){e.support.transition=t()})}(window.jQuery),+function(e){"use strict";var t='[data-dismiss="alert"]',n=function(n){e(n).on("click",t,this.close)};n.prototype.close=function(t){function s(){i.trigger("closed.bs.alert").remove()}var n=e(this),r=n.attr("data-target");r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));var i=e(r);t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close.bs.alert"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()};var r=e.fn.alert;e.fn.alert=function(t){return this.each(function(){var r=e(this),i=r.data("bs.alert");i||r.data("bs.alert",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.alert.Constructor=n,e.fn.alert.noConflict=function(){return e.fn.alert=r,this},e(document).on("click.bs.alert.data-api",t,n.prototype.close)}(window.jQuery),+function(e){"use strict";var t=function(n,r){this.$element=e(n),this.options=e.extend({},t.DEFAULTS,r)};t.DEFAULTS={loadingText:"loading..."},t.prototype.setState=function(e){var t="disabled",n=this.$element,r=n.is("input")?"val":"html",i=n.data();e+="Text",i.resetText||n.data("resetText",n[r]()),n[r](i[e]||this.options[e]),setTimeout(function(){e=="loadingText"?n.addClass(t).attr(t,t):n.removeClass(t).removeAttr(t)},0)},t.prototype.toggle=function(){var e=this.$element.closest('[data-toggle="buttons-radio"]');e&&e.find(".active").removeClass("active"),this.$element.toggleClass("active")};var n=e.fn.button;e.fn.button=function(n){return this.each(function(){var r=e(this),i=r.data("button"),s=typeof n=="object"&&n;i||r.data("bs.button",i=new t(this,s)),n=="toggle"?i.toggle():n&&i.setState(n)})},e.fn.button.Constructor=t,e.fn.button.noConflict=function(){return e.fn.button=n,this},e(document).on("click.bs.button.data-api","[data-toggle^=button]",function(t){var n=e(t.target);n.hasClass("btn")||(n=n.closest(".btn")),n.button("toggle")})}(window.jQuery),+function(e){"use strict";var t=function(t,n){this.$element=e(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.pause=="hover"&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};t.DEFAULTS={interval:5e3,pause:"hover"},t.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},t.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},t.prototype.to=function(t){var n=this,r=this.getActiveIndex();if(t>this.$items.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){n.to(t)}):r==t?this.pause().cycle():this.slide(t>r?"next":"prev",e(this.$items[t]))},t.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition.end&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},t.prototype.next=function(){if(this.sliding)return;return this.slide("next")},t.prototype.prev=function(){if(this.sliding)return;return this.slide("prev")},t.prototype.slide=function(t,n){var r=this.$element.find(".item.active"),i=n||r[t](),s=this.interval,o=t=="next"?"left":"right",u=t=="next"?"first":"last",a=this;this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u]();var f=e.Event("slide.bs.carousel",{relatedTarget:i[0],direction:o});if(i.hasClass("active"))return;this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var t=e(a.$indicators.children()[a.getActiveIndex()]);t&&t.addClass("active")}));if(e.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(f);if(f.isDefaultPrevented())return;i.addClass(t),i[0].offsetWidth,r.addClass(o),i.addClass(o),this.$element.find(".item").one(e.support.transition.end,function(){i.removeClass([t,o].join(" ")).addClass("active"),r.removeClass(["active",o].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger("slid")},0)})}else{this.$element.trigger(f);if(f.isDefaultPrevented())return;r.removeClass("active"),i.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return s&&this.cycle(),this};var n=e.fn.carousel;e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data("bs.carousel"),s=e.extend({},t.DEFAULTS,typeof n=="object"&&n),o=typeof n=="string"?n:s.slide;i||r.data("bs.carousel",i=new t(this,s)),typeof n=="number"?i.to(n):o?i[o]():s.interval&&i.pause().cycle()})},e.fn.carousel.Constructor=t,e.fn.carousel.noConflict=function(){return e.fn.carousel=n,this},e(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(t){var n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=e.extend({},i.data(),n.data()),o=n.attr("data-slide-to");o&&(s.interval=!1),i.carousel(s),(o=n.attr("data-slide-to"))&&i.data("bs.carousel").to(o),t.preventDefault()}),e(window).on("load",function(){e('[data-ride="carousel"]').each(function(){var t=e(this);t.carousel(t.data())})})}(window.jQuery),+function(e){"use strict";var t=function(n,r){this.$element=e(n),this.options=e.extend({},t.DEFAULTS,r),this.transitioning=null,this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};t.DEFAULTS={toggle:!0},t.prototype.dimension=function(){var e=this.$element.hasClass("width");return e?"width":"height"},t.prototype.show=function(){if(this.transitioning||this.$element.hasClass("in"))return;var t=e.Event("show.bs.collapse");this.$element.trigger(t);if(t.isDefaultPrevented())return;var n=this.dimension(),r=e.camelCase(["scroll",n].join("-")),i=this.$parent&&this.$parent.find("> .accordion-group > .in");if(i&&i.length){var s=i.data("bs.collapse");if(s&&s.transitioning)return;i.collapse("hide"),s||i.data("bs.collapse",null)}this.$element[n](0),this.transition("addClass","shown.bs.collapse"),e.support.transition&&this.$element[n](this.$element[0][r])},t.prototype.hide=function(){if(this.transitioning||!this.$element.hasClass("in"))return;var t=e.Event("hide.bs.collapse");this.$element.trigger(t);if(t.isDefaultPrevented())return;var n=this.dimension();this.reset(this.$element[n]()),this.transition("removeClass","shown.bs.hidden"),this.$element[n](0)},t.prototype.reset=function(e){var t=this.dimension();return this.$element.removeClass("collapse")[t](e||"auto")[0].offsetWidth,this.$element[e!=null?"addClass":"removeClass"]("collapse"),this},t.prototype.transition=function(t,n){var r=this,i=function(){n=="shown.bs.collapse"&&r.reset(),r.transitioning=0,r.$element.trigger(n)};this.transitioning=1,this.$element[t]("in"),e.support.transition&&this.$element.hasClass("collapse")?this.$element.one(e.support.transition.end,i):i()},t.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var n=e.fn.collapse;e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("bs.collapse"),s=e.extend({},t.DEFAULTS,r.data(),typeof n=="object"&&n);i||r.data("bs.collapse",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.collapse.Constructor=t,e.fn.collapse.noConflict=function(){return e.fn.collapse=n,this},e(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(t){var n=e(this),r,i=n.attr("data-target")||t.preventDefault()||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""),s=e(i).data("bs.collapse"),o=s?"toggle":n.data(),u=n.attr("data-parent"),a=u&&e(u);if(!s||!s.transitioning)a&&a.find("[data-toggle=collapse][data-parent="+u+"]").not(n).addClass("collapsed"),n[e(i).hasClass("in")?"addClass":"removeClass"]("collapsed");e(i).collapse(o)})}(window.jQuery),+function(e){"use strict";function i(){e(t).remove(),e(n).each(function(t){var n=s(e(this));if(!n.hasClass("open"))return;n.trigger(t=e.Event("hide.bs.dropdown"));if(t.isDefaultPrevented())return;n.removeClass("open").trigger("hidden.bs.dropdown")})}function s(t){var n=t.attr("data-target");n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,""));var r=n&&e(n);return r&&r.length?r:t.parent()}var t=".dropdown-backdrop",n="[data-toggle=dropdown]",r=function(t){var n=e(t).on("click.bs.dropdown",this.toggle)};r.prototype.toggle=function(t){var n=e(this);if(n.is(".disabled, :disabled"))return;var r=s(n),o=r.hasClass("open");i();if(!o){"ontouchstart"in document.documentElement&&e(' diff --git a/less/tables.less b/less/tables.less index 3a546917c..b742897c1 100644 --- a/less/tables.less +++ b/less/tables.less @@ -219,6 +219,11 @@ table { // Exact selectors below required to override .table-striped .table > tbody > tr { + > td.active, + > th.active, + &.active > td { + background-color: @table-bg-hover; + } > td.success, > th.success, &.success > td { From e7bc9e1c3d60c2ac748896fcc0e31855f63590ef Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Thu, 18 Jul 2013 00:23:35 -0700 Subject: [PATCH 10/14] Vurrriables and shit --- less/variables.less | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/less/variables.less b/less/variables.less index 33db5fd64..daeccb4b7 100644 --- a/less/variables.less +++ b/less/variables.less @@ -85,7 +85,8 @@ @table-bg: transparent; // overall background-color @table-bg-accent: #f9f9f9; // for striping -@table-bg-hover: #f5f5f5; // for hover +@table-bg-hover: #f5f5f5; +@table-bg-active: @table-bg-hover; @table-border-color: #ddd; // table and cell border From 8dc7807dcdd67881280ea8d7d3f58bc7ce5b31ca Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Thu, 18 Jul 2013 00:48:02 -0700 Subject: [PATCH 11/14] change characters --- docs/assets/css/bootstrap.css | 4 ++-- less/carousel.less | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index 888d0bbc8..26c34f59d 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -4405,11 +4405,11 @@ a.list-group-item.active > .badge, } .carousel-control .icon-prev:before { - content: '\00ab'; + content: '\2039'; } .carousel-control .icon-next:before { - content: '\00bb'; + content: '\203a'; } .carousel-indicators { diff --git a/less/carousel.less b/less/carousel.less index d41fc07ad..40d7e277e 100644 --- a/less/carousel.less +++ b/less/carousel.less @@ -99,7 +99,9 @@ } // Toggles - .glyphicon, .icon-prev, .icon-next { + .glyphicon, + .icon-prev, + .icon-next { position: absolute; top: 50%; left: 50%; @@ -113,12 +115,12 @@ // Non-glyphicon toggles .icon-prev { &:before { - content: '\00ab'; + content: '\2039'; } } .icon-next { &:before { - content: '\00bb'; + content: '\203a'; } } } From f757cf4cf312a55d44b6484692efe080107b7342 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Thu, 18 Jul 2013 00:50:57 -0700 Subject: [PATCH 12/14] run make on mixin changes from #8380 --- docs/assets/css/bootstrap.css | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index 26c34f59d..8c895e995 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -1354,8 +1354,6 @@ input[type="color"] { -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; - -moz-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; - -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; } @@ -2150,8 +2148,6 @@ input[type="button"].btn-block { .fade { opacity: 0; -webkit-transition: opacity 0.15s linear; - -moz-transition: opacity 0.15s linear; - -o-transition: opacity 0.15s linear; transition: opacity 0.15s linear; } @@ -2164,8 +2160,6 @@ input[type="button"].btn-block { height: 0; overflow: hidden; -webkit-transition: height 0.35s ease; - -moz-transition: height 0.35s ease; - -o-transition: height 0.35s ease; transition: height 0.35s ease; } @@ -2202,9 +2196,7 @@ input[type="button"].btn-block { border-radius: 4px; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - -webkit-background-clip: padding-box; - -moz-background-clip: padding-box; - background-clip: padding-box; + background-clip: padding-box; } .dropdown-menu.pull-right { @@ -3473,8 +3465,6 @@ button.close { .modal.fade { top: -25%; -webkit-transition: opacity 0.3s linear, top 0.3s ease-out; - -moz-transition: opacity 0.3s linear, top 0.3s ease-out; - -o-transition: opacity 0.3s linear, top 0.3s ease-out; transition: opacity 0.3s linear, top 0.3s ease-out; } @@ -3501,9 +3491,7 @@ button.close { outline: none; -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); - -webkit-background-clip: padding-box; - -moz-background-clip: padding-box; - background-clip: padding-box; + background-clip: padding-box; } .modal-backdrop { @@ -3948,8 +3936,6 @@ button.close { border: 1px solid #dddddd; border-radius: 4px; -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } @@ -4181,8 +4167,6 @@ a.list-group-item.active > .badge, -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -webkit-transition: width 0.6s ease; - -moz-transition: width 0.6s ease; - -o-transition: width 0.6s ease; transition: width 0.6s ease; } @@ -4192,10 +4176,7 @@ a.list-group-item.active > .badge, background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - -webkit-background-size: 40px 40px; - -moz-background-size: 40px 40px; - -o-background-size: 40px 40px; - background-size: 40px 40px; + background-size: 40px 40px; } .progress.active .progress-bar { @@ -4293,8 +4274,6 @@ a.list-group-item.active > .badge, position: relative; display: none; -webkit-transition: 0.6s ease-in-out left; - -moz-transition: 0.6s ease-in-out left; - -o-transition: 0.6s ease-in-out left; transition: 0.6s ease-in-out left; } From d87431a29e6ca3e58df50209ba5f6d487cd1c780 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Thu, 18 Jul 2013 00:56:36 -0700 Subject: [PATCH 13/14] spacing and local var rename --- less/mixins.less | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/less/mixins.less b/less/mixins.less index 18e9a5c8f..4dbfa83ef 100644 --- a/less/mixins.less +++ b/less/mixins.less @@ -442,8 +442,6 @@ .clearfix(); } -// Make a grid - // Creates a wrapper for a series of columns .make-row() { // Then clear the floated columns @@ -460,6 +458,7 @@ margin-right: (@grid-gutter-width / -2); } } + // Generate the columns .make-column(@columns) { position: relative; @@ -475,6 +474,7 @@ width: percentage((@columns / @grid-columns)); } } + // Generate the column offsets .make-column-offset(@columns) { @media (min-width: @grid-float-breakpoint) { @@ -501,9 +501,10 @@ // Inner gutter via padding padding-left: (@grid-gutter-width / 2); padding-right: (@grid-gutter-width / 2); - @max : (@grid-float-breakpoint - 1 ); + @max-width: (@grid-float-breakpoint - 1); + // Calculate width based on number of columns available - @media (max-width: @max) { + @media (max-width: @max-width) { width: percentage((@columns / @grid-columns)); } } From 181b27677492050adceaa52fe972115515759f07 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Thu, 18 Jul 2013 01:04:54 -0700 Subject: [PATCH 14/14] Fixes #8397: better navbar padding with grid gutter stuff --- docs/assets/css/bootstrap.css | 2 +- less/navbar.less | 8 ++++---- less/variables.less | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index 8c895e995..3c74388b6 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -2848,7 +2848,7 @@ button.close { .navbar-brand { display: block; max-width: 200px; - padding: 15px; + padding: 15px 15px; margin-right: auto; margin-left: auto; font-size: 18px; diff --git a/less/navbar.less b/less/navbar.less index 7a6e80488..181849057 100644 --- a/less/navbar.less +++ b/less/navbar.less @@ -6,8 +6,8 @@ .navbar { position: relative; margin-bottom: 20px; - padding-left: @navbar-padding; - padding-right: @navbar-padding; + padding-left: @navbar-padding-horizontal; + padding-right: @navbar-padding-horizontal; background-color: @navbar-bg; border-radius: @border-radius-base; @@ -100,7 +100,7 @@ max-width: 200px; margin-left: auto; margin-right: auto; - padding: @navbar-padding; + padding: @navbar-padding-vertical @navbar-padding-horizontal; font-size: @font-size-large; font-weight: 500; line-height: @line-height-computed; @@ -298,7 +298,7 @@ .navbar-brand { float: left; - margin-left: -(@navbar-padding); + margin-left: -(@navbar-padding-horizontal); margin-right: 5px; } .navbar-nav { diff --git a/less/variables.less b/less/variables.less index daeccb4b7..b28d33091 100644 --- a/less/variables.less +++ b/less/variables.less @@ -176,7 +176,8 @@ @navbar-height: 50px; @navbar-color: #777; @navbar-bg: #eee; -@navbar-padding: floor(@grid-gutter-width / 2); // ~15px +@navbar-padding-horizontal: floor(@grid-gutter-width / 2); // ~15px +@navbar-padding-vertical: 15px; // Navbar links @navbar-link-color: #777;