From 474471b83140350de320f3ba940bd7dd8326b32e Mon Sep 17 00:00:00 2001 From: Carl Porth Date: Wed, 26 Sep 2012 23:11:03 -0700 Subject: bind data-api events to document instead of body to allow body replacement --- js/bootstrap-alert.js | 2 +- js/bootstrap-button.js | 2 +- js/bootstrap-carousel.js | 2 +- js/bootstrap-collapse.js | 2 +- js/bootstrap-dropdown.js | 2 +- js/bootstrap-modal.js | 2 +- js/bootstrap-tab.js | 2 +- js/bootstrap-typeahead.js | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/js/bootstrap-alert.js b/js/bootstrap-alert.js index 8500bd273..ea3209ed1 100644 --- a/js/bootstrap-alert.js +++ b/js/bootstrap-alert.js @@ -84,7 +84,7 @@ * ============== */ $(function () { - $('body').on('click.alert.data-api', dismiss, Alert.prototype.close) + $(document).on('click.alert.data-api', dismiss, Alert.prototype.close) }) }(window.jQuery); \ No newline at end of file diff --git a/js/bootstrap-button.js b/js/bootstrap-button.js index cc2d0048f..4c0b725c7 100644 --- a/js/bootstrap-button.js +++ b/js/bootstrap-button.js @@ -86,7 +86,7 @@ * =============== */ $(function () { - $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) { + $(document).on('click.button.data-api', '[data-toggle^=button]', function ( e ) { var $btn = $(e.target) if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') $btn.button('toggle') diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js index 0d7167e1c..8751b320c 100644 --- a/js/bootstrap-carousel.js +++ b/js/bootstrap-carousel.js @@ -164,7 +164,7 @@ * ================= */ $(function () { - $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) { + $(document).on('click.carousel.data-api', '[data-slide]', function ( e ) { var $this = $(this), href , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data()) diff --git a/js/bootstrap-collapse.js b/js/bootstrap-collapse.js index 734575800..781e27437 100644 --- a/js/bootstrap-collapse.js +++ b/js/bootstrap-collapse.js @@ -144,7 +144,7 @@ * ==================== */ $(function () { - $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { + $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { var $this = $(this), href , target = $this.attr('data-target') || e.preventDefault() diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index 0ef9b0f9d..5a2766fde 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -141,7 +141,7 @@ $(function () { $('html') .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) - $('body') + $(document) .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', 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/js/bootstrap-modal.js b/js/bootstrap-modal.js index d53f13a00..8a40c2d4e 100644 --- a/js/bootstrap-modal.js +++ b/js/bootstrap-modal.js @@ -216,7 +216,7 @@ * ============== */ $(function () { - $('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) { + $(document).on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) { var $this = $(this) , href = $this.attr('href') , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7 diff --git a/js/bootstrap-tab.js b/js/bootstrap-tab.js index 4fb3c3839..14387a1bf 100644 --- a/js/bootstrap-tab.js +++ b/js/bootstrap-tab.js @@ -126,7 +126,7 @@ * ============ */ $(function () { - $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { + $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { e.preventDefault() $(this).tab('show') }) diff --git a/js/bootstrap-typeahead.js b/js/bootstrap-typeahead.js index 78cbe9faa..ab1d66879 100644 --- a/js/bootstrap-typeahead.js +++ b/js/bootstrap-typeahead.js @@ -298,7 +298,7 @@ * ================== */ $(function () { - $('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) { + $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) { var $this = $(this) if ($this.data('typeahead')) return e.preventDefault() -- cgit v1.2.3 From e9a648cd39dc6b5e0f126b7272adeac816ece758 Mon Sep 17 00:00:00 2001 From: Erlend Halvorsen Date: Thu, 27 Sep 2012 10:31:40 +0200 Subject: Fixed bug in dropdown toggle where menu would only clear on the first drop down --- docs/assets/js/bootstrap-dropdown.js | 7 +++--- docs/assets/js/bootstrap.js | 7 +++--- js/bootstrap-dropdown.js | 7 +++--- js/tests/unit/bootstrap-dropdown.js | 42 +++++++++++++++++++++++++++++++++++- 4 files changed, 53 insertions(+), 10 deletions(-) diff --git a/docs/assets/js/bootstrap-dropdown.js b/docs/assets/js/bootstrap-dropdown.js index 0ef9b0f9d..503fb7b3a 100644 --- a/docs/assets/js/bootstrap-dropdown.js +++ b/docs/assets/js/bootstrap-dropdown.js @@ -99,9 +99,10 @@ } - function clearMenus() { - getParent($(toggle)) - .removeClass('open') + function clearMenus() { + $(toggle).each(function () { + getParent($(this)).removeClass("open") + }) } function getParent($this) { diff --git a/docs/assets/js/bootstrap.js b/docs/assets/js/bootstrap.js index d1672330c..b539cd499 100644 --- a/docs/assets/js/bootstrap.js +++ b/docs/assets/js/bootstrap.js @@ -674,9 +674,10 @@ } - function clearMenus() { - getParent($(toggle)) - .removeClass('open') + function clearMenus() { + $(toggle).each(function () { + getParent($(this)).removeClass("open") + }) } function getParent($this) { diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index 0ef9b0f9d..503fb7b3a 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -99,9 +99,10 @@ } - function clearMenus() { - getParent($(toggle)) - .removeClass('open') + function clearMenus() { + $(toggle).each(function () { + getParent($(this)).removeClass("open") + }) } function getParent($this) { diff --git a/js/tests/unit/bootstrap-dropdown.js b/js/tests/unit/bootstrap-dropdown.js index 3a617692b..3788209ec 100644 --- a/js/tests/unit/bootstrap-dropdown.js +++ b/js/tests/unit/bootstrap-dropdown.js @@ -7,7 +7,8 @@ $(function () { }) test("should return element", function () { - ok($(document.body).dropdown()[0] == document.body, 'document.body returned') + var el = $("
") + ok(el.dropdown()[0] === el[0], 'same element returned') }) test("should not open dropdown if target is disabled", function () { @@ -102,4 +103,43 @@ $(function () { dropdown.remove() }) + test("should remove open class if body clicked, with multiple drop downs", function () { + var dropdownHTML = + '' + + '
' + + ' ' + + ' ' + + ' ' + + '
' + , dropdowns = $(dropdownHTML).appendTo('#qunit-fixture').find('[data-toggle="dropdown"]') + , first = dropdowns.first() + , last = dropdowns.last() + + ok(dropdowns.length == 2, "Should be two dropdowns") + + first.click() + ok(first.parents('.open').length == 1, 'open class added on click') + ok($('#qunit-fixture .open').length == 1, 'only one object is open') + $('body').click() + ok($("#qunit-fixture .open").length === 0, 'open class removed') + + last.click() + ok(last.parent('.open').length == 1, 'open class added on click') + ok($('#qunit-fixture .open').length == 1, 'only one object is open') + $('body').click() + ok($("#qunit-fixture .open").length === 0, 'open class removed') + + $("#qunit-fixture").html("") + }) + }) \ No newline at end of file -- cgit v1.2.3 From 0944e036ae778f7efc9eeafcc33e58600e110fb0 Mon Sep 17 00:00:00 2001 From: Artem Kustikov Date: Thu, 27 Sep 2012 21:45:37 +0300 Subject: Fix for #4550 Also fixes dropdowns hiding behavior for case when two or more dropdowns with [data-toggle=dropdown] exist on the page --- js/bootstrap-dropdown.js | 5 +++-- less/responsive-navbar.less | 6 +++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index 42370dfbe..ca90bd014 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -100,8 +100,9 @@ } function clearMenus() { - getParent($(toggle)) - .removeClass('open') + $(toggle).each(function () { + getParent($(this)).removeClass('open') + }) } function getParent($this) { diff --git a/less/responsive-navbar.less b/less/responsive-navbar.less index c454dd5e3..073eafb11 100644 --- a/less/responsive-navbar.less +++ b/less/responsive-navbar.less @@ -99,7 +99,7 @@ top: auto; left: auto; float: none; - display: block; + display: none; max-width: none; margin: 0 15px; padding: 0; @@ -108,6 +108,10 @@ .border-radius(0); .box-shadow(none); } + .nav-collapse .open > .dropdown-menu { + display: block; + } + .nav-collapse .dropdown-menu:before, .nav-collapse .dropdown-menu:after { display: none; -- cgit v1.2.3 From e1f6458e3640a628cdb6b2e4c63950777d46e141 Mon Sep 17 00:00:00 2001 From: Carl Porth Date: Thu, 27 Sep 2012 15:00:02 -0700 Subject: don't wait for ready when binding events to document --- js/bootstrap-alert.js | 4 +--- js/bootstrap-button.js | 10 ++++------ js/bootstrap-carousel.js | 14 ++++++-------- js/bootstrap-collapse.js | 18 ++++++++---------- js/bootstrap-dropdown.js | 13 +++++-------- js/bootstrap-modal.js | 28 +++++++++++++--------------- js/bootstrap-tab.js | 8 +++----- js/bootstrap-typeahead.js | 12 +++++------- 8 files changed, 45 insertions(+), 62 deletions(-) diff --git a/js/bootstrap-alert.js b/js/bootstrap-alert.js index ea3209ed1..b0bdc4b7d 100644 --- a/js/bootstrap-alert.js +++ b/js/bootstrap-alert.js @@ -83,8 +83,6 @@ /* ALERT DATA-API * ============== */ - $(function () { - $(document).on('click.alert.data-api', dismiss, Alert.prototype.close) - }) + $(document).on('click.alert.data-api', dismiss, Alert.prototype.close) }(window.jQuery); \ No newline at end of file diff --git a/js/bootstrap-button.js b/js/bootstrap-button.js index 4c0b725c7..dbb2c08ed 100644 --- a/js/bootstrap-button.js +++ b/js/bootstrap-button.js @@ -85,12 +85,10 @@ /* BUTTON DATA-API * =============== */ - $(function () { - $(document).on('click.button.data-api', '[data-toggle^=button]', function ( e ) { - var $btn = $(e.target) - if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') - $btn.button('toggle') - }) + $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + $btn.button('toggle') }) }(window.jQuery); \ No newline at end of file diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js index 8751b320c..6b01f763b 100644 --- a/js/bootstrap-carousel.js +++ b/js/bootstrap-carousel.js @@ -163,14 +163,12 @@ /* CAROUSEL DATA-API * ================= */ - $(function () { - $(document).on('click.carousel.data-api', '[data-slide]', function ( e ) { - var $this = $(this), href - , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 - , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data()) - $target.carousel(options) - e.preventDefault() - }) + $(document).on('click.carousel.data-api', '[data-slide]', function (e) { + var $this = $(this), href + , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data()) + $target.carousel(options) + e.preventDefault() }) }(window.jQuery); \ No newline at end of file diff --git a/js/bootstrap-collapse.js b/js/bootstrap-collapse.js index 781e27437..392e486a8 100644 --- a/js/bootstrap-collapse.js +++ b/js/bootstrap-collapse.js @@ -143,16 +143,14 @@ /* COLLAPSIBLE DATA-API * ==================== */ - $(function () { - $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { - var $this = $(this), href - , target = $this.attr('data-target') - || e.preventDefault() - || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 - , option = $(target).data('collapse') ? 'toggle' : $this.data() - $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') - $(target).collapse(option) - }) + $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { + var $this = $(this), href + , target = $this.attr('data-target') + || e.preventDefault() + || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 + , option = $(target).data('collapse') ? 'toggle' : $this.data() + $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') + $(target).collapse(option) }) }(window.jQuery); \ No newline at end of file diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index 5a2766fde..f50aa64d6 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -138,13 +138,10 @@ /* APPLY TO STANDARD DROPDOWN ELEMENTS * =================================== */ - $(function () { - $('html') - .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) - $(document) - .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', 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) - }) + $(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('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) }(window.jQuery); \ No newline at end of file diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js index 8a40c2d4e..0030ad7c5 100644 --- a/js/bootstrap-modal.js +++ b/js/bootstrap-modal.js @@ -215,21 +215,19 @@ /* MODAL DATA-API * ============== */ - $(function () { - $(document).on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) { - var $this = $(this) - , href = $this.attr('href') - , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7 - , option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) - - e.preventDefault() - - $target - .modal(option) - .one('hide', function () { - $this.focus() - }) - }) + $(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) { + var $this = $(this) + , href = $this.attr('href') + , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7 + , option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data()) + + e.preventDefault() + + $target + .modal(option) + .one('hide', function () { + $this.focus() + }) }) }(window.jQuery); \ No newline at end of file diff --git a/js/bootstrap-tab.js b/js/bootstrap-tab.js index 14387a1bf..8d73cd551 100644 --- a/js/bootstrap-tab.js +++ b/js/bootstrap-tab.js @@ -125,11 +125,9 @@ /* TAB DATA-API * ============ */ - $(function () { - $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { - e.preventDefault() - $(this).tab('show') - }) + $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { + e.preventDefault() + $(this).tab('show') }) }(window.jQuery); \ No newline at end of file diff --git a/js/bootstrap-typeahead.js b/js/bootstrap-typeahead.js index ab1d66879..dc0c7fa07 100644 --- a/js/bootstrap-typeahead.js +++ b/js/bootstrap-typeahead.js @@ -297,13 +297,11 @@ /* TYPEAHEAD DATA-API * ================== */ - $(function () { - $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) { - var $this = $(this) - if ($this.data('typeahead')) return - e.preventDefault() - $this.typeahead($this.data()) - }) + $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) { + var $this = $(this) + if ($this.data('typeahead')) return + e.preventDefault() + $this.typeahead($this.data()) }) }(window.jQuery); -- cgit v1.2.3 From 82715ae96dad4e97d208acf7f1654b25449e2bef Mon Sep 17 00:00:00 2001 From: Kevin Attfield Date: Sun, 30 Sep 2012 21:41:37 -0700 Subject: Fix for #5362 Fix for issue [5362](https://github.com/twitter/bootstrap/issues/5362): tab events fired on wrong dropdown anchor. --- js/bootstrap-tab.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/bootstrap-tab.js b/js/bootstrap-tab.js index 4fb3c3839..b4e142864 100644 --- a/js/bootstrap-tab.js +++ b/js/bootstrap-tab.js @@ -49,7 +49,7 @@ if ( $this.parent('li').hasClass('active') ) return - previous = $ul.find('.active a').last()[0] + previous = $ul.find('.active:last a')[0] e = $.Event('show', { relatedTarget: previous -- cgit v1.2.3 From b892a373208fd17eb7b0123147715d3bf0a5b2ca Mon Sep 17 00:00:00 2001 From: frntz Date: Tue, 2 Oct 2012 18:26:55 +0300 Subject: Update js/bootstrap-tooltip.js Avoid loosing events attached on Jquery object if added via function in popover content --- js/bootstrap-tooltip.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/js/bootstrap-tooltip.js b/js/bootstrap-tooltip.js index 14e48c856..f0b88b5a3 100644 --- a/js/bootstrap-tooltip.js +++ b/js/bootstrap-tooltip.js @@ -119,7 +119,7 @@ inside = /in/.test(placement) $tip - .remove() + .detach() .css({ top: 0, left: 0, display: 'block' }) .insertAfter(this.$element) @@ -166,18 +166,18 @@ function removeWithAnimation() { var timeout = setTimeout(function () { - $tip.off($.support.transition.end).remove() + $tip.off($.support.transition.end).detach() }, 500) $tip.one($.support.transition.end, function () { clearTimeout(timeout) - $tip.remove() + $tip.detach() }) } $.support.transition && this.$tip.hasClass('fade') ? removeWithAnimation() : - $tip.remove() + $tip.detach() return this } -- cgit v1.2.3 From e73cd15fc8eaa80ab7913d51a23a8e61c0e1bb30 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Tue, 2 Oct 2012 17:01:18 -0700 Subject: copy and style changes to improve docs rendering on mobile devices --- docs/assets/css/docs.css | 23 +++++++++++++++++------ docs/base-css.html | 12 +++++++----- docs/components.html | 12 +++++++----- docs/customize.html | 12 +++++++----- docs/extend.html | 12 +++++++----- docs/getting-started.html | 12 +++++++----- docs/index.html | 12 +++++++----- docs/javascript.html | 14 ++++++++------ docs/scaffolding.html | 12 +++++++----- docs/templates/layout.mustache | 12 +++++++----- docs/templates/pages/javascript.mustache | 2 +- 11 files changed, 82 insertions(+), 53 deletions(-) diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css index 3484f300c..60782ecea 100644 --- a/docs/assets/css/docs.css +++ b/docs/assets/css/docs.css @@ -114,7 +114,7 @@ hr.soften { .jumbotron p { font-size: 24px; font-weight: 300; - line-height: 30px; + line-height: 1.25; margin-bottom: 30px; } @@ -275,7 +275,7 @@ hr.soften { margin-bottom: 40px; font-size: 20px; font-weight: 300; - line-height: 25px; + line-height: 1.25; color: #999; } .marketing img { @@ -303,7 +303,10 @@ hr.soften { } .footer-links li { display: inline; - margin-right: 10px; + padding: 0 2px; +} +.footer-links li:first-child { + padding-left: 0; } @@ -944,11 +947,11 @@ form.bs-docs-example { /* Downsize the jumbotrons */ .jumbotron h1 { - font-size: 60px; + font-size: 45px; } .jumbotron p, .jumbotron .btn { - font-size: 20px; + font-size: 18px; } .jumbotron .btn { display: block; @@ -963,7 +966,10 @@ form.bs-docs-example { /* Marketing on home */ .marketing h1 { - font-size: 40px; + font-size: 30px; + } + .marketing-byline { + font-size: 18px; } /* center example sites */ @@ -997,6 +1003,11 @@ form.bs-docs-example { left: auto; } + /* Tighten up footer */ + .footer { + padding-top: 20px; + padding-bottom: 20px; + } /* Unfloat the back to top in footer to prevent odd text wrapping */ .footer .pull-right { float: none; diff --git a/docs/base-css.html b/docs/base-css.html index 46ce606cb..23e073d6a 100644 --- a/docs/base-css.html +++ b/docs/base-css.html @@ -2063,12 +2063,14 @@ For example, <code><section></code> should be wrapped as inlin

Back to top

-

Designed and built with all the love in the world @twitter by @mdo and @fat.

-

Code licensed under the Apache License v2.0. Documentation licensed under CC BY 3.0.

-

Icons from Glyphicons Free, licensed under CC BY 3.0.

+

Designed and built with all the love in the world by @mdo and @fat.

+

Code licensed under Apache License v2.0, documentation under CC BY 3.0.

+

Glyphicons Free licensed under CC BY 3.0.

diff --git a/docs/components.html b/docs/components.html index 69089635d..c56364eaa 100644 --- a/docs/components.html +++ b/docs/components.html @@ -2559,12 +2559,14 @@ class="clearfix"

Back to top

-

Designed and built with all the love in the world @twitter by @mdo and @fat.

-

Code licensed under the Apache License v2.0. Documentation licensed under CC BY 3.0.

-

Icons from Glyphicons Free, licensed under CC BY 3.0.

+

Designed and built with all the love in the world by @mdo and @fat.

+

Code licensed under Apache License v2.0, documentation under CC BY 3.0.

+

Glyphicons Free licensed under CC BY 3.0.

diff --git a/docs/customize.html b/docs/customize.html index 4673189fc..c13cbdb76 100644 --- a/docs/customize.html +++ b/docs/customize.html @@ -441,12 +441,14 @@

Back to top

-

Designed and built with all the love in the world @twitter by @mdo and @fat.

-

Code licensed under the Apache License v2.0. Documentation licensed under CC BY 3.0.

-

Icons from Glyphicons Free, licensed under CC BY 3.0.

+

Designed and built with all the love in the world by @mdo and @fat.

+

Code licensed under Apache License v2.0, documentation under CC BY 3.0.

+

Glyphicons Free licensed under CC BY 3.0.

diff --git a/docs/extend.html b/docs/extend.html index 4c55a7220..ad7e75fef 100644 --- a/docs/extend.html +++ b/docs/extend.html @@ -246,12 +246,14 @@

Back to top

-

Designed and built with all the love in the world @twitter by @mdo and @fat.

-

Code licensed under the Apache License v2.0. Documentation licensed under CC BY 3.0.

-

Icons from Glyphicons Free, licensed under CC BY 3.0.

+

Designed and built with all the love in the world by @mdo and @fat.

+

Code licensed under Apache License v2.0, documentation under CC BY 3.0.

+

Glyphicons Free licensed under CC BY 3.0.

diff --git a/docs/getting-started.html b/docs/getting-started.html index 814bb67f2..34c43ea60 100644 --- a/docs/getting-started.html +++ b/docs/getting-started.html @@ -326,12 +326,14 @@

Back to top

-

Designed and built with all the love in the world @twitter by @mdo and @fat.

-

Code licensed under the Apache License v2.0. Documentation licensed under CC BY 3.0.

-

Icons from Glyphicons Free, licensed under CC BY 3.0.

+

Designed and built with all the love in the world by @mdo and @fat.

+

Code licensed under Apache License v2.0, documentation under CC BY 3.0.

+

Glyphicons Free licensed under CC BY 3.0.

diff --git a/docs/index.html b/docs/index.html index c3ac21de7..a0257386d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -177,12 +177,14 @@

Back to top

-

Designed and built with all the love in the world @twitter by @mdo and @fat.

-

Code licensed under the Apache License v2.0. Documentation licensed under CC BY 3.0.

-

Icons from Glyphicons Free, licensed under CC BY 3.0.

+

Designed and built with all the love in the world by @mdo and @fat.

+

Code licensed under Apache License v2.0, documentation under CC BY 3.0.

+

Glyphicons Free licensed under CC BY 3.0.

diff --git a/docs/javascript.html b/docs/javascript.html index c61c0bc4f..1e0ca5816 100644 --- a/docs/javascript.html +++ b/docs/javascript.html @@ -73,7 +73,7 @@ ================================================== -->
-

JavaScript for Bootstrap

+

JavaScript

Bring Bootstrap's components to life—now with 13 custom jQuery plugins.

@@ -1701,12 +1701,14 @@ $('[data-spy="affix"]').each(function () {

Back to top

-

Designed and built with all the love in the world @twitter by @mdo and @fat.

-

Code licensed under the Apache License v2.0. Documentation licensed under CC BY 3.0.

-

Icons from Glyphicons Free, licensed under CC BY 3.0.

+

Designed and built with all the love in the world by @mdo and @fat.

+

Code licensed under Apache License v2.0, documentation under CC BY 3.0.

+

Glyphicons Free licensed under CC BY 3.0.

diff --git a/docs/scaffolding.html b/docs/scaffolding.html index fd263bc2d..84b389ed7 100644 --- a/docs/scaffolding.html +++ b/docs/scaffolding.html @@ -544,12 +544,14 @@

Back to top

-

Designed and built with all the love in the world @twitter by @mdo and @fat.

-

Code licensed under the Apache License v2.0. Documentation licensed under CC BY 3.0.

-

Icons from Glyphicons Free, licensed under CC BY 3.0.

+

Designed and built with all the love in the world by @mdo and @fat.

+

Code licensed under Apache License v2.0, documentation under CC BY 3.0.

+

Glyphicons Free licensed under CC BY 3.0.

diff --git a/docs/templates/layout.mustache b/docs/templates/layout.mustache index 2f0e1e856..deaec189a 100644 --- a/docs/templates/layout.mustache +++ b/docs/templates/layout.mustache @@ -90,12 +90,14 @@

{{_i}}Back to top{{/i}}

-

{{_i}}Designed and built with all the love in the world @twitter by @mdo and @fat.{{/i}}

-

{{_i}}Code licensed under the Apache License v2.0. Documentation licensed under CC BY 3.0.{{/i}}

-

{{_i}}Icons from Glyphicons Free, licensed under CC BY 3.0.{{/i}}

+

{{_i}}Designed and built with all the love in the world by @mdo and @fat.{{/i}}

+

{{_i}}Code licensed under Apache License v2.0, documentation under CC BY 3.0.{{/i}}

+

{{_i}}Glyphicons Free licensed under CC BY 3.0.{{/i}}

diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache index 88ddbf6e0..6c49d9bc4 100644 --- a/docs/templates/pages/javascript.mustache +++ b/docs/templates/pages/javascript.mustache @@ -2,7 +2,7 @@ ================================================== -->
-

{{_i}}JavaScript for Bootstrap{{/i}}

+

{{_i}}JavaScript{{/i}}

{{_i}}Bring Bootstrap's components to life—now with 13 custom jQuery plugins.{{/i}}

-- cgit v1.2.3 From dd8b745b883a900aa637a7b8142be5691ebc3913 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Wed, 3 Oct 2012 09:26:52 -0700 Subject: use border-radius vars where possible --- docs/assets/css/bootstrap.css | 30 +++++++++++++++--------------- less/accordion.less | 2 +- less/alerts.less | 2 +- less/breadcrumbs.less | 2 +- less/buttons.less | 2 +- less/code.less | 2 +- less/dropdowns.less | 2 +- less/navbar.less | 2 +- less/progress-bars.less | 2 +- less/responsive-navbar.less | 2 +- less/tables.less | 2 +- less/thumbnails.less | 2 +- less/tooltip.less | 2 +- less/variables.less | 2 +- less/wells.less | 6 +++--- 15 files changed, 31 insertions(+), 31 deletions(-) diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index 987c9abe5..b7621054e 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -3144,9 +3144,9 @@ button.close { .btn-large { padding: 11px 19px; font-size: 17.5px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; } .btn-large [class^="icon-"], @@ -4838,22 +4838,22 @@ input[type="submit"].btn.btn-mini { .pagination-large ul > li:first-child > a, .pagination-large ul > li:first-child > span { - -webkit-border-bottom-left-radius: 5px; - border-bottom-left-radius: 5px; - -webkit-border-top-left-radius: 5px; - border-top-left-radius: 5px; - -moz-border-radius-bottomleft: 5px; - -moz-border-radius-topleft: 5px; + -webkit-border-bottom-left-radius: 6px; + border-bottom-left-radius: 6px; + -webkit-border-top-left-radius: 6px; + border-top-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + -moz-border-radius-topleft: 6px; } .pagination-large ul > li:last-child > a, .pagination-large ul > li:last-child > span { - -webkit-border-top-right-radius: 5px; - border-top-right-radius: 5px; - -webkit-border-bottom-right-radius: 5px; - border-bottom-right-radius: 5px; - -moz-border-radius-topright: 5px; - -moz-border-radius-bottomright: 5px; + -webkit-border-top-right-radius: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + border-bottom-right-radius: 6px; + -moz-border-radius-topright: 6px; + -moz-border-radius-bottomright: 6px; } .pagination-mini ul > li:first-child > a, diff --git a/less/accordion.less b/less/accordion.less index c13c7be26..d63523bc8 100644 --- a/less/accordion.less +++ b/less/accordion.less @@ -12,7 +12,7 @@ .accordion-group { margin-bottom: 2px; border: 1px solid #e5e5e5; - .border-radius(4px); + .border-radius(@baseBorderRadius); } .accordion-heading { border-bottom: 0; diff --git a/less/alerts.less b/less/alerts.less index 6df5fd72d..9abb226d6 100644 --- a/less/alerts.less +++ b/less/alerts.less @@ -12,7 +12,7 @@ text-shadow: 0 1px 0 rgba(255,255,255,.5); background-color: @warningBackground; border: 1px solid @warningBorder; - .border-radius(4px); + .border-radius(@baseBorderRadius); color: @warningText; } .alert h4 { diff --git a/less/breadcrumbs.less b/less/breadcrumbs.less index fd269b31a..76fbe30ff 100644 --- a/less/breadcrumbs.less +++ b/less/breadcrumbs.less @@ -8,7 +8,7 @@ margin: 0 0 @baseLineHeight; list-style: none; background-color: #f5f5f5; - .border-radius(4px); + .border-radius(@baseBorderRadius); li { display: inline-block; .ie7-inline-block(); diff --git a/less/buttons.less b/less/buttons.less index 1f9ceda9f..63f2d86c8 100644 --- a/less/buttons.less +++ b/less/buttons.less @@ -22,7 +22,7 @@ border: 1px solid @btnBorder; *border: 0; // Remove the border to prevent IE7's black border on input:focus border-bottom-color: darken(@btnBorder, 10%); - .border-radius(4px); + .border-radius(@baseBorderRadius); .ie7-restore-left-whitespace(); // Give IE7 some love .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)"); diff --git a/less/code.less b/less/code.less index f1851a074..5495b15ec 100644 --- a/less/code.less +++ b/less/code.less @@ -35,7 +35,7 @@ pre { background-color: #f5f5f5; border: 1px solid #ccc; // fallback for IE7-8 border: 1px solid rgba(0,0,0,.15); - .border-radius(4px); + .border-radius(@baseBorderRadius); // Make prettyprint styles more spaced out for readability &.prettyprint { diff --git a/less/dropdowns.less b/less/dropdowns.less index 5ed279167..359f0e228 100644 --- a/less/dropdowns.less +++ b/less/dropdowns.less @@ -234,5 +234,5 @@ // --------- .typeahead { margin-top: 2px; // give it some space to breathe - .border-radius(4px); + .border-radius(@baseBorderRadius); } diff --git a/less/navbar.less b/less/navbar.less index 95131ff3a..f69e04899 100644 --- a/less/navbar.less +++ b/less/navbar.less @@ -25,7 +25,7 @@ padding-right: 20px; #gradient > .vertical(@navbarBackgroundHighlight, @navbarBackground); border: 1px solid @navbarBorder; - .border-radius(4px); + .border-radius(@baseBorderRadius); .box-shadow(0 1px 4px rgba(0,0,0,.065)); // Prevent floats from breaking the navbar diff --git a/less/progress-bars.less b/less/progress-bars.less index 36744d89c..5e0c3dda0 100644 --- a/less/progress-bars.less +++ b/less/progress-bars.less @@ -48,7 +48,7 @@ margin-bottom: @baseLineHeight; #gradient > .vertical(#f5f5f5, #f9f9f9); .box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); - .border-radius(4px); + .border-radius(@baseBorderRadius); } // Bar of progress diff --git a/less/responsive-navbar.less b/less/responsive-navbar.less index 9cc6e258e..574eb1444 100644 --- a/less/responsive-navbar.less +++ b/less/responsive-navbar.less @@ -75,7 +75,7 @@ .nav-collapse .btn { padding: 4px 10px 4px; font-weight: normal; - .border-radius(4px); + .border-radius(@baseBorderRadius); } .nav-collapse .dropdown-menu li + li a { margin-bottom: 2px; diff --git a/less/tables.less b/less/tables.less index f676abed7..ca2c287c7 100644 --- a/less/tables.less +++ b/less/tables.less @@ -71,7 +71,7 @@ table { border-collapse: separate; // Done so we can round those corners! *border-collapse: collapse; // IE7 can't round corners anyway border-left: 0; - .border-radius(4px); + .border-radius(@baseBorderRadius); th, td { border-left: 1px solid @tableBorder; diff --git a/less/thumbnails.less b/less/thumbnails.less index 91b75f785..a84a7d37d 100644 --- a/less/thumbnails.less +++ b/less/thumbnails.less @@ -29,7 +29,7 @@ padding: 4px; line-height: @baseLineHeight; border: 1px solid #ddd; - .border-radius(4px); + .border-radius(@baseBorderRadius); .box-shadow(0 1px 3px rgba(0,0,0,.055)); .transition(all .2s ease-in-out); } diff --git a/less/tooltip.less b/less/tooltip.less index fba1856f5..93fac8d6b 100644 --- a/less/tooltip.less +++ b/less/tooltip.less @@ -27,7 +27,7 @@ text-align: center; text-decoration: none; background-color: @tooltipBackground; - .border-radius(4px); + .border-radius(@baseBorderRadius); } // Arrows diff --git a/less/variables.less b/less/variables.less index 7ca1305fe..3fb5274c3 100644 --- a/less/variables.less +++ b/less/variables.less @@ -71,7 +71,7 @@ @paddingMini: 1px 6px; // 24px @baseBorderRadius: 4px; -@borderRadiusLarge: 5px; +@borderRadiusLarge: 6px; @borderRadiusSmall: 3px; diff --git a/less/wells.less b/less/wells.less index e4e0a9beb..84a744b1c 100644 --- a/less/wells.less +++ b/less/wells.less @@ -10,7 +10,7 @@ margin-bottom: 20px; background-color: @wellBackground; border: 1px solid darken(@wellBackground, 7%); - .border-radius(4px); + .border-radius(@baseBorderRadius); .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); blockquote { border-color: #ddd; @@ -21,9 +21,9 @@ // Sizes .well-large { padding: 24px; - .border-radius(6px); + .border-radius(@borderRadiusLarge); } .well-small { padding: 9px; - .border-radius(3px); + .border-radius(@borderRadiusSmall); } -- cgit v1.2.3 From 11ee1633b459352de9831a507c20e78f4f1fd5c3 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Wed, 3 Oct 2012 09:36:45 -0700 Subject: fixes #5257: add data-original-title attribute selector to abbr element --- docs/assets/css/bootstrap.css | 3 ++- less/type.less | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index b7621054e..2155b91cd 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -800,7 +800,8 @@ hr { border-bottom: 1px solid #ffffff; } -abbr[title] { +abbr[title], +abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #999999; } diff --git a/less/type.less b/less/type.less index 2d913dde3..3b428e79d 100644 --- a/less/type.less +++ b/less/type.less @@ -159,7 +159,9 @@ hr { } // Abbreviations and acronyms -abbr[title] { +abbr[title], +// Added data-* attribute to help out our tooltip plugin, per https://github.com/twitter/bootstrap/issues/5257 +abbr[data-original-title] { cursor: help; border-bottom: 1px dotted @grayLight; } -- cgit v1.2.3 From 3726ce24bb68376e484a4cc2f29e8e5c28b0a0bb Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Wed, 3 Oct 2012 09:43:14 -0700 Subject: finish off scoping of grid sizing to table elements --- docs/assets/css/bootstrap.css | 6 ++++-- less/tables.less | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index 2155b91cd..12cdf6187 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -2017,8 +2017,10 @@ table { background-color: #f5f5f5; } -table [class*=span], -.row-fluid table [class*=span] { +table td[class*="span"], +table th[class*="span"], +.row-fluid table td[class*="span"], +.row-fluid table th[class*="span"] { display: table-cell; float: none; margin-left: 0; diff --git a/less/tables.less b/less/tables.less index ca2c287c7..3f2c7f783 100644 --- a/less/tables.less +++ b/less/tables.less @@ -172,8 +172,10 @@ table { // ----------------- // Reset default grid behavior -table [class*=span], -.row-fluid table [class*=span] { +table td[class*="span"], +table th[class*="span"], +.row-fluid table td[class*="span"], +.row-fluid table th[class*="span"] { display: table-cell; float: none; // undo default grid column styles margin-left: 0; // undo default grid column styles -- cgit v1.2.3 From 7d649c9d4a0c504ca29e6efa7fcb42af5d8996dd Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Fri, 5 Oct 2012 11:13:21 -0700 Subject: fixes #5430: scope link styles in .dropdown-menu to .dropdown-menu li > a --- docs/assets/css/bootstrap.css | 2 +- less/dropdowns.less | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index 12cdf6187..0879824d4 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -2808,7 +2808,7 @@ table th[class*="span"], border-bottom: 1px solid #ffffff; } -.dropdown-menu a { +.dropdown-menu li > a { display: block; padding: 3px 20px; clear: both; diff --git a/less/dropdowns.less b/less/dropdowns.less index 359f0e228..a33fe71e2 100644 --- a/less/dropdowns.less +++ b/less/dropdowns.less @@ -72,7 +72,7 @@ } // Links within the dropdown menu - a { + li > a { display: block; padding: 3px 20px; clear: both; -- cgit v1.2.3 From d76c305cbb55c40d19ca96fb093e40b59eebfcaf Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Sat, 6 Oct 2012 14:42:07 -0700 Subject: remove 'at twitter' part of readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d9850fda0..82d515d19 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ [Twitter Bootstrap](http://twitter.github.com/bootstrap) [![Build Status](https://secure.travis-ci.org/twitter/bootstrap.png)](http://travis-ci.org/twitter/bootstrap) ================= -Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created and maintained by [Mark Otto](http://twitter.com/mdo) and [Jacob Thornton](http://twitter.com/fat) at Twitter. +Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created and maintained by [Mark Otto](http://twitter.com/mdo) and [Jacob Thornton](http://twitter.com/fat). To get started, checkout http://getbootstrap.com! -- cgit v1.2.3 From 6203535d2f65502eb0beafc3568fa878ce63f97f Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Sun, 7 Oct 2012 21:38:28 -0700 Subject: Changing title of docs pages to simply say 'Bootstrap' like the docs home page --- docs/assets/css/bootstrap.css | 22 +++++++++++----------- docs/base-css.html | 2 +- docs/build/index.js | 2 +- docs/components.html | 2 +- docs/customize.html | 2 +- docs/extend.html | 2 +- docs/getting-started.html | 2 +- docs/index.html | 2 +- docs/javascript.html | 2 +- docs/scaffolding.html | 2 +- 10 files changed, 20 insertions(+), 20 deletions(-) diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index 0879824d4..60fb43bf9 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -2840,11 +2840,11 @@ table th[class*="span"], text-decoration: none; background-color: #0088cc; background-color: #0081c2; - background-image: linear-gradient(to bottom, #0088cc, #0077b3); background-image: -moz-linear-gradient(top, #0088cc, #0077b3); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-image: linear-gradient(to bottom, #0088cc, #0077b3); background-repeat: repeat-x; outline: 0; filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); @@ -3060,16 +3060,16 @@ button.close { cursor: pointer; background-color: #f5f5f5; *background-color: #e6e6e6; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); - background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); background-repeat: repeat-x; border: 1px solid #bbbbbb; *border: 0; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); border-bottom-color: #a2a2a2; -webkit-border-radius: 4px; -moz-border-radius: 4px; @@ -3217,11 +3217,11 @@ input[type="button"].btn-block { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #006dcc; *background-color: #0044cc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); background-image: -o-linear-gradient(top, #0088cc, #0044cc); background-image: linear-gradient(to bottom, #0088cc, #0044cc); - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); background-repeat: repeat-x; border-color: #0044cc #0044cc #002a80; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); @@ -3249,11 +3249,11 @@ input[type="button"].btn-block { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #faa732; *background-color: #f89406; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); background-image: -webkit-linear-gradient(top, #fbb450, #f89406); background-image: -o-linear-gradient(top, #fbb450, #f89406); background-image: linear-gradient(to bottom, #fbb450, #f89406); - background-image: -moz-linear-gradient(top, #fbb450, #f89406); background-repeat: repeat-x; border-color: #f89406 #f89406 #ad6704; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); @@ -3281,11 +3281,11 @@ input[type="button"].btn-block { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #da4f49; *background-color: #bd362f; + background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); - background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); background-repeat: repeat-x; border-color: #bd362f #bd362f #802420; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); @@ -3313,11 +3313,11 @@ input[type="button"].btn-block { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #5bb75b; *background-color: #51a351; + background-image: -moz-linear-gradient(top, #62c462, #51a351); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); background-image: -webkit-linear-gradient(top, #62c462, #51a351); background-image: -o-linear-gradient(top, #62c462, #51a351); background-image: linear-gradient(to bottom, #62c462, #51a351); - background-image: -moz-linear-gradient(top, #62c462, #51a351); background-repeat: repeat-x; border-color: #51a351 #51a351 #387038; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); @@ -3345,11 +3345,11 @@ input[type="button"].btn-block { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #49afcd; *background-color: #2f96b4; + background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); - background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); background-repeat: repeat-x; border-color: #2f96b4 #2f96b4 #1f6377; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); @@ -3377,11 +3377,11 @@ input[type="button"].btn-block { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #363636; *background-color: #222222; + background-image: -moz-linear-gradient(top, #444444, #222222); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222)); background-image: -webkit-linear-gradient(top, #444444, #222222); background-image: -o-linear-gradient(top, #444444, #222222); background-image: linear-gradient(to bottom, #444444, #222222); - background-image: -moz-linear-gradient(top, #444444, #222222); background-repeat: repeat-x; border-color: #222222 #222222 #000000; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); @@ -4450,11 +4450,11 @@ input[type="submit"].btn.btn-mini { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #ededed; *background-color: #e5e5e5; + background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5)); background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5); background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5); background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5); - background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5); background-repeat: repeat-x; border-color: #e5e5e5 #e5e5e5 #bfbfbf; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); @@ -4698,11 +4698,11 @@ input[type="submit"].btn.btn-mini { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #0e0e0e; *background-color: #040404; + background-image: -moz-linear-gradient(top, #151515, #040404); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404)); background-image: -webkit-linear-gradient(top, #151515, #040404); background-image: -o-linear-gradient(top, #151515, #040404); background-image: linear-gradient(to bottom, #151515, #040404); - background-image: -moz-linear-gradient(top, #151515, #040404); background-repeat: repeat-x; border-color: #040404 #040404 #000000; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); diff --git a/docs/base-css.html b/docs/base-css.html index 23e073d6a..e8ccf5877 100644 --- a/docs/base-css.html +++ b/docs/base-css.html @@ -2,7 +2,7 @@ - Base · Twitter Bootstrap + Base · Bootstrap diff --git a/docs/build/index.js b/docs/build/index.js index 41347e9f4..1a9cb387c 100644 --- a/docs/build/index.js +++ b/docs/build/index.js @@ -2,7 +2,7 @@ var hogan = require('hogan.js') , fs = require('fs') , prod = process.argv[2] == 'production' - , title = 'Twitter Bootstrap' + , title = 'Bootstrap' var layout, pages diff --git a/docs/components.html b/docs/components.html index c56364eaa..f4f03cac3 100644 --- a/docs/components.html +++ b/docs/components.html @@ -2,7 +2,7 @@ - Components · Twitter Bootstrap + Components · Bootstrap diff --git a/docs/customize.html b/docs/customize.html index c13cbdb76..2377c9b93 100644 --- a/docs/customize.html +++ b/docs/customize.html @@ -2,7 +2,7 @@ - Customize · Twitter Bootstrap + Customize · Bootstrap diff --git a/docs/extend.html b/docs/extend.html index ad7e75fef..f7d509f86 100644 --- a/docs/extend.html +++ b/docs/extend.html @@ -2,7 +2,7 @@ - Extend · Twitter Bootstrap + Extend · Bootstrap diff --git a/docs/getting-started.html b/docs/getting-started.html index 34c43ea60..9af46fb55 100644 --- a/docs/getting-started.html +++ b/docs/getting-started.html @@ -2,7 +2,7 @@ - Getting · Twitter Bootstrap + Getting · Bootstrap diff --git a/docs/index.html b/docs/index.html index a0257386d..ce1ebe5f9 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2,7 +2,7 @@ - Twitter Bootstrap + Bootstrap diff --git a/docs/javascript.html b/docs/javascript.html index 1e0ca5816..c7e41b7d3 100644 --- a/docs/javascript.html +++ b/docs/javascript.html @@ -2,7 +2,7 @@ - Javascript · Twitter Bootstrap + Javascript · Bootstrap diff --git a/docs/scaffolding.html b/docs/scaffolding.html index 84b389ed7..681ec1fa3 100644 --- a/docs/scaffolding.html +++ b/docs/scaffolding.html @@ -2,7 +2,7 @@ - Scaffolding · Twitter Bootstrap + Scaffolding · Bootstrap -- cgit v1.2.3 From e4f522990e8cbab988650a52c8af19a738d74183 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Sun, 7 Oct 2012 21:43:37 -0700 Subject: fixes #5416: use correct variable for inverse navbar responsive links --- docs/assets/css/bootstrap-responsive.css | 4 ++++ less/responsive-navbar.less | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/docs/assets/css/bootstrap-responsive.css b/docs/assets/css/bootstrap-responsive.css index 5320eadf8..dc2a2ea4b 100644 --- a/docs/assets/css/bootstrap-responsive.css +++ b/docs/assets/css/bootstrap-responsive.css @@ -1002,6 +1002,10 @@ .nav-collapse .dropdown-menu a:hover { background-color: #f2f2f2; } + .navbar-inverse .nav-collapse .nav > li > a, + .navbar-inverse .nav-collapse .dropdown-menu a { + color: #999999; + } .navbar-inverse .nav-collapse .nav > li > a:hover, .navbar-inverse .nav-collapse .dropdown-menu a:hover { background-color: #111111; diff --git a/less/responsive-navbar.less b/less/responsive-navbar.less index 574eb1444..d19d39d0f 100644 --- a/less/responsive-navbar.less +++ b/less/responsive-navbar.less @@ -84,6 +84,10 @@ .nav-collapse .dropdown-menu a:hover { background-color: @navbarBackground; } + .navbar-inverse .nav-collapse .nav > li > a, + .navbar-inverse .nav-collapse .dropdown-menu a { + color: @navbarInverseLinkColor; + } .navbar-inverse .nav-collapse .nav > li > a:hover, .navbar-inverse .nav-collapse .dropdown-menu a:hover { background-color: @navbarInverseBackground; -- cgit v1.2.3 From 7e534ce98acf03229e09b8ae478cb3598d3882cd Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Sun, 7 Oct 2012 21:45:16 -0700 Subject: fixes #5443: reset background gradient on disabled dropdown links --- docs/assets/css/bootstrap.css | 1 + less/dropdowns.less | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index 60fb43bf9..bec35c7fd 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -2859,6 +2859,7 @@ table th[class*="span"], text-decoration: none; cursor: default; background-color: transparent; + background-image: none; } .open { diff --git a/less/dropdowns.less b/less/dropdowns.less index a33fe71e2..03efd6abf 100644 --- a/less/dropdowns.less +++ b/less/dropdowns.less @@ -116,6 +116,7 @@ .dropdown-menu .disabled > a:hover { text-decoration: none; background-color: transparent; + background-image: none; // Remove CSS gradient cursor: default; } -- cgit v1.2.3 From ec8394cb6e07be7f20e53a4595f5e59974bf8bc3 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Mon, 8 Oct 2012 18:58:35 -0700 Subject: adding another template for same-width nav links using 'display: table-cell;' --- docs/examples/marketing-alternate.html | 170 +++++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 docs/examples/marketing-alternate.html diff --git a/docs/examples/marketing-alternate.html b/docs/examples/marketing-alternate.html new file mode 100644 index 000000000..847020870 --- /dev/null +++ b/docs/examples/marketing-alternate.html @@ -0,0 +1,170 @@ + + + + + Template · Bootstrap + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Project name

+ +
+ +
+

Marketing stuff!

+

Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.

+ Get started today +
+ +
+ + +
+
+

Heading

+

Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.

+

View details »

+
+
+

Heading

+

Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.

+

View details »

+
+
+

Heading

+

Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.

+

View details »

+
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + -- cgit v1.2.3 From 4702e7541013922be933545057a9989136051a4e Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Mon, 8 Oct 2012 18:59:44 -0700 Subject: comments in template --- docs/examples/marketing-alternate.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/examples/marketing-alternate.html b/docs/examples/marketing-alternate.html index 847020870..b9011df13 100644 --- a/docs/examples/marketing-alternate.html +++ b/docs/examples/marketing-alternate.html @@ -51,6 +51,7 @@ } + /* Customize the navbar links to be fill the entire space of the .navbar */ .navbar .navbar-inner { padding: 0; } @@ -114,6 +115,7 @@
+

Marketing stuff!

Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.

-- cgit v1.2.3 From 48a8dd2a23f11981d42785db4091c029b5b7e781 Mon Sep 17 00:00:00 2001 From: Kevin Attfield Date: Mon, 8 Oct 2012 22:29:44 -0700 Subject: Added test to fix for #5362 --- js/tests/unit/bootstrap-tab.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/js/tests/unit/bootstrap-tab.js b/js/tests/unit/bootstrap-tab.js index 987804781..40f9a7406 100644 --- a/js/tests/unit/bootstrap-tab.js +++ b/js/tests/unit/bootstrap-tab.js @@ -58,4 +58,23 @@ $(function () { .tab('show') }) + test("show and shown events should reference correct relatedTarget", function () { + var dropHTML = + '
    ' + + '' + + '
' + + $(dropHTML).find('ul>li:first a').tab('show').end() + .find('ul>li:last a').on('show', function(event){ + equals(event.relatedTarget.hash, "#1-1") + }).on('shown', function(event){ + equals(event.relatedTarget.hash, "#1-1") + }).tab('show') + }) + }) \ No newline at end of file -- cgit v1.2.3 From b18c009051936e3dec86bf620da58847b321d307 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Wed, 10 Oct 2012 09:47:08 -0700 Subject: fixes #5473: use baselineheight var for input bottom margin --- less/forms.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/less/forms.less b/less/forms.less index e3da82265..e142f2ac3 100644 --- a/less/forms.less +++ b/less/forms.less @@ -81,7 +81,7 @@ input[type="color"], display: inline-block; height: @baseLineHeight; padding: 4px 6px; - margin-bottom: 9px; + margin-bottom: @baseLineHeight / 2; font-size: @baseFontSize; line-height: @baseLineHeight; color: @gray; -- cgit v1.2.3 From 5af5c2ed368e8b728306b90082d32719d5a15b54 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Wed, 10 Oct 2012 09:51:13 -0700 Subject: fixes #: remove double background color on dropdown links --- docs/assets/css/bootstrap.css | 4 +--- less/dropdowns.less | 2 -- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index bec35c7fd..ab2669562 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -990,7 +990,7 @@ input[type="color"], display: inline-block; height: 20px; padding: 4px 6px; - margin-bottom: 9px; + margin-bottom: 10px; font-size: 14px; line-height: 20px; color: #555555; @@ -2823,7 +2823,6 @@ table th[class*="span"], .dropdown-submenu:hover > a { color: #ffffff; text-decoration: none; - background-color: #0088cc; background-color: #0081c2; background-image: -moz-linear-gradient(top, #0088cc, #0077b3); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); @@ -2838,7 +2837,6 @@ table th[class*="span"], .dropdown-menu .active > a:hover { color: #ffffff; text-decoration: none; - background-color: #0088cc; background-color: #0081c2; background-image: -moz-linear-gradient(top, #0088cc, #0077b3); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); diff --git a/less/dropdowns.less b/less/dropdowns.less index 03efd6abf..d4fdab47f 100644 --- a/less/dropdowns.less +++ b/less/dropdowns.less @@ -90,7 +90,6 @@ .dropdown-submenu:hover > a { text-decoration: none; color: @dropdownLinkColorHover; - background-color: @dropdownLinkBackgroundHover; #gradient > .vertical(@dropdownLinkBackgroundHover, darken(@dropdownLinkBackgroundHover, 5%)); } @@ -101,7 +100,6 @@ color: @dropdownLinkColorHover; text-decoration: none; outline: 0; - background-color: @dropdownLinkBackgroundActive; #gradient > .vertical(@dropdownLinkBackgroundActive, darken(@dropdownLinkBackgroundActive, 5%)); } -- cgit v1.2.3 From 31007c01d8e5a3ad87597e56e2240693347a2a2c Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Wed, 10 Oct 2012 09:51:13 -0700 Subject: fixes #5478: remove double background color on dropdown links --- docs/assets/css/bootstrap.css | 4 +--- less/dropdowns.less | 2 -- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index bec35c7fd..ab2669562 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -990,7 +990,7 @@ input[type="color"], display: inline-block; height: 20px; padding: 4px 6px; - margin-bottom: 9px; + margin-bottom: 10px; font-size: 14px; line-height: 20px; color: #555555; @@ -2823,7 +2823,6 @@ table th[class*="span"], .dropdown-submenu:hover > a { color: #ffffff; text-decoration: none; - background-color: #0088cc; background-color: #0081c2; background-image: -moz-linear-gradient(top, #0088cc, #0077b3); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); @@ -2838,7 +2837,6 @@ table th[class*="span"], .dropdown-menu .active > a:hover { color: #ffffff; text-decoration: none; - background-color: #0088cc; background-color: #0081c2; background-image: -moz-linear-gradient(top, #0088cc, #0077b3); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); diff --git a/less/dropdowns.less b/less/dropdowns.less index 03efd6abf..d4fdab47f 100644 --- a/less/dropdowns.less +++ b/less/dropdowns.less @@ -90,7 +90,6 @@ .dropdown-submenu:hover > a { text-decoration: none; color: @dropdownLinkColorHover; - background-color: @dropdownLinkBackgroundHover; #gradient > .vertical(@dropdownLinkBackgroundHover, darken(@dropdownLinkBackgroundHover, 5%)); } @@ -101,7 +100,6 @@ color: @dropdownLinkColorHover; text-decoration: none; outline: 0; - background-color: @dropdownLinkBackgroundActive; #gradient > .vertical(@dropdownLinkBackgroundActive, darken(@dropdownLinkBackgroundActive, 5%)); } -- cgit v1.2.3 From fa778792c5a00577cc2f59f70499b60bda2a8457 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Wed, 10 Oct 2012 17:58:22 -0700 Subject: compress images and add new carousel example for .net magazine article --- .../bootstrap-example-marketing-narrow.png | Bin 24920 -> 21869 bytes .../img/examples/bootstrap-example-signin.png | Bin 4470 -> 4202 bytes .../examples/bootstrap-example-sticky-footer.png | Bin 11905 -> 9749 bytes docs/assets/img/examples/browser-icon-chrome.png | Bin 0 -> 55522 bytes docs/assets/img/examples/browser-icon-firefox.png | Bin 0 -> 175994 bytes docs/assets/img/examples/browser-icon-safari.png | Bin 0 -> 209527 bytes docs/assets/img/examples/slide-01.jpg | Bin 0 -> 83303 bytes docs/assets/img/examples/slide-02.jpg | Bin 0 -> 137070 bytes docs/assets/img/examples/slide-03.jpg | Bin 0 -> 137378 bytes docs/examples/carousel.html | 384 +++++++++++++++++++++ 10 files changed, 384 insertions(+) create mode 100644 docs/assets/img/examples/browser-icon-chrome.png create mode 100644 docs/assets/img/examples/browser-icon-firefox.png create mode 100644 docs/assets/img/examples/browser-icon-safari.png create mode 100644 docs/assets/img/examples/slide-01.jpg create mode 100644 docs/assets/img/examples/slide-02.jpg create mode 100644 docs/assets/img/examples/slide-03.jpg create mode 100644 docs/examples/carousel.html diff --git a/docs/assets/img/examples/bootstrap-example-marketing-narrow.png b/docs/assets/img/examples/bootstrap-example-marketing-narrow.png index a9d2d4342..a7ac9ef98 100644 Binary files a/docs/assets/img/examples/bootstrap-example-marketing-narrow.png and b/docs/assets/img/examples/bootstrap-example-marketing-narrow.png differ diff --git a/docs/assets/img/examples/bootstrap-example-signin.png b/docs/assets/img/examples/bootstrap-example-signin.png index 5f5321cfd..39210096b 100644 Binary files a/docs/assets/img/examples/bootstrap-example-signin.png and b/docs/assets/img/examples/bootstrap-example-signin.png differ diff --git a/docs/assets/img/examples/bootstrap-example-sticky-footer.png b/docs/assets/img/examples/bootstrap-example-sticky-footer.png index c5a1f5f01..c2255044d 100644 Binary files a/docs/assets/img/examples/bootstrap-example-sticky-footer.png and b/docs/assets/img/examples/bootstrap-example-sticky-footer.png differ diff --git a/docs/assets/img/examples/browser-icon-chrome.png b/docs/assets/img/examples/browser-icon-chrome.png new file mode 100644 index 000000000..8c846c54e Binary files /dev/null and b/docs/assets/img/examples/browser-icon-chrome.png differ diff --git a/docs/assets/img/examples/browser-icon-firefox.png b/docs/assets/img/examples/browser-icon-firefox.png new file mode 100644 index 000000000..3dd68b113 Binary files /dev/null and b/docs/assets/img/examples/browser-icon-firefox.png differ diff --git a/docs/assets/img/examples/browser-icon-safari.png b/docs/assets/img/examples/browser-icon-safari.png new file mode 100644 index 000000000..7aaa29a79 Binary files /dev/null and b/docs/assets/img/examples/browser-icon-safari.png differ diff --git a/docs/assets/img/examples/slide-01.jpg b/docs/assets/img/examples/slide-01.jpg new file mode 100644 index 000000000..bedab7d81 Binary files /dev/null and b/docs/assets/img/examples/slide-01.jpg differ diff --git a/docs/assets/img/examples/slide-02.jpg b/docs/assets/img/examples/slide-02.jpg new file mode 100644 index 000000000..4ed12cc07 Binary files /dev/null and b/docs/assets/img/examples/slide-02.jpg differ diff --git a/docs/assets/img/examples/slide-03.jpg b/docs/assets/img/examples/slide-03.jpg new file mode 100644 index 000000000..37415da3e Binary files /dev/null and b/docs/assets/img/examples/slide-03.jpg differ diff --git a/docs/examples/carousel.html b/docs/examples/carousel.html new file mode 100644 index 000000000..eef594ba3 --- /dev/null +++ b/docs/examples/carousel.html @@ -0,0 +1,384 @@ + + + + + Carousel Template · Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

Heading

+

Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod. Nullam id dolor id nibh ultricies vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

+

View details »

+
+
+

Heading

+

Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo.

+

View details »

+
+
+

Heading

+

Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum.

+

View details »

+
+
+ +
+ +
+ + +

First featurette headling. It'll blow your mind.

+

Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.

+
+ +
+ + +
+ +

Oh yeah, it's that good. See for yourself.

+

Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.

+
+ +
+ + +
+ +

And lastly, this one. Checkmate.

+

Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.

+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + -- cgit v1.2.3 From ed5c5994a780b7ba80854431b05d81e8692b819d Mon Sep 17 00:00:00 2001 From: Bradly Feeley Date: Sat, 13 Oct 2012 18:31:41 -0700 Subject: Fixing typo in docs. --- docs/components.html | 2 +- docs/templates/pages/components.mustache | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/components.html b/docs/components.html index f4f03cac3..8725400f8 100644 --- a/docs/components.html +++ b/docs/components.html @@ -2485,7 +2485,7 @@

<button class="close">&times;</button>
-

iOS devices require an href="#" for click events if you rather use an anchor.

+

iOS devices require an href="#" for click events if you would rather use an anchor.

<a class="close" href="#">&times;</a>

Helper classes

diff --git a/docs/templates/pages/components.mustache b/docs/templates/pages/components.mustache index 5351d7fd9..3c024451c 100644 --- a/docs/templates/pages/components.mustache +++ b/docs/templates/pages/components.mustache @@ -2414,7 +2414,7 @@

<button class="close">&times;</button>
-

{{_i}}iOS devices require an href="#" for click events if you rather use an anchor.{{/i}}

+

{{_i}}iOS devices require an href="#" for click events if you would rather use an anchor.{{/i}}

<a class="close" href="#">&times;</a>

{{_i}}Helper classes{{/i}}

-- cgit v1.2.3 From fda641fb6cf78c577309b88668b5bae0b6f6912b Mon Sep 17 00:00:00 2001 From: Bradly Feeley Date: Sat, 13 Oct 2012 18:37:18 -0700 Subject: Updating README link about Less compilation. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 82d515d19..23268862b 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,7 @@ $ npm install recess connect uglify-js jshint -g ``` + **build** - `make` -Runs the recess compiler to rebuild the `/less` files and compiles the docs pages. Requires recess and uglify-js. Read more in our docs » +Runs the recess compiler to rebuild the `/less` files and compiles the docs pages. Requires recess and uglify-js. Read more in our docs » + **test** - `make test` Runs jshint and qunit tests headlessly in [phantomjs](http://code.google.com/p/phantomjs/) (used for ci). Depends on having phantomjs installed. -- cgit v1.2.3 From 6b017b9bea37629d0ee9bcd99e8e34b91aa3b5c0 Mon Sep 17 00:00:00 2001 From: Martin Stein Date: Mon, 15 Oct 2012 15:17:59 +0200 Subject: fixed reference to this.tip() so it works in delegate events --- js/bootstrap-tooltip.js | 5 +++-- js/tests/unit/bootstrap-tooltip.js | 8 ++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/js/bootstrap-tooltip.js b/js/bootstrap-tooltip.js index 14e48c856..d5c2def29 100644 --- a/js/bootstrap-tooltip.js +++ b/js/bootstrap-tooltip.js @@ -235,8 +235,9 @@ this.enabled = !this.enabled } - , toggle: function () { - this[this.tip().hasClass('in') ? 'hide' : 'show']() + , toggle: function (e) { + var self = $(e.currentTarget)[this.type](this._options).data(this.type) + self[self.tip().hasClass('in') ? 'hide' : 'show']() } , destroy: function () { diff --git a/js/tests/unit/bootstrap-tooltip.js b/js/tests/unit/bootstrap-tooltip.js index 964ba1ef2..bbdf3ce80 100644 --- a/js/tests/unit/bootstrap-tooltip.js +++ b/js/tests/unit/bootstrap-tooltip.js @@ -142,4 +142,12 @@ $(function () { ok(!$._data(tooltip[0], 'events').mouseover && !$._data(tooltip[0], 'events').mouseout, 'tooltip does not have any events') }) + test("should show tooltip with delegate selector on click", function () { + var div = $('
') + var tooltip = div.appendTo('#qunit-fixture') + .tooltip({ selector: 'a[rel=tooltip]', + trigger: 'click' }) + div.find('a').trigger('click') + ok($(".tooltip").is('.fade.in'), 'tooltip is faded in') + }) }) \ No newline at end of file -- cgit v1.2.3 From 0048446db9901d70e0b2954bad40309a0029fe46 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Mon, 15 Oct 2012 13:57:09 -0500 Subject: improve spacing in carousel example --- docs/examples/carousel.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/examples/carousel.html b/docs/examples/carousel.html index eef594ba3..ee811b9c8 100644 --- a/docs/examples/carousel.html +++ b/docs/examples/carousel.html @@ -106,14 +106,14 @@ } .featurette-divider { - margin: 75px 0; + margin: 80px 0; } .featurette { - height: 362px; - padding: 75px 0; + padding: 80px 0; + overflow: hidden; } .featurette-image { - margin-top: -75px; + margin-top: -80px; } .featurette-image.pull-left { margin-right: 40px; -- cgit v1.2.3 From 432eaff29cc05f488fc0a1c87d1e28d86ef3641e Mon Sep 17 00:00:00 2001 From: dmitriybudnik Date: Mon, 15 Oct 2012 21:55:32 +0300 Subject: Fixed copy/paste caused typo --- js/bootstrap-carousel.js | 2 +- js/tests/unit/bootstrap-carousel.js | 22 +++++++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js index 0d7167e1c..0852cf3f4 100644 --- a/js/bootstrap-carousel.js +++ b/js/bootstrap-carousel.js @@ -167,7 +167,7 @@ $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) { var $this = $(this), href , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 - , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data()) + , options = !$target.data('carousel') && $.extend({}, $target.data(), $this.data()) $target.carousel(options) e.preventDefault() }) diff --git a/js/tests/unit/bootstrap-carousel.js b/js/tests/unit/bootstrap-carousel.js index 5ac9fb2d8..fbcbb5b17 100644 --- a/js/tests/unit/bootstrap-carousel.js +++ b/js/tests/unit/bootstrap-carousel.js @@ -37,6 +37,26 @@ $(function () { start(); }) .carousel('next') - }) + test("should set interval from data attribute", function () { + var template = $(''); + template.attr("data-interval", 1814); + + template.appendTo("body"); + $('[data-slide]').first().click(); + ok($('#myCarousel').data('carousel').options.interval == 1814); + $('#myCarousel').remove(); + + template.appendTo("body").attr("data-modal", "foobar"); + $('[data-slide]').first().click(); + ok($('#myCarousel').data('carousel').options.interval == 1814, "even if there is an data-modal attribute set"); + $('#myCarousel').remove(); + + template.appendTo("body"); + $('[data-slide]').first().click(); + $('#myCarousel').attr('data-interval', 1860); + $('[data-slide]').first().click(); + ok($('#myCarousel').data('carousel').options.interval == 1814, "attributes should be read only on intitialization"); + $('#myCarousel').remove(); + }) }) \ No newline at end of file -- cgit v1.2.3 From cd5596393049e5c22f17f7f99764be1bfbc43ecc Mon Sep 17 00:00:00 2001 From: Dmitriy Budnik Date: Tue, 16 Oct 2012 09:49:01 +0300 Subject: fixed test --- js/tests/unit/bootstrap-carousel.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/js/tests/unit/bootstrap-carousel.js b/js/tests/unit/bootstrap-carousel.js index fbcbb5b17..97ea942de 100644 --- a/js/tests/unit/bootstrap-carousel.js +++ b/js/tests/unit/bootstrap-carousel.js @@ -37,11 +37,12 @@ $(function () { start(); }) .carousel('next') + }) test("should set interval from data attribute", function () { var template = $(''); template.attr("data-interval", 1814); - + template.appendTo("body"); $('[data-slide]').first().click(); ok($('#myCarousel').data('carousel').options.interval == 1814); @@ -51,7 +52,7 @@ $(function () { $('[data-slide]').first().click(); ok($('#myCarousel').data('carousel').options.interval == 1814, "even if there is an data-modal attribute set"); $('#myCarousel').remove(); - + template.appendTo("body"); $('[data-slide]').first().click(); $('#myCarousel').attr('data-interval', 1860); -- cgit v1.2.3 From ae0ba0686efcbf73116a21eb9aff3f9bede4a489 Mon Sep 17 00:00:00 2001 From: Dmitriy Budnik Date: Tue, 16 Oct 2012 11:16:38 +0300 Subject: set spesific assertions count for test --- js/tests/unit/bootstrap-carousel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/tests/unit/bootstrap-carousel.js b/js/tests/unit/bootstrap-carousel.js index 97ea942de..8bd1b62ba 100644 --- a/js/tests/unit/bootstrap-carousel.js +++ b/js/tests/unit/bootstrap-carousel.js @@ -39,7 +39,7 @@ $(function () { .carousel('next') }) - test("should set interval from data attribute", function () { + test("should set interval from data attribute", 3,function () { var template = $(''); template.attr("data-interval", 1814); -- cgit v1.2.3 From e24b46b7f3fb9eab5f34fb6e199d24781204c745 Mon Sep 17 00:00:00 2001 From: mfansler Date: Tue, 16 Oct 2012 12:27:43 -0400 Subject: fixes #5336: reorder focus() call to avoid scrolling --- docs/assets/js/bootstrap-modal.js | 7 +++---- docs/assets/js/bootstrap.js | 8 ++++---- docs/assets/js/bootstrap.min.js | 8 ++------ js/bootstrap-modal.js | 7 +++---- 4 files changed, 12 insertions(+), 18 deletions(-) diff --git a/docs/assets/js/bootstrap-modal.js b/docs/assets/js/bootstrap-modal.js index d53f13a00..d2a4878b3 100644 --- a/docs/assets/js/bootstrap-modal.js +++ b/docs/assets/js/bootstrap-modal.js @@ -70,13 +70,12 @@ that.$element .addClass('in') .attr('aria-hidden', false) - .focus() that.enforceFocus() transition ? - that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) : - that.$element.trigger('shown') + that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) : + that.$element.focus().trigger('shown') }) } @@ -232,4 +231,4 @@ }) }) -}(window.jQuery); \ No newline at end of file +}(window.jQuery); diff --git a/docs/assets/js/bootstrap.js b/docs/assets/js/bootstrap.js index d1672330c..e96798039 100644 --- a/docs/assets/js/bootstrap.js +++ b/docs/assets/js/bootstrap.js @@ -794,13 +794,12 @@ that.$element .addClass('in') .attr('aria-hidden', false) - .focus() that.enforceFocus() transition ? - that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) : - that.$element.trigger('shown') + that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) : + that.$element.focus().trigger('shown') }) } @@ -956,7 +955,8 @@ }) }) -}(window.jQuery);/* =========================================================== +}(window.jQuery); +/* =========================================================== * bootstrap-tooltip.js v2.1.2 * http://twitter.github.com/bootstrap/javascript.html#tooltips * Inspired by the original jQuery.tipsy by Jason Frame diff --git a/docs/assets/js/bootstrap.min.js b/docs/assets/js/bootstrap.min.js index 9ae373bba..8c43e93e0 100644 --- a/docs/assets/js/bootstrap.min.js +++ b/docs/assets/js/bootstrap.min.js @@ -1,6 +1,2 @@ -/** -* Bootstrap.js v2.1.2 by @fat & @mdo -* Copyright 2012 Twitter, Inc. -* http://www.apache.org/licenses/LICENSE-2.0.txt -*/ -!function(e){"use strict";e(function(){e.support.transition=function(){var e=function(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},n;for(n in t)if(e.style[n]!==undefined)return t[n]}();return e&&{end:e}}()})}(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").remove()}var n=e(this),r=n.attr("data-target"),i;r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),i=e(r),t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()},e.fn.alert=function(t){return this.each(function(){var r=e(this),i=r.data("alert");i||r.data("alert",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.alert.Constructor=n,e(function(){e("body").on("click.alert.data-api",t,n.prototype.close)})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.button.defaults,n)};t.prototype.setState=function(e){var t="disabled",n=this.$element,r=n.data(),i=n.is("input")?"val":"html";e+="Text",r.resetText||n.data("resetText",n[i]()),n[i](r[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")},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("button",i=new t(this,s)),n=="toggle"?i.toggle():n&&i.setState(n)})},e.fn.button.defaults={loadingText:"loading..."},e.fn.button.Constructor=t,e(function(){e("body").on("click.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.options=n,this.options.slide&&this.slide(this.options.slide),this.options.pause=="hover"&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};t.prototype={cycle:function(t){return t||(this.paused=!1),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},to:function(t){var n=this.$element.find(".item.active"),r=n.parent().children(),i=r.index(n),s=this;if(t>r.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){s.to(t)}):i==t?this.pause().cycle():this.slide(t>i?"next":"prev",e(r[t]))},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()),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},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,f=e.Event("slide",{relatedTarget:i[0]});this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u]();if(i.hasClass("active"))return;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.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}},e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data("carousel"),s=e.extend({},e.fn.carousel.defaults,typeof n=="object"&&n),o=typeof n=="string"?n:s.slide;i||r.data("carousel",i=new t(this,s)),typeof n=="number"?i.to(n):o?i[o]():s.interval&&i.cycle()})},e.fn.carousel.defaults={interval:5e3,pause:"hover"},e.fn.carousel.Constructor=t,e(function(){e("body").on("click.carousel.data-api","[data-slide]",function(t){var n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=!i.data("modal")&&e.extend({},i.data(),n.data());i.carousel(s),t.preventDefault()})})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.collapse.defaults,n),this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};t.prototype={constructor:t,dimension:function(){var e=this.$element.hasClass("width");return e?"width":"height"},show:function(){var t,n,r,i;if(this.transitioning)return;t=this.dimension(),n=e.camelCase(["scroll",t].join("-")),r=this.$parent&&this.$parent.find("> .accordion-group > .in");if(r&&r.length){i=r.data("collapse");if(i&&i.transitioning)return;r.collapse("hide"),i||r.data("collapse",null)}this.$element[t](0),this.transition("addClass",e.Event("show"),"shown"),e.support.transition&&this.$element[t](this.$element[0][n])},hide:function(){var t;if(this.transitioning)return;t=this.dimension(),this.reset(this.$element[t]()),this.transition("removeClass",e.Event("hide"),"hidden"),this.$element[t](0)},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},transition:function(t,n,r){var i=this,s=function(){n.type=="show"&&i.reset(),i.transitioning=0,i.$element.trigger(r)};this.$element.trigger(n);if(n.isDefaultPrevented())return;this.transitioning=1,this.$element[t]("in"),e.support.transition&&this.$element.hasClass("collapse")?this.$element.one(e.support.transition.end,s):s()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=typeof n=="object"&&n;i||r.data("collapse",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.collapse.defaults={toggle:!0},e.fn.collapse.Constructor=t,e(function(){e("body").on("click.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("collapse")?"toggle":n.data();n[e(i).hasClass("in")?"addClass":"removeClass"]("collapsed"),e(i).collapse(s)})})}(window.jQuery),!function(e){"use strict";function r(){i(e(t)).removeClass("open")}function i(t){var n=t.attr("data-target"),r;return n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=e(n),r.length||(r=t.parent()),r}var t="[data-toggle=dropdown]",n=function(t){var n=e(t).on("click.dropdown.data-api",this.toggle);e("html").on("click.dropdown.data-api",function(){n.parent().removeClass("open")})};n.prototype={constructor:n,toggle:function(t){var n=e(this),s,o;if(n.is(".disabled, :disabled"))return;return s=i(n),o=s.hasClass("open"),r(),o||(s.toggleClass("open"),n.focus()),!1},keydown:function(t){var n,r,s,o,u,a;if(!/(38|40|27)/.test(t.keyCode))return;n=e(this),t.preventDefault(),t.stopPropagation();if(n.is(".disabled, :disabled"))return;o=i(n),u=o.hasClass("open");if(!u||u&&t.keyCode==27)return n.click();r=e("[role=menu] li:not(.divider) a",o);if(!r.length)return;a=r.index(r.filter(":focus")),t.keyCode==38&&a>0&&a--,t.keyCode==40&&a').appendTo(document.body),this.options.backdrop!="static"&&this.$backdrop.click(e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,e.proxy(this.removeBackdrop,this)):this.removeBackdrop()):t&&t()}},e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data("modal"),s=e.extend({},e.fn.modal.defaults,r.data(),typeof n=="object"&&n);i||r.data("modal",i=new t(this,s)),typeof n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e.fn.modal.Constructor=t,e(function(){e("body").on("click.modal.data-api",'[data-toggle="modal"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})})})}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("tooltip",e,t)};t.prototype={constructor:t,init:function(t,n,r){var i,s;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,this.options.trigger=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):this.options.trigger!="manual"&&(i=this.options.trigger=="hover"?"mouseenter":"focus",s=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(i+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.leave,this))),this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(t){return t=e.extend({},e.fn[this.type].defaults,t,this.$element.data()),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);if(!n.options.delay||!n.options.delay.show)return n.show();clearTimeout(this.timeout),n.hoverState="in",this.timeout=setTimeout(function(){n.hoverState=="in"&&n.show()},n.options.delay.show)},leave:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},show:function(){var e,t,n,r,i,s,o;if(this.hasContent()&&this.enabled){e=this.tip(),this.setContent(),this.options.animation&&e.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,t=/in/.test(s),e.remove().css({top:0,left:0,display:"block"}).insertAfter(this.$element),n=this.getPosition(t),r=e[0].offsetWidth,i=e[0].offsetHeight;switch(t?s.split(" ")[1]:s){case"bottom":o={top:n.top+n.height,left:n.left+n.width/2-r/2};break;case"top":o={top:n.top-i,left:n.left+n.width/2-r/2};break;case"left":o={top:n.top+n.height/2-i/2,left:n.left-r};break;case"right":o={top:n.top+n.height/2-i/2,left:n.left+n.width}}e.offset(o).addClass(s).addClass("in")}},setContent:function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},hide:function(){function r(){var t=setTimeout(function(){n.off(e.support.transition.end).remove()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.remove()})}var t=this,n=this.tip();return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?r():n.remove(),this},fixTitle:function(){var e=this.$element;(e.attr("title")||typeof e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(t){return e.extend({},t?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title),e},tip:function(){return this.$tip=this.$tip||e(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(){this[this.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}},e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data("tooltip"),s=typeof n=="object"&&n;i||r.data("tooltip",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'
',trigger:"hover",title:"",delay:0,html:!1}}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype,{constructor:t,setContent:function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content > *")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-content")||(typeof n.content=="function"?n.content.call(t[0]):n.content),e},tip:function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}}),e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data("popover"),s=typeof n=="object"&&n;i||r.data("popover",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.defaults=e.extend({},e.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'

'})}(window.jQuery),!function(e){"use strict";function t(t,n){var r=e.proxy(this.process,this),i=e(t).is("body")?e(window):e(t),s;this.options=e.extend({},e.fn.scrollspy.defaults,n),this.$scrollElement=i.on("scroll.scroll-spy.data-api",r),this.selector=(this.options.target||(s=e(t).attr("href"))&&s.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=e("body"),this.refresh(),this.process()}t.prototype={constructor:t,refresh:function(){var t=this,n;this.offsets=e([]),this.targets=e([]),n=this.$body.find(this.selector).map(function(){var t=e(this),n=t.data("target")||t.attr("href"),r=/^#\w/.test(n)&&e(n);return r&&r.length&&[[r.position().top,n]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},process:function(){var e=this.$scrollElement.scrollTop()+this.options.offset,t=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,n=t-this.$scrollElement.height(),r=this.offsets,i=this.targets,s=this.activeTarget,o;if(e>=n)return s!=(o=i.last()[0])&&this.activate(o);for(o=r.length;o--;)s!=i[o]&&e>=r[o]&&(!r[o+1]||e<=r[o+1])&&this.activate(i[o])},activate:function(t){var n,r;this.activeTarget=t,e(this.selector).parent(".active").removeClass("active"),r=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',n=e(r).parent("li").addClass("active"),n.parent(".dropdown-menu").length&&(n=n.closest("li.dropdown").addClass("active")),n.trigger("activate")}},e.fn.scrollspy=function(n){return this.each(function(){var r=e(this),i=r.data("scrollspy"),s=typeof n=="object"&&n;i||r.data("scrollspy",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.scrollspy.Constructor=t,e.fn.scrollspy.defaults={offset:10},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);t.scrollspy(t.data())})})}(window.jQuery),!function(e){"use strict";var t=function(t){this.element=e(t)};t.prototype={constructor:t,show:function(){var t=this.element,n=t.closest("ul:not(.dropdown-menu)"),r=t.attr("data-target"),i,s,o;r||(r=t.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));if(t.parent("li").hasClass("active"))return;i=n.find(".active a").last()[0],o=e.Event("show",{relatedTarget:i}),t.trigger(o);if(o.isDefaultPrevented())return;s=e(r),this.activate(t.parent("li"),n),this.activate(s,s.parent(),function(){t.trigger({type:"shown",relatedTarget:i})})},activate:function(t,n,r){function o(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),t.addClass("active"),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu")&&t.closest("li.dropdown").addClass("active"),r&&r()}var i=n.find("> .active"),s=r&&e.support.transition&&i.hasClass("fade");s?i.one(e.support.transition.end,o):o(),i.removeClass("in")}},e.fn.tab=function(n){return this.each(function(){var r=e(this),i=r.data("tab");i||r.data("tab",i=new t(this)),typeof n=="string"&&i[n]()})},e.fn.tab.Constructor=t,e(function(){e("body").on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(t){t.preventDefault(),e(this).tab("show")})})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.typeahead.defaults,n),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.$menu=e(this.options.menu).appendTo("body"),this.source=this.options.source,this.shown=!1,this.listen()};t.prototype={constructor:t,select:function(){var e=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(e)).change(),this.hide()},updater:function(e){return e},show:function(){var t=e.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});return this.$menu.css({top:t.top+t.height,left:t.left}),this.$menu.show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(t){var n;return this.query=this.$element.val(),!this.query||this.query.length"+t+""})},render:function(t){var n=this;return t=e(t).map(function(t,r){return t=e(n.options.item).attr("data-value",r),t.find("a").html(n.highlighter(r)),t[0]}),t.first().addClass("active"),this.$menu.html(t),this},next:function(t){var n=this.$menu.find(".active").removeClass("active"),r=n.next();r.length||(r=e(this.$menu.find("li")[0])),r.addClass("active")},prev:function(e){var t=this.$menu.find(".active").removeClass("active"),n=t.prev();n.length||(n=this.$menu.find("li").last()),n.addClass("active")},listen:function(){this.$element.on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t=typeof this.$element[e]=="function"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()},keydown:function(t){this.suppressKeyPressRepeat=!~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.stopPropagation(),e.preventDefault()},blur:function(e){var t=this;setTimeout(function(){t.hide()},150)},click:function(e){e.stopPropagation(),e.preventDefault(),this.select()},mouseenter:function(t){this.$menu.find(".active").removeClass("active"),e(t.currentTarget).addClass("active")}},e.fn.typeahead=function(n){return this.each(function(){var r=e(this),i=r.data("typeahead"),s=typeof n=="object"&&n;i||r.data("typeahead",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.typeahead.defaults={source:[],items:8,menu:'',item:'
  • ',minLength:1},e.fn.typeahead.Constructor=t,e(function(){e("body").on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var n=e(this);if(n.data("typeahead"))return;t.preventDefault(),n.typeahead(n.data())})})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=e.extend({},e.fn.affix.defaults,n),this.$window=e(window).on("scroll.affix.data-api",e.proxy(this.checkPosition,this)).on("click.affix.data-api",e.proxy(function(){setTimeout(e.proxy(this.checkPosition,this),1)},this)),this.$element=e(t),this.checkPosition()};t.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.bottom,o=i.top,u="affix affix-top affix-bottom",a;typeof i!="object"&&(s=o=i),typeof o=="function"&&(o=i.top()),typeof s=="function"&&(s=i.bottom()),a=this.unpin!=null&&n+this.unpin<=r.top?!1:s!=null&&r.top+this.$element.height()>=t-s?"bottom":o!=null&&n<=o?"top":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a=="bottom"?r.top-n:null,this.$element.removeClass(u).addClass("affix"+(a?"-"+a:""))},e.fn.affix=function(n){return this.each(function(){var r=e(this),i=r.data("affix"),s=typeof n=="object"&&n;i||r.data("affix",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.affix.Constructor=t,e.fn.affix.defaults={offset:0},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var t=e(this),n=t.data();n.offset=n.offset||{},n.offsetBottom&&(n.offset.bottom=n.offsetBottom),n.offsetTop&&(n.offset.top=n.offsetTop),t.affix(n)})})}(window.jQuery); \ No newline at end of file +/**\n* Bootstrap.js v2.1.2 by @fat & @mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/ +!function(e){"use strict";e(function(){e.support.transition=function(){var e=function(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},n;for(n in t)if(e.style[n]!==undefined)return t[n]}();return e&&{end:e}}()})}(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").remove()}var n=e(this),r=n.attr("data-target"),i;r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),i=e(r),t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()},e.fn.alert=function(t){return this.each(function(){var r=e(this),i=r.data("alert");i||r.data("alert",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.alert.Constructor=n,e(function(){e("body").on("click.alert.data-api",t,n.prototype.close)})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.button.defaults,n)};t.prototype.setState=function(e){var t="disabled",n=this.$element,r=n.data(),i=n.is("input")?"val":"html";e+="Text",r.resetText||n.data("resetText",n[i]()),n[i](r[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")},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("button",i=new t(this,s)),n=="toggle"?i.toggle():n&&i.setState(n)})},e.fn.button.defaults={loadingText:"loading..."},e.fn.button.Constructor=t,e(function(){e("body").on("click.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.options=n,this.options.slide&&this.slide(this.options.slide),this.options.pause=="hover"&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};t.prototype={cycle:function(t){return t||(this.paused=!1),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},to:function(t){var n=this.$element.find(".item.active"),r=n.parent().children(),i=r.index(n),s=this;if(t>r.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){s.to(t)}):i==t?this.pause().cycle():this.slide(t>i?"next":"prev",e(r[t]))},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()),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},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,f=e.Event("slide",{relatedTarget:i[0]});this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u]();if(i.hasClass("active"))return;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.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}},e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data("carousel"),s=e.extend({},e.fn.carousel.defaults,typeof n=="object"&&n),o=typeof n=="string"?n:s.slide;i||r.data("carousel",i=new t(this,s)),typeof n=="number"?i.to(n):o?i[o]():s.interval&&i.cycle()})},e.fn.carousel.defaults={interval:5e3,pause:"hover"},e.fn.carousel.Constructor=t,e(function(){e("body").on("click.carousel.data-api","[data-slide]",function(t){var n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=!i.data("modal")&&e.extend({},i.data(),n.data());i.carousel(s),t.preventDefault()})})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.collapse.defaults,n),this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};t.prototype={constructor:t,dimension:function(){var e=this.$element.hasClass("width");return e?"width":"height"},show:function(){var t,n,r,i;if(this.transitioning)return;t=this.dimension(),n=e.camelCase(["scroll",t].join("-")),r=this.$parent&&this.$parent.find("> .accordion-group > .in");if(r&&r.length){i=r.data("collapse");if(i&&i.transitioning)return;r.collapse("hide"),i||r.data("collapse",null)}this.$element[t](0),this.transition("addClass",e.Event("show"),"shown"),e.support.transition&&this.$element[t](this.$element[0][n])},hide:function(){var t;if(this.transitioning)return;t=this.dimension(),this.reset(this.$element[t]()),this.transition("removeClass",e.Event("hide"),"hidden"),this.$element[t](0)},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},transition:function(t,n,r){var i=this,s=function(){n.type=="show"&&i.reset(),i.transitioning=0,i.$element.trigger(r)};this.$element.trigger(n);if(n.isDefaultPrevented())return;this.transitioning=1,this.$element[t]("in"),e.support.transition&&this.$element.hasClass("collapse")?this.$element.one(e.support.transition.end,s):s()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=typeof n=="object"&&n;i||r.data("collapse",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.collapse.defaults={toggle:!0},e.fn.collapse.Constructor=t,e(function(){e("body").on("click.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("collapse")?"toggle":n.data();n[e(i).hasClass("in")?"addClass":"removeClass"]("collapsed"),e(i).collapse(s)})})}(window.jQuery),!function(e){"use strict";function r(){i(e(t)).removeClass("open")}function i(t){var n=t.attr("data-target"),r;return n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=e(n),r.length||(r=t.parent()),r}var t="[data-toggle=dropdown]",n=function(t){var n=e(t).on("click.dropdown.data-api",this.toggle);e("html").on("click.dropdown.data-api",function(){n.parent().removeClass("open")})};n.prototype={constructor:n,toggle:function(t){var n=e(this),s,o;if(n.is(".disabled, :disabled"))return;return s=i(n),o=s.hasClass("open"),r(),o||(s.toggleClass("open"),n.focus()),!1},keydown:function(t){var n,r,s,o,u,a;if(!/(38|40|27)/.test(t.keyCode))return;n=e(this),t.preventDefault(),t.stopPropagation();if(n.is(".disabled, :disabled"))return;o=i(n),u=o.hasClass("open");if(!u||u&&t.keyCode==27)return n.click();r=e("[role=menu] li:not(.divider) a",o);if(!r.length)return;a=r.index(r.filter(":focus")),t.keyCode==38&&a>0&&a--,t.keyCode==40&&a').appendTo(document.body),this.options.backdrop!="static"&&this.$backdrop.click(e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,e.proxy(this.removeBackdrop,this)):this.removeBackdrop()):t&&t()}},e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data("modal"),s=e.extend({},e.fn.modal.defaults,r.data(),typeof n=="object"&&n);i||r.data("modal",i=new t(this,s)),typeof n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e.fn.modal.Constructor=t,e(function(){e("body").on("click.modal.data-api",'[data-toggle="modal"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})})})}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("tooltip",e,t)};t.prototype={constructor:t,init:function(t,n,r){var i,s;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,this.options.trigger=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):this.options.trigger!="manual"&&(i=this.options.trigger=="hover"?"mouseenter":"focus",s=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(i+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.leave,this))),this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(t){return t=e.extend({},e.fn[this.type].defaults,t,this.$element.data()),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);if(!n.options.delay||!n.options.delay.show)return n.show();clearTimeout(this.timeout),n.hoverState="in",this.timeout=setTimeout(function(){n.hoverState=="in"&&n.show()},n.options.delay.show)},leave:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},show:function(){var e,t,n,r,i,s,o;if(this.hasContent()&&this.enabled){e=this.tip(),this.setContent(),this.options.animation&&e.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,t=/in/.test(s),e.remove().css({top:0,left:0,display:"block"}).insertAfter(this.$element),n=this.getPosition(t),r=e[0].offsetWidth,i=e[0].offsetHeight;switch(t?s.split(" ")[1]:s){case"bottom":o={top:n.top+n.height,left:n.left+n.width/2-r/2};break;case"top":o={top:n.top-i,left:n.left+n.width/2-r/2};break;case"left":o={top:n.top+n.height/2-i/2,left:n.left-r};break;case"right":o={top:n.top+n.height/2-i/2,left:n.left+n.width}}e.offset(o).addClass(s).addClass("in")}},setContent:function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},hide:function(){function r(){var t=setTimeout(function(){n.off(e.support.transition.end).remove()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.remove()})}var t=this,n=this.tip();return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?r():n.remove(),this},fixTitle:function(){var e=this.$element;(e.attr("title")||typeof e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(t){return e.extend({},t?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title),e},tip:function(){return this.$tip=this.$tip||e(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(){this[this.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}},e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data("tooltip"),s=typeof n=="object"&&n;i||r.data("tooltip",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'
    ',trigger:"hover",title:"",delay:0,html:!1}}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype,{constructor:t,setContent:function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content > *")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-content")||(typeof n.content=="function"?n.content.call(t[0]):n.content),e},tip:function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}}),e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data("popover"),s=typeof n=="object"&&n;i||r.data("popover",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.defaults=e.extend({},e.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'

    '})}(window.jQuery),!function(e){"use strict";function t(t,n){var r=e.proxy(this.process,this),i=e(t).is("body")?e(window):e(t),s;this.options=e.extend({},e.fn.scrollspy.defaults,n),this.$scrollElement=i.on("scroll.scroll-spy.data-api",r),this.selector=(this.options.target||(s=e(t).attr("href"))&&s.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=e("body"),this.refresh(),this.process()}t.prototype={constructor:t,refresh:function(){var t=this,n;this.offsets=e([]),this.targets=e([]),n=this.$body.find(this.selector).map(function(){var t=e(this),n=t.data("target")||t.attr("href"),r=/^#\w/.test(n)&&e(n);return r&&r.length&&[[r.position().top,n]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},process:function(){var e=this.$scrollElement.scrollTop()+this.options.offset,t=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,n=t-this.$scrollElement.height(),r=this.offsets,i=this.targets,s=this.activeTarget,o;if(e>=n)return s!=(o=i.last()[0])&&this.activate(o);for(o=r.length;o--;)s!=i[o]&&e>=r[o]&&(!r[o+1]||e<=r[o+1])&&this.activate(i[o])},activate:function(t){var n,r;this.activeTarget=t,e(this.selector).parent(".active").removeClass("active"),r=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',n=e(r).parent("li").addClass("active"),n.parent(".dropdown-menu").length&&(n=n.closest("li.dropdown").addClass("active")),n.trigger("activate")}},e.fn.scrollspy=function(n){return this.each(function(){var r=e(this),i=r.data("scrollspy"),s=typeof n=="object"&&n;i||r.data("scrollspy",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.scrollspy.Constructor=t,e.fn.scrollspy.defaults={offset:10},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);t.scrollspy(t.data())})})}(window.jQuery),!function(e){"use strict";var t=function(t){this.element=e(t)};t.prototype={constructor:t,show:function(){var t=this.element,n=t.closest("ul:not(.dropdown-menu)"),r=t.attr("data-target"),i,s,o;r||(r=t.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));if(t.parent("li").hasClass("active"))return;i=n.find(".active a").last()[0],o=e.Event("show",{relatedTarget:i}),t.trigger(o);if(o.isDefaultPrevented())return;s=e(r),this.activate(t.parent("li"),n),this.activate(s,s.parent(),function(){t.trigger({type:"shown",relatedTarget:i})})},activate:function(t,n,r){function o(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),t.addClass("active"),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu")&&t.closest("li.dropdown").addClass("active"),r&&r()}var i=n.find("> .active"),s=r&&e.support.transition&&i.hasClass("fade");s?i.one(e.support.transition.end,o):o(),i.removeClass("in")}},e.fn.tab=function(n){return this.each(function(){var r=e(this),i=r.data("tab");i||r.data("tab",i=new t(this)),typeof n=="string"&&i[n]()})},e.fn.tab.Constructor=t,e(function(){e("body").on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(t){t.preventDefault(),e(this).tab("show")})})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.typeahead.defaults,n),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.$menu=e(this.options.menu).appendTo("body"),this.source=this.options.source,this.shown=!1,this.listen()};t.prototype={constructor:t,select:function(){var e=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(e)).change(),this.hide()},updater:function(e){return e},show:function(){var t=e.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});return this.$menu.css({top:t.top+t.height,left:t.left}),this.$menu.show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(t){var n;return this.query=this.$element.val(),!this.query||this.query.length"+t+""})},render:function(t){var n=this;return t=e(t).map(function(t,r){return t=e(n.options.item).attr("data-value",r),t.find("a").html(n.highlighter(r)),t[0]}),t.first().addClass("active"),this.$menu.html(t),this},next:function(t){var n=this.$menu.find(".active").removeClass("active"),r=n.next();r.length||(r=e(this.$menu.find("li")[0])),r.addClass("active")},prev:function(e){var t=this.$menu.find(".active").removeClass("active"),n=t.prev();n.length||(n=this.$menu.find("li").last()),n.addClass("active")},listen:function(){this.$element.on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t=typeof this.$element[e]=="function"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()},keydown:function(t){this.suppressKeyPressRepeat=!~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.stopPropagation(),e.preventDefault()},blur:function(e){var t=this;setTimeout(function(){t.hide()},150)},click:function(e){e.stopPropagation(),e.preventDefault(),this.select()},mouseenter:function(t){this.$menu.find(".active").removeClass("active"),e(t.currentTarget).addClass("active")}},e.fn.typeahead=function(n){return this.each(function(){var r=e(this),i=r.data("typeahead"),s=typeof n=="object"&&n;i||r.data("typeahead",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.typeahead.defaults={source:[],items:8,menu:'',item:'
  • ',minLength:1},e.fn.typeahead.Constructor=t,e(function(){e("body").on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var n=e(this);if(n.data("typeahead"))return;t.preventDefault(),n.typeahead(n.data())})})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=e.extend({},e.fn.affix.defaults,n),this.$window=e(window).on("scroll.affix.data-api",e.proxy(this.checkPosition,this)).on("click.affix.data-api",e.proxy(function(){setTimeout(e.proxy(this.checkPosition,this),1)},this)),this.$element=e(t),this.checkPosition()};t.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.bottom,o=i.top,u="affix affix-top affix-bottom",a;typeof i!="object"&&(s=o=i),typeof o=="function"&&(o=i.top()),typeof s=="function"&&(s=i.bottom()),a=this.unpin!=null&&n+this.unpin<=r.top?!1:s!=null&&r.top+this.$element.height()>=t-s?"bottom":o!=null&&n<=o?"top":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a=="bottom"?r.top-n:null,this.$element.removeClass(u).addClass("affix"+(a?"-"+a:""))},e.fn.affix=function(n){return this.each(function(){var r=e(this),i=r.data("affix"),s=typeof n=="object"&&n;i||r.data("affix",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.affix.Constructor=t,e.fn.affix.defaults={offset:0},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var t=e(this),n=t.data();n.offset=n.offset||{},n.offsetBottom&&(n.offset.bottom=n.offsetBottom),n.offsetTop&&(n.offset.top=n.offsetTop),t.affix(n)})})}(window.jQuery); \ No newline at end of file diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js index d53f13a00..d2a4878b3 100644 --- a/js/bootstrap-modal.js +++ b/js/bootstrap-modal.js @@ -70,13 +70,12 @@ that.$element .addClass('in') .attr('aria-hidden', false) - .focus() that.enforceFocus() transition ? - that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) : - that.$element.trigger('shown') + that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) : + that.$element.focus().trigger('shown') }) } @@ -232,4 +231,4 @@ }) }) -}(window.jQuery); \ No newline at end of file +}(window.jQuery); -- cgit v1.2.3 From 463eae25b0553161dc39875015ea62970c6edfbf Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Tue, 16 Oct 2012 12:37:36 -0500 Subject: clarify js docs individual or compiled section --- docs/javascript.html | 2 +- docs/templates/pages/javascript.mustache | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/javascript.html b/docs/javascript.html index c7e41b7d3..9c6a8f850 100644 --- a/docs/javascript.html +++ b/docs/javascript.html @@ -112,7 +112,7 @@

    Individual or compiled

    -

    If you have downloaded the latest version of Bootstrap, both bootstrap.js and bootstrap.min.js contain all of the plugins listed on this page.

    +

    Plugins can be included individually (though some have required dependencies), or all at once. Both bootstrap.js and bootstrap.min.js contain all plugins in a single file.

    Data attributes

    You can use all Bootstrap plugins purely through the markup API without writing a single line of JavaScript. This is Bootstrap's first class API and should be your first consideration when using a plugin.

    diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache index 6c49d9bc4..34bf0fab7 100644 --- a/docs/templates/pages/javascript.mustache +++ b/docs/templates/pages/javascript.mustache @@ -41,7 +41,7 @@

    {{_i}}Individual or compiled{{/i}}

    -

    {{_i}}If you have downloaded the latest version of Bootstrap, both bootstrap.js and bootstrap.min.js contain all of the plugins listed on this page.{{/i}}

    +

    {{_i}}Plugins can be included individually (though some have required dependencies), or all at once. Both bootstrap.js and bootstrap.min.js contain all plugins in a single file.{{/i}}

    {{_i}}Data attributes{{/i}}

    {{_i}}You can use all Bootstrap plugins purely through the markup API without writing a single line of JavaScript. This is Bootstrap's first class API and should be your first consideration when using a plugin.{{/i}}

    -- cgit v1.2.3 From bf7833353145966f1934a2da4aa3771cb2436b48 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Tue, 16 Oct 2012 12:50:10 -0500 Subject: add in latest carousel example, reorg examples on getting started --- .../img/examples/bootstrap-example-carousel.png | Bin 0 -> 53908 bytes docs/examples/carousel.html | 450 ++++++++++++--------- docs/getting-started.html | 16 +- docs/templates/pages/getting-started.mustache | 16 +- 4 files changed, 268 insertions(+), 214 deletions(-) create mode 100644 docs/assets/img/examples/bootstrap-example-carousel.png diff --git a/docs/assets/img/examples/bootstrap-example-carousel.png b/docs/assets/img/examples/bootstrap-example-carousel.png new file mode 100644 index 000000000..a2f668abe Binary files /dev/null and b/docs/assets/img/examples/bootstrap-example-carousel.png differ diff --git a/docs/examples/carousel.html b/docs/examples/carousel.html index ee811b9c8..92134c506 100644 --- a/docs/examples/carousel.html +++ b/docs/examples/carousel.html @@ -9,207 +9,240 @@ - - + + + - -

    Move beyond the base template with a few example layouts. We encourage folks to iterate on these examples and not simply use them as an end result.

    diff --git a/docs/templates/pages/getting-started.mustache b/docs/templates/pages/getting-started.mustache index e96ec292c..2eec7ff76 100644 --- a/docs/templates/pages/getting-started.mustache +++ b/docs/templates/pages/getting-started.mustache @@ -170,6 +170,13 @@

    {{_i}}Move beyond the base template with a few example layouts. We encourage folks to iterate on these examples and not simply use them as an end result.{{/i}}

    -- cgit v1.2.3 From 78f7ad95f4449506f4928e2407df91b0c0eb830a Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Tue, 16 Oct 2012 19:56:34 -0700 Subject: fixes #5542: move '.hero-unit p' font-styles to '.hero-unit' so they apply to all elements, including ul and ol, within the component. --- docs/assets/css/bootstrap.css | 9 +++++---- less/hero-unit.less | 11 ++++++----- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index ab2669562..01d119195 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -5847,6 +5847,10 @@ a.badge:hover { .hero-unit { padding: 60px; margin-bottom: 30px; + font-size: 18px; + font-weight: 200; + line-height: 30px; + color: inherit; background-color: #eeeeee; -webkit-border-radius: 6px; -moz-border-radius: 6px; @@ -5861,11 +5865,8 @@ a.badge:hover { color: inherit; } -.hero-unit p { - font-size: 18px; - font-weight: 200; +.hero-unit li { line-height: 30px; - color: inherit; } .pull-right { diff --git a/less/hero-unit.less b/less/hero-unit.less index 672b7d7c7..763d86aee 100644 --- a/less/hero-unit.less +++ b/less/hero-unit.less @@ -6,6 +6,10 @@ .hero-unit { padding: 60px; margin-bottom: 30px; + font-size: 18px; + font-weight: 200; + line-height: @baseLineHeight * 1.5; + color: @heroUnitLeadColor; background-color: @heroUnitBackground; .border-radius(6px); h1 { @@ -15,10 +19,7 @@ color: @heroUnitHeadingColor; letter-spacing: -1px; } - p { - font-size: 18px; - font-weight: 200; - line-height: @baseLineHeight * 1.5; - color: @heroUnitLeadColor; + li { + line-height: @baseLineHeight * 1.5; // Reset since we specify in type.less } } -- cgit v1.2.3 From 0ac50d28b57b2221abf9ce935f4957d66ee7fcda Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Tue, 16 Oct 2012 20:18:50 -0700 Subject: fixes #5519: hellip in modal code --- docs/javascript.html | 2 +- docs/templates/pages/javascript.mustache | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/javascript.html b/docs/javascript.html index 9c6a8f850..f41687a90 100644 --- a/docs/javascript.html +++ b/docs/javascript.html @@ -259,7 +259,7 @@ $('#myModal').on('show', function (e) { <h3 id="myModalLabel">Modal header</h3> </div> <div class="modal-body"> - <p>One fine body…</p> + <p>One fine body…</p> </div> <div class="modal-footer"> <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button> diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache index 34bf0fab7..849469f66 100644 --- a/docs/templates/pages/javascript.mustache +++ b/docs/templates/pages/javascript.mustache @@ -189,7 +189,7 @@ $('#myModal').on('show', function (e) { <h3 id="myModalLabel">Modal header</h3> </div> <div class="modal-body"> - <p>{{_i}}One fine body…{{/i}}</p> + <p>{{_i}}One fine body…{{/i}}</p> </div> <div class="modal-footer"> <button class="btn" data-dismiss="modal" aria-hidden="true">{{_i}}Close{{/i}}</button> -- cgit v1.2.3 From 57eb2a801827ab2466f6ca4d5d470a72ae14e601 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Tue, 16 Oct 2012 20:28:07 -0700 Subject: more hellip on modals --- docs/javascript.html | 4 ++-- docs/templates/pages/javascript.mustache | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/javascript.html b/docs/javascript.html index f41687a90..31c999c1f 100644 --- a/docs/javascript.html +++ b/docs/javascript.html @@ -187,7 +187,7 @@ $('#myModal').on('show', function (e) {

    Modal header