diff --git a/README.md b/README.md index f6f1b54633a95fdce8dcd33a11240e6fc279329e..d9850fda0860ab3a0e628da29e04a06b858f80b0 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,7 @@ $ npm install recess connect uglify-js jshint -g Runs the recess compiler to rebuild the `/less` files and compiles the docs pages. Requires recess and uglify-js. <a href="http://twitter.github.com/bootstrap/less.html#compiling">Read more in our docs »</a> + **test** - `make test` -Runs jshint and qunit tests headlessly in [phatomjs] (http://code.google.com/p/phantomjs/) (used for ci). Depends on having phantomjs installed. +Runs jshint and qunit tests headlessly in [phantomjs](http://code.google.com/p/phantomjs/) (used for ci). Depends on having phantomjs installed. + **watch** - `make watch` This is a convenience method for watching just Less files and automatically building them whenever you save. Requires the Watchr gem. diff --git a/docs/assets/css/bootstrap-responsive.css b/docs/assets/css/bootstrap-responsive.css index daafa9180839e91a5f5a5e96cd560d45c4ac50b4..fcc4967600c56ccb9ad296e0817eeeb644a641ea 100644 --- a/docs/assets/css/bootstrap-responsive.css +++ b/docs/assets/css/bootstrap-responsive.css @@ -1,5 +1,5 @@ /*! - * Bootstrap Responsive v2.1.0 + * Bootstrap Responsive v2.1.1 * * Copyright 2012 Twitter, Inc * Licensed under the Apache License v2.0 @@ -107,6 +107,7 @@ } [class*="span"] { float: left; + min-height: 1px; margin-left: 30px; } .container, @@ -453,6 +454,7 @@ } [class*="span"] { float: left; + min-height: 1px; margin-left: 20px; } .container, @@ -780,7 +782,8 @@ padding-left: 20px; } .navbar-fixed-top, - .navbar-fixed-bottom { + .navbar-fixed-bottom, + .navbar-static-top { margin-right: -20px; margin-left: -20px; } @@ -845,6 +848,9 @@ display: inline-block; width: auto; } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 0; + } .modal { position: fixed; top: 20px; @@ -944,14 +950,14 @@ display: none; } .nav-collapse .nav .nav-header { - color: #555555; + color: #777777; text-shadow: none; } .nav-collapse .nav > li > a, .nav-collapse .dropdown-menu a { padding: 9px 15px; font-weight: bold; - color: #555555; + color: #777777; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; @@ -1003,6 +1009,10 @@ .nav-collapse .dropdown-menu .divider { display: none; } + .nav-collapse .nav > li > .dropdown-menu:before, + .nav-collapse .nav > li > .dropdown-menu:after { + display: none; + } .nav-collapse .navbar-form, .nav-collapse .navbar-search { float: none; @@ -1014,6 +1024,11 @@ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); } + .navbar-inverse .nav-collapse .navbar-form, + .navbar-inverse .nav-collapse .navbar-search { + border-top-color: #111111; + border-bottom-color: #111111; + } .navbar .nav-collapse .nav.pull-right { float: none; margin-left: 0; diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index 0664207aeebb76899b248184a65d9ca64b383aa6..b863b1266dd9add0fdf82c0d3eae2bf52e35cd46 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -1,5 +1,5 @@ /*! - * Bootstrap v2.1.0 + * Bootstrap v2.1.1 * * Copyright 2012 Twitter, Inc * Licensed under the Apache License v2.0 @@ -215,6 +215,7 @@ a:hover { [class*="span"] { float: left; + min-height: 1px; margin-left: 20px; } @@ -725,9 +726,24 @@ dd { margin-left: 10px; } +.dl-horizontal { + *zoom: 1; +} + +.dl-horizontal:before, +.dl-horizontal:after { + display: table; + line-height: 0; + content: ""; +} + +.dl-horizontal:after { + clear: both; +} + .dl-horizontal dt { float: left; - width: 120px; + width: 160px; overflow: hidden; clear: left; text-align: right; @@ -736,7 +752,7 @@ dd { } .dl-horizontal dd { - margin-left: 130px; + margin-left: 180px; } hr { @@ -945,8 +961,9 @@ input[type="color"], } input, -textarea { - width: 210px; +textarea, +.uneditable-input { + width: 206px; } textarea { @@ -1301,14 +1318,17 @@ input[type="checkbox"][readonly] { .control-group.warning select, .control-group.warning textarea { color: #c09853; +} + +.control-group.warning input, +.control-group.warning select, +.control-group.warning textarea { border-color: #c09853; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } -.control-group.warning .checkbox:focus, -.control-group.warning .radio:focus, .control-group.warning input:focus, .control-group.warning select:focus, .control-group.warning textarea:focus { @@ -1337,14 +1357,17 @@ input[type="checkbox"][readonly] { .control-group.error select, .control-group.error textarea { color: #b94a48; +} + +.control-group.error input, +.control-group.error select, +.control-group.error textarea { border-color: #b94a48; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } -.control-group.error .checkbox:focus, -.control-group.error .radio:focus, .control-group.error input:focus, .control-group.error select:focus, .control-group.error textarea:focus { @@ -1373,14 +1396,17 @@ input[type="checkbox"][readonly] { .control-group.success select, .control-group.success textarea { color: #468847; +} + +.control-group.success input, +.control-group.success select, +.control-group.success textarea { border-color: #468847; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } -.control-group.success .checkbox:focus, -.control-group.success .radio:focus, .control-group.success input:focus, .control-group.success select:focus, .control-group.success textarea:focus { @@ -1397,6 +1423,45 @@ input[type="checkbox"][readonly] { border-color: #468847; } +.control-group.info > label, +.control-group.info .help-block, +.control-group.info .help-inline { + color: #3a87ad; +} + +.control-group.info .checkbox, +.control-group.info .radio, +.control-group.info input, +.control-group.info select, +.control-group.info textarea { + color: #3a87ad; +} + +.control-group.info input, +.control-group.info select, +.control-group.info textarea { + border-color: #3a87ad; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.info input:focus, +.control-group.info select:focus, +.control-group.info textarea:focus { + border-color: #2d6987; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; +} + +.control-group.info .input-prepend .add-on, +.control-group.info .input-append .add-on { + color: #3a87ad; + background-color: #d9edf7; + border-color: #3a87ad; +} + input:focus:required:invalid, textarea:focus:required:invalid, select:focus:required:invalid { @@ -1503,7 +1568,6 @@ select:focus:required:invalid:focus { .input-prepend .add-on, .input-append .btn, .input-prepend .btn { - margin-left: -1px; vertical-align: top; -webkit-border-radius: 0; -moz-border-radius: 0; @@ -1536,6 +1600,11 @@ select:focus:required:invalid:focus { border-radius: 3px 0 0 3px; } +.input-append .add-on, +.input-append .btn { + margin-left: -1px; +} + .input-append .add-on:last-child, .input-append .btn:last-child { -webkit-border-radius: 0 3px 3px 0; @@ -1706,7 +1775,7 @@ legend + .control-group { .form-horizontal .control-label { float: left; - width: 140px; + width: 160px; padding-top: 5px; text-align: right; } @@ -1714,21 +1783,26 @@ legend + .control-group { .form-horizontal .controls { *display: inline-block; *padding-left: 20px; - margin-left: 160px; + margin-left: 180px; *margin-left: 0; } .form-horizontal .controls:first-child { - *padding-left: 160px; + *padding-left: 180px; } .form-horizontal .help-block { - margin-top: 10px; margin-bottom: 0; } +.form-horizontal input + .help-block, +.form-horizontal select + .help-block, +.form-horizontal textarea + .help-block { + margin-top: 10px; +} + .form-horizontal .form-actions { - padding-left: 160px; + padding-left: 180px; } table { @@ -1853,7 +1927,7 @@ table { .table-bordered colgroup + tbody tr:first-child td:last-child { -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; - -moz-border-right-topleft: 4px; + -moz-border-radius-topleft: 4px; } .table-striped tbody tr:nth-child(odd) td, @@ -2025,10 +2099,30 @@ table .span24 { background-color: #f2dede; } +.table tbody tr.warning td { + background-color: #fcf8e3; +} + .table tbody tr.info td { background-color: #d9edf7; } +.table-hover tbody tr.success:hover td { + background-color: #d0e9c6; +} + +.table-hover tbody tr.error:hover td { + background-color: #ebcccc; +} + +.table-hover tbody tr.warning:hover td { + background-color: #faf2cc; +} + +.table-hover tbody tr.info:hover td { + background-color: #c4e3f3; +} + [class^="icon-"], [class*=" icon-"] { display: inline-block; @@ -2046,8 +2140,14 @@ table .span24 { /* White icons with optional class, or on hover/active states of certain elements */ .icon-white, -.nav > .active > a > [class^="icon-"], -.nav > .active > a > [class*=" icon-"], +.nav-tabs > .active > a > [class^="icon-"], +.nav-tabs > .active > a > [class*=" icon-"], +.nav-pills > .active > a > [class^="icon-"], +.nav-pills > .active > a > [class*=" icon-"], +.nav-list > .active > a > [class^="icon-"], +.nav-list > .active > a > [class*=" icon-"], +.navbar-inverse .nav > .active > a > [class^="icon-"], +.navbar-inverse .nav > .active > a > [class*=" icon-"], .dropdown-menu > li > a:hover > [class^="icon-"], .dropdown-menu > li > a:hover > [class*=" icon-"], .dropdown-menu > .active > a > [class^="icon-"], @@ -2759,7 +2859,7 @@ table .span24 { .navbar-fixed-bottom .dropdown .caret { border-top: 0; border-bottom: 4px solid #000000; - content: "\2191"; + content: ""; } .dropup .dropdown-menu, @@ -2783,7 +2883,7 @@ table .span24 { border-radius: 0 6px 6px 6px; } -.dropdown-submenu:hover .dropdown-menu { +.dropdown-submenu:hover > .dropdown-menu { display: block; } @@ -2866,7 +2966,6 @@ table .span24 { position: relative; height: 0; overflow: hidden; - overflow: visible \9; -webkit-transition: height 0.35s ease; -moz-transition: height 0.35s ease; -o-transition: height 0.35s ease; @@ -3030,7 +3129,7 @@ button.close { .btn-mini { padding: 2px 6px; font-size: 11px; - line-height: 16px; + line-height: 17px; } .btn-block { @@ -3047,6 +3146,12 @@ button.close { margin-top: 5px; } +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + .btn-primary.active, .btn-warning.active, .btn-danger.active, @@ -3312,6 +3417,7 @@ input[type="submit"].btn.btn-mini { *margin-left: .3em; font-size: 0; white-space: nowrap; + vertical-align: middle; } .btn-group:first-child { @@ -4018,7 +4124,7 @@ input[type="submit"].btn.btn-mini { *z-index: 2; margin-bottom: 20px; overflow: visible; - color: #555555; + color: #777777; } .navbar-inner { @@ -4037,11 +4143,23 @@ input[type="submit"].btn.btn-mini { -moz-border-radius: 4px; border-radius: 4px; filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0); + *zoom: 1; -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); } +.navbar-inner:before, +.navbar-inner:after { + display: table; + line-height: 0; + content: ""; +} + +.navbar-inner:after { + clear: both; +} + .navbar .container { width: auto; } @@ -4057,7 +4175,7 @@ input[type="submit"].btn.btn-mini { margin-left: -20px; font-size: 20px; font-weight: 200; - color: #555555; + color: #777777; text-shadow: 0 1px 0 #ffffff; } @@ -4071,7 +4189,7 @@ input[type="submit"].btn.btn-mini { } .navbar-link { - color: #555555; + color: #777777; } .navbar-link:hover { @@ -4087,11 +4205,13 @@ input[type="submit"].btn.btn-mini { .navbar .btn, .navbar .btn-group { - margin-top: 6px; + margin-top: 5px; } -.navbar .btn-group .btn { - margin: 0; +.navbar .btn-group .btn, +.navbar .input-prepend .btn, +.navbar .input-append .btn { + margin-top: 0; } .navbar-form { @@ -4182,9 +4302,12 @@ input[type="submit"].btn.btn-mini { } .navbar-fixed-top .navbar-inner, -.navbar-fixed-bottom .navbar-inner, .navbar-static-top .navbar-inner { - border: 0; + border-width: 0 0 1px; +} + +.navbar-fixed-bottom .navbar-inner { + border-width: 1px 0 0; } .navbar-fixed-top .navbar-inner, @@ -4233,6 +4356,7 @@ input[type="submit"].btn.btn-mini { .navbar .nav.pull-right { float: right; + margin-right: 0; } .navbar .nav > li { @@ -4242,7 +4366,7 @@ input[type="submit"].btn.btn-mini { .navbar .nav > li > a { float: none; padding: 10px 15px 10px; - color: #555555; + color: #777777; text-decoration: none; text-shadow: 0 1px 0 #ffffff; } @@ -4372,8 +4496,8 @@ input[type="submit"].btn.btn-mini { } .navbar .nav li.dropdown > .dropdown-toggle .caret { - border-top-color: #555555; - border-bottom-color: #555555; + border-top-color: #777777; + border-bottom-color: #777777; } .navbar .nav li.dropdown.open > .dropdown-toggle .caret, @@ -4599,12 +4723,12 @@ input[type="submit"].btn.btn-mini { box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); } -.pagination li { +.pagination ul > li { display: inline; } -.pagination a, -.pagination span { +.pagination ul > li > a, +.pagination ul > li > span { float: left; padding: 0 14px; line-height: 38px; @@ -4614,36 +4738,36 @@ input[type="submit"].btn.btn-mini { border-left-width: 0; } -.pagination a:hover, -.pagination .active a, -.pagination .active span { +.pagination ul > li > a:hover, +.pagination ul > .active > a, +.pagination ul > .active > span { background-color: #f5f5f5; } -.pagination .active a, -.pagination .active span { +.pagination ul > .active > a, +.pagination ul > .active > span { color: #999999; cursor: default; } -.pagination .disabled span, -.pagination .disabled a, -.pagination .disabled a:hover { +.pagination ul > .disabled > span, +.pagination ul > .disabled > a, +.pagination ul > .disabled > a:hover { color: #999999; cursor: default; background-color: transparent; } -.pagination li:first-child a, -.pagination li:first-child span { +.pagination ul > li:first-child > a, +.pagination ul > li:first-child > span { border-left-width: 1px; -webkit-border-radius: 3px 0 0 3px; -moz-border-radius: 3px 0 0 3px; border-radius: 3px 0 0 3px; } -.pagination li:last-child a, -.pagination li:last-child span { +.pagination ul > li:last-child > a, +.pagination ul > li:last-child > span { -webkit-border-radius: 0 3px 3px 0; -moz-border-radius: 0 3px 3px 0; border-radius: 0 3px 3px 0; @@ -4679,7 +4803,8 @@ input[type="submit"].btn.btn-mini { display: inline; } -.pager a { +.pager a, +.pager span { display: inline-block; padding: 5px 14px; background-color: #fff; @@ -4694,7 +4819,8 @@ input[type="submit"].btn.btn-mini { background-color: #f5f5f5; } -.pager .next a { +.pager .next a, +.pager .next span { float: right; } @@ -4703,25 +4829,26 @@ input[type="submit"].btn.btn-mini { } .pager .disabled a, -.pager .disabled a:hover { +.pager .disabled a:hover, +.pager .disabled span { color: #999999; cursor: default; background-color: #fff; } -.modal-open .dropdown-menu { +.modal-open .modal .dropdown-menu { z-index: 2050; } -.modal-open .dropdown.open { +.modal-open .modal .dropdown.open { *z-index: 2050; } -.modal-open .popover { +.modal-open .modal .popover { z-index: 2060; } -.modal-open .tooltip { +.modal-open .modal .tooltip { z-index: 2080; } diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css index 66c4a6f04eb69ddd2e6aa18a2e59792e1bfb29ab..679322562490177c91362c0841483ff4b4408cfb 100644 --- a/docs/assets/css/docs.css +++ b/docs/assets/css/docs.css @@ -756,11 +756,6 @@ form.bs-docs-example { /* Sidenav for Docs -------------------------------------------------- */ -/* prevent column from collapsing when affixing */ -.span3 { - min-height: 1px; -} - .bs-docs-sidenav { width: 228px; margin: 30px 0 0; @@ -892,7 +887,7 @@ form.bs-docs-example { /* Tablet ------------------------- */ -@media (max-width: 768px) { +@media (max-width: 767px) { /* Remove any padding from the body */ body { padding-top: 0; diff --git a/docs/assets/js/bootstrap-affix.js b/docs/assets/js/bootstrap-affix.js index c6b8208a6ef9300253c467ca2d5c32033a5ee671..c49d6e9dac09e0b7d8fe0c873fc887249b7516b7 100644 --- a/docs/assets/js/bootstrap-affix.js +++ b/docs/assets/js/bootstrap-affix.js @@ -1,5 +1,5 @@ /* ========================================================== - * bootstrap-affix.js v2.1.0 + * bootstrap-affix.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#affix * ========================================================== * Copyright 2012 Twitter, Inc. diff --git a/docs/assets/js/bootstrap-alert.js b/docs/assets/js/bootstrap-alert.js index 4dd31adb22f6e06d17240edfd6d3a22b92e7718c..51273ab9d2d8616cf66479cbbd0f7f6173f17dcb 100644 --- a/docs/assets/js/bootstrap-alert.js +++ b/docs/assets/js/bootstrap-alert.js @@ -1,5 +1,5 @@ /* ========================================================== - * bootstrap-alert.js v2.1.0 + * bootstrap-alert.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#alerts * ========================================================== * Copyright 2012 Twitter, Inc. diff --git a/docs/assets/js/bootstrap-button.js b/docs/assets/js/bootstrap-button.js index d0413d6efbc760fd3c50771e11944622278208ec..a0ab0bfad521dbecdfbda58db9dd771f196c36d7 100644 --- a/docs/assets/js/bootstrap-button.js +++ b/docs/assets/js/bootstrap-button.js @@ -1,5 +1,5 @@ /* ============================================================ - * bootstrap-button.js v2.1.0 + * bootstrap-button.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#buttons * ============================================================ * Copyright 2012 Twitter, Inc. @@ -51,7 +51,7 @@ } Button.prototype.toggle = function () { - var $parent = this.$element.parent('[data-toggle="buttons-radio"]') + var $parent = this.$element.closest('[data-toggle="buttons-radio"]') $parent && $parent .find('.active') diff --git a/docs/assets/js/bootstrap-carousel.js b/docs/assets/js/bootstrap-carousel.js index 0b87eb8a2459ea40a0bdf88fb4ef5a3f7839166f..5c194b4287baaf967b676a00788ebbe84d30d6cd 100644 --- a/docs/assets/js/bootstrap-carousel.js +++ b/docs/assets/js/bootstrap-carousel.js @@ -1,5 +1,5 @@ /* ========================================================== - * bootstrap-carousel.js v2.1.0 + * bootstrap-carousel.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#carousel * ========================================================== * Copyright 2012 Twitter, Inc. diff --git a/docs/assets/js/bootstrap-collapse.js b/docs/assets/js/bootstrap-collapse.js index 391d91281bc2d804063e0868455b7402477ab1be..8116f2255388bb397df4789008f34c4be0c74438 100644 --- a/docs/assets/js/bootstrap-collapse.js +++ b/docs/assets/js/bootstrap-collapse.js @@ -1,5 +1,5 @@ /* ============================================================= - * bootstrap-collapse.js v2.1.0 + * bootstrap-collapse.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#collapse * ============================================================= * Copyright 2012 Twitter, Inc. diff --git a/docs/assets/js/bootstrap-dropdown.js b/docs/assets/js/bootstrap-dropdown.js index ab601e9e5bf7a284d2e403b682fc352cd840a37b..42370dfbef26cc66502b5b70664d30a807daa3ef 100644 --- a/docs/assets/js/bootstrap-dropdown.js +++ b/docs/assets/js/bootstrap-dropdown.js @@ -1,5 +1,5 @@ /* ============================================================ - * bootstrap-dropdown.js v2.1.0 + * bootstrap-dropdown.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#dropdowns * ============================================================ * Copyright 2012 Twitter, Inc. @@ -110,7 +110,7 @@ if (!selector) { selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 } $parent = $(selector) @@ -142,7 +142,7 @@ $('html') .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) $('body') - .on('click.dropdown touchstart.dropdown.data-api', '.dropdown', function (e) { e.stopPropagation() }) + .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/docs/assets/js/bootstrap-modal.js b/docs/assets/js/bootstrap-modal.js index 62fbc951b5ddc91846fb3c7ec73da0db0c70f0dd..f1622b1c65f7e0aeb4ed9351224eefa57285cbc2 100644 --- a/docs/assets/js/bootstrap-modal.js +++ b/docs/assets/js/bootstrap-modal.js @@ -1,5 +1,5 @@ /* ========================================================= - * bootstrap-modal.js v2.1.0 + * bootstrap-modal.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#modals * ========================================================= * Copyright 2012 Twitter, Inc. diff --git a/docs/assets/js/bootstrap-popover.js b/docs/assets/js/bootstrap-popover.js index 4ce7a16d3f3c01cd000e937d87e9089de41dd261..941372285cb38be1699d4a65d2a984b79561e6ea 100644 --- a/docs/assets/js/bootstrap-popover.js +++ b/docs/assets/js/bootstrap-popover.js @@ -1,5 +1,5 @@ /* =========================================================== - * bootstrap-popover.js v2.1.0 + * bootstrap-popover.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#popovers * =========================================================== * Copyright 2012 Twitter, Inc. diff --git a/docs/assets/js/bootstrap-scrollspy.js b/docs/assets/js/bootstrap-scrollspy.js index df70ebdd715da5417e4ba67d9a6d3a70844947c1..e740ac01f71084618df29431cd7f63561bd8c630 100644 --- a/docs/assets/js/bootstrap-scrollspy.js +++ b/docs/assets/js/bootstrap-scrollspy.js @@ -1,5 +1,5 @@ /* ============================================================= - * bootstrap-scrollspy.js v2.1.0 + * bootstrap-scrollspy.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#scrollspy * ============================================================= * Copyright 2012 Twitter, Inc. diff --git a/docs/assets/js/bootstrap-tab.js b/docs/assets/js/bootstrap-tab.js index df2a7f7a06fa66345931410cbe734cc3bf763cbf..070deb8f4ddae41e9bae6ad0ee835d9b97f17a45 100644 --- a/docs/assets/js/bootstrap-tab.js +++ b/docs/assets/js/bootstrap-tab.js @@ -1,5 +1,5 @@ /* ======================================================== - * bootstrap-tab.js v2.1.0 + * bootstrap-tab.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#tabs * ======================================================== * Copyright 2012 Twitter, Inc. diff --git a/docs/assets/js/bootstrap-tooltip.js b/docs/assets/js/bootstrap-tooltip.js index 4d06dfcc9b1675abb34f19b70c07a54a88aadd86..ed6288531604595c43f3f4abef03697441fd4514 100644 --- a/docs/assets/js/bootstrap-tooltip.js +++ b/docs/assets/js/bootstrap-tooltip.js @@ -1,5 +1,5 @@ /* =========================================================== - * bootstrap-tooltip.js v2.1.0 + * bootstrap-tooltip.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#tooltips * Inspired by the original jQuery.tipsy by Jason Frame * =========================================================== diff --git a/docs/assets/js/bootstrap-transition.js b/docs/assets/js/bootstrap-transition.js index f0913d861a060e9b5cc4730aa302ed1aaaad24ba..fedc90a83e1bf23cc813ab9bb6f14f61f8505818 100644 --- a/docs/assets/js/bootstrap-transition.js +++ b/docs/assets/js/bootstrap-transition.js @@ -1,5 +1,5 @@ /* =================================================== - * bootstrap-transition.js v2.1.0 + * bootstrap-transition.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#transitions * =================================================== * Copyright 2012 Twitter, Inc. diff --git a/docs/assets/js/bootstrap-typeahead.js b/docs/assets/js/bootstrap-typeahead.js index ae57221c11a77d0f837d15937335fa4af748fedf..6ceacd61dcd7bbfda6fd72210ef1cc6195500ad4 100644 --- a/docs/assets/js/bootstrap-typeahead.js +++ b/docs/assets/js/bootstrap-typeahead.js @@ -1,5 +1,5 @@ /* ============================================================= - * bootstrap-typeahead.js v2.1.0 + * bootstrap-typeahead.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#typeahead * ============================================================= * Copyright 2012 Twitter, Inc. diff --git a/docs/assets/js/bootstrap.js b/docs/assets/js/bootstrap.js index 7f303eb88a10671c4a704c667d2b0a9e78417f89..d0893ae3ac888092f4b32f6d715b62157a10e91a 100644 --- a/docs/assets/js/bootstrap.js +++ b/docs/assets/js/bootstrap.js @@ -1,5 +1,5 @@ /* =================================================== - * bootstrap-transition.js v2.1.0 + * bootstrap-transition.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#transitions * =================================================== * Copyright 2012 Twitter, Inc. @@ -58,7 +58,7 @@ }) }(window.jQuery);/* ========================================================== - * bootstrap-alert.js v2.1.0 + * bootstrap-alert.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#alerts * ========================================================== * Copyright 2012 Twitter, Inc. @@ -147,7 +147,7 @@ }) }(window.jQuery);/* ============================================================ - * bootstrap-button.js v2.1.0 + * bootstrap-button.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#buttons * ============================================================ * Copyright 2012 Twitter, Inc. @@ -199,7 +199,7 @@ } Button.prototype.toggle = function () { - var $parent = this.$element.parent('[data-toggle="buttons-radio"]') + var $parent = this.$element.closest('[data-toggle="buttons-radio"]') $parent && $parent .find('.active') @@ -242,7 +242,7 @@ }) }(window.jQuery);/* ========================================================== - * bootstrap-carousel.js v2.1.0 + * bootstrap-carousel.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#carousel * ========================================================== * Copyright 2012 Twitter, Inc. @@ -417,7 +417,7 @@ }) }(window.jQuery);/* ============================================================= - * bootstrap-collapse.js v2.1.0 + * bootstrap-collapse.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#collapse * ============================================================= * Copyright 2012 Twitter, Inc. @@ -574,7 +574,7 @@ }) }(window.jQuery);/* ============================================================ - * bootstrap-dropdown.js v2.1.0 + * bootstrap-dropdown.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#dropdowns * ============================================================ * Copyright 2012 Twitter, Inc. @@ -685,7 +685,7 @@ if (!selector) { selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 } $parent = $(selector) @@ -717,13 +717,13 @@ $('html') .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) $('body') - .on('click.dropdown touchstart.dropdown.data-api', '.dropdown', function (e) { e.stopPropagation() }) + .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);/* ========================================================= - * bootstrap-modal.js v2.1.0 + * bootstrap-modal.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#modals * ========================================================= * Copyright 2012 Twitter, Inc. @@ -961,7 +961,7 @@ }) }(window.jQuery);/* =========================================================== - * bootstrap-tooltip.js v2.1.0 + * bootstrap-tooltip.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#tooltips * Inspired by the original jQuery.tipsy by Jason Frame * =========================================================== @@ -1236,7 +1236,7 @@ }(window.jQuery); /* =========================================================== - * bootstrap-popover.js v2.1.0 + * bootstrap-popover.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#popovers * =========================================================== * Copyright 2012 Twitter, Inc. @@ -1338,7 +1338,7 @@ }) }(window.jQuery);/* ============================================================= - * bootstrap-scrollspy.js v2.1.0 + * bootstrap-scrollspy.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#scrollspy * ============================================================= * Copyright 2012 Twitter, Inc. @@ -1488,7 +1488,7 @@ }) }(window.jQuery);/* ======================================================== - * bootstrap-tab.js v2.1.0 + * bootstrap-tab.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#tabs * ======================================================== * Copyright 2012 Twitter, Inc. @@ -1622,7 +1622,7 @@ }) }(window.jQuery);/* ============================================================= - * bootstrap-typeahead.js v2.1.0 + * bootstrap-typeahead.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#typeahead * ============================================================= * Copyright 2012 Twitter, Inc. @@ -1922,7 +1922,7 @@ }(window.jQuery); /* ========================================================== - * bootstrap-affix.js v2.1.0 + * bootstrap-affix.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#affix * ========================================================== * Copyright 2012 Twitter, Inc. diff --git a/docs/assets/js/bootstrap.min.js b/docs/assets/js/bootstrap.min.js index 9e4ac0425ca7fa2a6b2cd382e5f52b2564d74088..0c06523ed7c5a8c9c4093d45c92f250ded16a2d8 100644 --- a/docs/assets/js/bootstrap.min.js +++ b/docs/assets/js/bootstrap.min.js @@ -3,4 +3,4 @@ * Copyright 2012 Twitter, Inc. * http://www.apache.org/licenses/LICENSE-2.0.txt */ -!function(a){a(function(){"use strict",a.support.transition=function(){var a=function(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c;for(c in b)if(a.style[c]!==undefined)return b[c]}();return a&&{end:a}}()})}(window.jQuery),!function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function f(){e.trigger("closed").remove()}var c=a(this),d=c.attr("data-target"),e;d||(d=c.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),e=a(d),b&&b.preventDefault(),e.length||(e=c.hasClass("alert")?c:c.parent()),e.trigger(b=a.Event("close"));if(b.isDefaultPrevented())return;e.removeClass("in"),a.support.transition&&e.hasClass("fade")?e.on(a.support.transition.end,f):f()},a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("alert");e||d.data("alert",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.alert.Constructor=c,a(function(){a("body").on("click.alert.data-api",b,c.prototype.close)})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.button.defaults,c)};b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.data(),e=c.is("input")?"val":"html";a+="Text",d.resetText||c.data("resetText",c[e]()),c[e](d[a]||this.options[a]),setTimeout(function(){a=="loadingText"?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.parent('[data-toggle="buttons-radio"]');a&&a.find(".active").removeClass("active"),this.$element.toggleClass("active")},a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("button"),f=typeof c=="object"&&c;e||d.data("button",e=new b(this,f)),c=="toggle"?e.toggle():c&&e.setState(c)})},a.fn.button.defaults={loadingText:"loading..."},a.fn.button.Constructor=b,a(function(){a("body").on("click.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle")})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=c,this.options.slide&&this.slide(this.options.slide),this.options.pause=="hover"&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.prototype={cycle:function(b){return b||(this.paused=!1),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},to:function(b){var c=this.$element.find(".item.active"),d=c.parent().children(),e=d.index(c),f=this;if(b>d.length-1||b<0)return;return this.sliding?this.$element.one("slid",function(){f.to(b)}):e==b?this.pause().cycle():this.slide(b>e?"next":"prev",a(d[b]))},pause:function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.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(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g=b=="next"?"left":"right",h=b=="next"?"first":"last",i=this,j=a.Event("slide",{relatedTarget:e[0]});this.sliding=!0,f&&this.pause(),e=e.length?e:this.$element.find(".item")[h]();if(e.hasClass("active"))return;if(a.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(j);if(j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),this.$element.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)})}else{this.$element.trigger(j);if(j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}},a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("carousel"),f=a.extend({},a.fn.carousel.defaults,typeof c=="object"&&c),g=typeof c=="string"?c:f.slide;e||d.data("carousel",e=new b(this,f)),typeof c=="number"?e.to(c):g?e[g]():f.interval&&e.cycle()})},a.fn.carousel.defaults={interval:5e3,pause:"hover"},a.fn.carousel.Constructor=b,a(function(){a("body").on("click.carousel.data-api","[data-slide]",function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=!e.data("modal")&&a.extend({},e.data(),c.data());e.carousel(f),b.preventDefault()})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.collapse.defaults,c),this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.prototype={constructor:b,dimension:function(){var a=this.$element.hasClass("width");return a?"width":"height"},show:function(){var b,c,d,e;if(this.transitioning)return;b=this.dimension(),c=a.camelCase(["scroll",b].join("-")),d=this.$parent&&this.$parent.find("> .accordion-group > .in");if(d&&d.length){e=d.data("collapse");if(e&&e.transitioning)return;d.collapse("hide"),e||d.data("collapse",null)}this.$element[b](0),this.transition("addClass",a.Event("show"),"shown"),a.support.transition&&this.$element[b](this.$element[0][c])},hide:function(){var b;if(this.transitioning)return;b=this.dimension(),this.reset(this.$element[b]()),this.transition("removeClass",a.Event("hide"),"hidden"),this.$element[b](0)},reset:function(a){var b=this.dimension();return this.$element.removeClass("collapse")[b](a||"auto")[0].offsetWidth,this.$element[a!==null?"addClass":"removeClass"]("collapse"),this},transition:function(b,c,d){var e=this,f=function(){c.type=="show"&&e.reset(),e.transitioning=0,e.$element.trigger(d)};this.$element.trigger(c);if(c.isDefaultPrevented())return;this.transitioning=1,this.$element[b]("in"),a.support.transition&&this.$element.hasClass("collapse")?this.$element.one(a.support.transition.end,f):f()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("collapse"),f=typeof c=="object"&&c;e||d.data("collapse",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.collapse.defaults={toggle:!0},a.fn.collapse.Constructor=b,a(function(){a("body").on("click.collapse.data-api","[data-toggle=collapse]",function(b){var c=a(this),d,e=c.attr("data-target")||b.preventDefault()||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=a(e).data("collapse")?"toggle":c.data();c[a(e).hasClass("in")?"addClass":"removeClass"]("collapsed"),a(e).collapse(f)})})}(window.jQuery),!function(a){function d(){e(a(b)).removeClass("open")}function e(b){var c=b.attr("data-target"),d;return c||(c=b.attr("href"),c=c&&c.replace(/.*(?=#[^\s]*$)/,"")),d=a(c),d.length||(d=b.parent()),d}"use strict";var b="[data-toggle=dropdown]",c=function(b){var c=a(b).on("click.dropdown.data-api",this.toggle);a("html").on("click.dropdown.data-api",function(){c.parent().removeClass("open")})};c.prototype={constructor:c,toggle:function(b){var c=a(this),f,g;if(c.is(".disabled, :disabled"))return;return f=e(c),g=f.hasClass("open"),d(),g||(f.toggleClass("open"),c.focus()),!1},keydown:function(b){var c,d,f,g,h,i;if(!/(38|40|27)/.test(b.keyCode))return;c=a(this),b.preventDefault(),b.stopPropagation();if(c.is(".disabled, :disabled"))return;g=e(c),h=g.hasClass("open");if(!h||h&&b.keyCode==27)return c.click();d=a("[role=menu] li:not(.divider) a",g);if(!d.length)return;i=d.index(d.filter(":focus")),b.keyCode==38&&i>0&&i--,b.keyCode==40&&i<d.length-1&&i++,~i||(i=0),d.eq(i).focus()}},a.fn.dropdown=function(b){return this.each(function(){var d=a(this),e=d.data("dropdown");e||d.data("dropdown",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.dropdown.Constructor=c,a(function(){a("html").on("click.dropdown.data-api touchstart.dropdown.data-api",d),a("body").on("click.dropdown touchstart.dropdown.data-api",".dropdown",function(a){a.stopPropagation()}).on("click.dropdown.data-api touchstart.dropdown.data-api",b,c.prototype.toggle).on("keydown.dropdown.data-api touchstart.dropdown.data-api",b+", [role=menu]",c.prototype.keydown)})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.options=c,this.$element=a(b).delegate('[data-dismiss="modal"]',"click.dismiss.modal",a.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};b.prototype={constructor:b,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var b=this,c=a.Event("show");this.$element.trigger(c);if(this.isShown||c.isDefaultPrevented())return;a("body").addClass("modal-open"),this.isShown=!0,this.escape(),this.backdrop(function(){var c=a.support.transition&&b.$element.hasClass("fade");b.$element.parent().length||b.$element.appendTo(document.body),b.$element.show(),c&&b.$element[0].offsetWidth,b.$element.addClass("in").attr("aria-hidden",!1).focus(),b.enforceFocus(),c?b.$element.one(a.support.transition.end,function(){b.$element.trigger("shown")}):b.$element.trigger("shown")})},hide:function(b){b&&b.preventDefault();var c=this;b=a.Event("hide"),this.$element.trigger(b);if(!this.isShown||b.isDefaultPrevented())return;this.isShown=!1,a("body").removeClass("modal-open"),this.escape(),a(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),a.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var b=this;a(document).on("focusin.modal",function(a){b.$element[0]!==a.target&&!b.$element.has(a.target).length&&b.$element.focus()})},escape:function(){var a=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(b){b.which==27&&a.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var b=this,c=setTimeout(function(){b.$element.off(a.support.transition.end),b.hideModal()},500);this.$element.one(a.support.transition.end,function(){clearTimeout(c),b.hideModal()})},hideModal:function(a){this.$element.hide().trigger("hidden"),this.backdrop()},removeBackdrop:function(){this.$backdrop.remove(),this.$backdrop=null},backdrop:function(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(document.body),this.options.backdrop!="static"&&this.$backdrop.click(a.proxy(this.hide,this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),e?this.$backdrop.one(a.support.transition.end,b):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,a.proxy(this.removeBackdrop,this)):this.removeBackdrop()):b&&b()}},a.fn.modal=function(c){return this.each(function(){var d=a(this),e=d.data("modal"),f=a.extend({},a.fn.modal.defaults,d.data(),typeof c=="object"&&c);e||d.data("modal",e=new b(this,f)),typeof c=="string"?e[c]():f.show&&e.show()})},a.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},a.fn.modal.Constructor=b,a(function(){a("body").on("click.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f).one("hide",function(){c.focus()})})})}(window.jQuery),!function(a){"use strict";var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,this.options.trigger=="click"?this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this)):this.options.trigger!="manual"&&(e=this.options.trigger=="hover"?"mouseenter":"focus",f=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(e+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f+"."+this.type,this.options.selector,a.proxy(this.leave,this))),this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,b,this.$element.data()),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);if(!c.options.delay||!c.options.delay.show)return c.show();clearTimeout(this.timeout),c.hoverState="in",this.timeout=setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show)},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!c.options.delay||!c.options.delay.hide)return c.hide();c.hoverState="out",this.timeout=setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide)},show:function(){var a,b,c,d,e,f,g;if(this.hasContent()&&this.enabled){a=this.tip(),this.setContent(),this.options.animation&&a.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,b=/in/.test(f),a.remove().css({top:0,left:0,display:"block"}).appendTo(b?this.$element:document.body),c=this.getPosition(b),d=a[0].offsetWidth,e=a[0].offsetHeight;switch(b?f.split(" ")[1]:f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}a.css(g).addClass(f).addClass("in")}},setContent:function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},hide:function(){function d(){var b=setTimeout(function(){c.off(a.support.transition.end).remove()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.remove()})}var b=this,c=this.tip();return c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d():c.remove(),this},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(b){return a.extend({},b?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a},tip:function(){return this.$tip=this.$tip||a(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)}},a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover",title:"",delay:0,html:!0}}(window.jQuery),!function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content > *")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-content")||(typeof c.content=="function"?c.content.call(b[0]):c.content),a},tip:function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}}),a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&&c;e||d.data("popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.defaults=a.extend({},a.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'})}(window.jQuery),!function(a){function b(b,c){var d=a.proxy(this.process,this),e=a(b).is("body")?a(window):a(b),f;this.options=a.extend({},a.fn.scrollspy.defaults,c),this.$scrollElement=e.on("scroll.scroll-spy.data-api",d),this.selector=(this.options.target||(f=a(b).attr("href"))&&f.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=a("body"),this.refresh(),this.process()}"use strict",b.prototype={constructor:b,refresh:function(){var b=this,c;this.offsets=a([]),this.targets=a([]),c=this.$body.find(this.selector).map(function(){var b=a(this),c=b.data("target")||b.attr("href"),d=/^#\w/.test(c)&&a(c);return d&&d.length&&[[d.position().top,c]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},process:function(){var a=this.$scrollElement.scrollTop()+this.options.offset,b=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,c=b-this.$scrollElement.height(),d=this.offsets,e=this.targets,f=this.activeTarget,g;if(a>=c)return f!=(g=e.last()[0])&&this.activate(g);for(g=d.length;g--;)f!=e[g]&&a>=d[g]&&(!d[g+1]||a<=d[g+1])&&this.activate(e[g])},activate:function(b){var c,d;this.activeTarget=b,a(this.selector).parent(".active").removeClass("active"),d=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',c=a(d).parent("li").addClass("active"),c.parent(".dropdown-menu").length&&(c=c.closest("li.dropdown").addClass("active")),c.trigger("activate")}},a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("scrollspy"),f=typeof c=="object"&&c;e||d.data("scrollspy",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.defaults={offset:10},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),!function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype={constructor:b,show:function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target"),e,f,g;d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,""));if(b.parent("li").hasClass("active"))return;e=c.find(".active a").last()[0],g=a.Event("show",{relatedTarget:e}),b.trigger(g);if(g.isDefaultPrevented())return;f=a(d),this.activate(b.parent("li"),c),this.activate(f,f.parent(),function(){b.trigger({type:"shown",relatedTarget:e})})},activate:function(b,c,d){function g(){e.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),f?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var e=c.find("> .active"),f=d&&a.support.transition&&e.hasClass("fade");f?e.one(a.support.transition.end,g):g(),e.removeClass("in")}},a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("tab");e||d.data("tab",e=new b(this)),typeof c=="string"&&e[c]()})},a.fn.tab.Constructor=b,a(function(){a("body").on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.typeahead.defaults,c),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=a(this.options.menu).appendTo("body"),this.source=this.options.source,this.shown=!1,this.listen()};b.prototype={constructor:b,select:function(){var a=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(a)).change(),this.hide()},updater:function(a){return a},show:function(){var b=a.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});return this.$menu.css({top:b.top+b.height,left:b.left}),this.$menu.show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(b){var c;return this.query=this.$element.val(),!this.query||this.query.length<this.options.minLength?this.shown?this.hide():this:(c=a.isFunction(this.source)?this.source(this.query,a.proxy(this.process,this)):this.source,c?this.process(c):this)},process:function(b){var c=this;return b=a.grep(b,function(a){return c.matcher(a)}),b=this.sorter(b),b.length?this.render(b.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(a){return~a.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(a){var b=[],c=[],d=[],e;while(e=a.shift())e.toLowerCase().indexOf(this.query.toLowerCase())?~e.indexOf(this.query)?c.push(e):d.push(e):b.push(e);return b.concat(c,d)},highlighter:function(a){var b=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return a.replace(new RegExp("("+b+")","ig"),function(a,b){return"<strong>"+b+"</strong>"})},render:function(b){var c=this;return b=a(b).map(function(b,d){return b=a(c.options.item).attr("data-value",d),b.find("a").html(c.highlighter(d)),b[0]}),b.first().addClass("active"),this.$menu.html(b),this},next:function(b){var c=this.$menu.find(".active").removeClass("active"),d=c.next();d.length||(d=a(this.$menu.find("li")[0])),d.addClass("active")},prev:function(a){var b=this.$menu.find(".active").removeClass("active"),c=b.prev();c.length||(c=this.$menu.find("li").last()),c.addClass("active")},listen:function(){this.$element.on("blur",a.proxy(this.blur,this)).on("keypress",a.proxy(this.keypress,this)).on("keyup",a.proxy(this.keyup,this)),(a.browser.webkit||a.browser.msie)&&this.$element.on("keydown",a.proxy(this.keydown,this)),this.$menu.on("click",a.proxy(this.click,this)).on("mouseenter","li",a.proxy(this.mouseenter,this))},move:function(a){if(!this.shown)return;switch(a.keyCode){case 9:case 13:case 27:a.preventDefault();break;case 38:a.preventDefault(),this.prev();break;case 40:a.preventDefault(),this.next()}a.stopPropagation()},keydown:function(b){this.suppressKeyPressRepeat=!~a.inArray(b.keyCode,[40,38,9,13,27]),this.move(b)},keypress:function(a){if(this.suppressKeyPressRepeat)return;this.move(a)},keyup:function(a){switch(a.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()}a.stopPropagation(),a.preventDefault()},blur:function(a){var b=this;setTimeout(function(){b.hide()},150)},click:function(a){a.stopPropagation(),a.preventDefault(),this.select()},mouseenter:function(b){this.$menu.find(".active").removeClass("active"),a(b.currentTarget).addClass("active")}},a.fn.typeahead=function(c){return this.each(function(){var d=a(this),e=d.data("typeahead"),f=typeof c=="object"&&c;e||d.data("typeahead",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>',minLength:1},a.fn.typeahead.Constructor=b,a(function(){a("body").on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(b){var c=a(this);if(c.data("typeahead"))return;b.preventDefault(),c.typeahead(c.data())})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.options=a.extend({},a.fn.affix.defaults,c),this.$window=a(window).on("scroll.affix.data-api",a.proxy(this.checkPosition,this)),this.$element=a(b),this.checkPosition()};b.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var b=a(document).height(),c=this.$window.scrollTop(),d=this.$element.offset(),e=this.options.offset,f=e.bottom,g=e.top,h="affix affix-top affix-bottom",i;typeof e!="object"&&(f=g=e),typeof g=="function"&&(g=e.top()),typeof f=="function"&&(f=e.bottom()),i=this.unpin!=null&&c+this.unpin<=d.top?!1:f!=null&&d.top+this.$element.height()>=b-f?"bottom":g!=null&&c<=g?"top":!1;if(this.affixed===i)return;this.affixed=i,this.unpin=i=="bottom"?d.top-c:null,this.$element.removeClass(h).addClass("affix"+(i?"-"+i:""))},a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("affix"),f=typeof c=="object"&&c;e||d.data("affix",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.defaults={offset:0},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(window.jQuery); \ No newline at end of file +!function(e){e(function(){"use strict";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<r.length-1&&a++,~a||(a=0),r.eq(a).focus()}},e.fn.dropdown=function(t){return this.each(function(){var r=e(this),i=r.data("dropdown");i||r.data("dropdown",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.dropdown.Constructor=n,e(function(){e("html").on("click.dropdown.data-api touchstart.dropdown.data-api",r),e("body").on("click.dropdown touchstart.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.dropdown.data-api touchstart.dropdown.data-api",t,n.prototype.toggle).on("keydown.dropdown.data-api touchstart.dropdown.data-api",t+", [role=menu]",n.prototype.keydown)})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=n,this.$element=e(t).delegate('[data-dismiss="modal"]',"click.dismiss.modal",e.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};t.prototype={constructor:t,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var t=this,n=e.Event("show");this.$element.trigger(n);if(this.isShown||n.isDefaultPrevented())return;e("body").addClass("modal-open"),this.isShown=!0,this.escape(),this.backdrop(function(){var n=e.support.transition&&t.$element.hasClass("fade");t.$element.parent().length||t.$element.appendTo(document.body),t.$element.show(),n&&t.$element[0].offsetWidth,t.$element.addClass("in").attr("aria-hidden",!1).focus(),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.trigger("shown")}):t.$element.trigger("shown")})},hide:function(t){t&&t.preventDefault();var n=this;t=e.Event("hide"),this.$element.trigger(t);if(!this.isShown||t.isDefaultPrevented())return;this.isShown=!1,e("body").removeClass("modal-open"),this.escape(),e(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),e.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var t=this;e(document).on("focusin.modal",function(e){t.$element[0]!==e.target&&!t.$element.has(e.target).length&&t.$element.focus()})},escape:function(){var e=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(t){t.which==27&&e.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var t=this,n=setTimeout(function(){t.$element.off(e.support.transition.end),t.hideModal()},500);this.$element.one(e.support.transition.end,function(){clearTimeout(n),t.hideModal()})},hideModal:function(e){this.$element.hide().trigger("hidden"),this.backdrop()},removeBackdrop:function(){this.$backdrop.remove(),this.$backdrop=null},backdrop:function(t){var n=this,r=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var i=e.support.transition&&r;this.$backdrop=e('<div class="modal-backdrop '+r+'" />').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"}).appendTo(t?this.$element:document.body),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.css(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:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover",title:"",delay:0,html:!0}}(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:'<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'})}(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<this.options.minLength?this.shown?this.hide():this:(n=e.isFunction(this.source)?this.source(this.query,e.proxy(this.process,this)):this.source,n?this.process(n):this)},process:function(t){var n=this;return t=e.grep(t,function(e){return n.matcher(e)}),t=this.sorter(t),t.length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(e){return~e.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(e){var t=[],n=[],r=[],i;while(i=e.shift())i.toLowerCase().indexOf(this.query.toLowerCase())?~i.indexOf(this.query)?n.push(i):r.push(i):t.push(i);return t.concat(n,r)},highlighter:function(e){var t=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return e.replace(new RegExp("("+t+")","ig"),function(e,t){return"<strong>"+t+"</strong>"})},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)),(e.browser.webkit||e.browser.msie)&&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))},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:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>',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)),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/docs/assets/js/bootstrap.min.tmp.js b/docs/assets/js/bootstrap.min.tmp.js deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/docs/base-css.html b/docs/base-css.html index f1401d688f33221ad663c73536d5c64321adebfa..8b19d1a4d87c8c10b9ce71a04fce6af63d14f6d3 100644 --- a/docs/base-css.html +++ b/docs/base-css.html @@ -118,7 +118,7 @@ </div> <h2 id="body-copy">Body copy</h2> - <p>Bootstrap's global default <code>font-size</code> is <strong>14px</strong>, with a <code>line-height</code> of <strong>20px</strong>. This is applied to the <code><body></code> and all paragraphs. In addition, <code><p></code> (paragraphs) receive a bottom margin of half their line-height (9px by default).</p> + <p>Bootstrap's global default <code>font-size</code> is <strong>14px</strong>, with a <code>line-height</code> of <strong>20px</strong>. This is applied to the <code><body></code> and all paragraphs. In addition, <code><p></code> (paragraphs) receive a bottom margin of half their line-height (10px by default).</p> <div class="bs-docs-example"> <p>Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula.</p> <p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec ullamcorper nulla non metus auctor fringilla. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla.</p> @@ -189,7 +189,7 @@ <div class="bs-docs-example"> <p><abbr title="HyperText Markup Language" class="initialism">HTML</abbr> is the best thing since sliced bread.</p> </div> - <pre class="prettyprint"><abbr title="attribute" class="initialism">attr</abbr></pre> + <pre class="prettyprint"><abbr title="HyperText Markup Language" class="initialism">HTML</abbr></pre> <hr class="bs-docs-separator"> @@ -233,7 +233,7 @@ <h2 id="blockquotes">Blockquotes</h2> <p>For quoting blocks of content from another source within your document.</p> - <h3>Default blockqoute</h3> + <h3>Default blockquote</h3> <p>Wrap <code><blockquote></code> around any <abbr title="HyperText Markup Language">HTML</abbr> as the quote. For straight quotes we recommend a <code><p></code>.</p> <div class="bs-docs-example"> <blockquote> @@ -686,6 +686,12 @@ For example, <code><section></code> should be wrapped as inlin </td> <td>Indicates a dangerous or potentially negative action.</td> </tr> + <tr> + <td> + <code>.warning</code> + </td> + <td>Indicates a warning that might need attention.</td> + </tr> <tr> <td> <code>.info</code> @@ -717,12 +723,18 @@ For example, <code><section></code> should be wrapped as inlin <td>02/04/2012</td> <td>Declined</td> </tr> - <tr class="info"> + <tr class="warning"> <td>3</td> <td>TB - Monthly</td> <td>03/04/2012</td> <td>Pending</td> </tr> + <tr class="info"> + <td>4</td> + <td>TB - Monthly</td> + <td>04/04/2012</td> + <td>Call in to confirm</td> + </tr> </tbody> </table> </div> @@ -1355,7 +1367,7 @@ For example, <code><section></code> should be wrapped as inlin </pre> <h3>Validation states</h3> - <p>Bootstrap includes validation styles for error, warning, and success messages. To use, add the appropriate class to the surrounding <code>.control-group</code>.</p> + <p>Bootstrap includes validation styles for error, warning, info, and success messages. To use, add the appropriate class to the surrounding <code>.control-group</code>.</p> <form class="bs-docs-example form-horizontal"> <div class="control-group warning"> @@ -1372,6 +1384,13 @@ For example, <code><section></code> should be wrapped as inlin <span class="help-inline">Please correct the error</span> </div> </div> + <div class="control-group info"> + <label class="control-label" for="inputError">Input with info</label> + <div class="controls"> + <input type="text" id="inputError"> + <span class="help-inline">Username is taken</span> + </div> + </div> <div class="control-group success"> <label class="control-label" for="inputSuccess">Input with success</label> <div class="controls"> @@ -1539,7 +1558,7 @@ For example, <code><section></code> should be wrapped as inlin </pre> <p> <span class="label label-info">Heads up!</span> - We use <code>.disabled</code> as a utility class here, similar to the common <code>.active</code> class, so no prefix is required. + We use <code>.disabled</code> as a utility class here, similar to the common <code>.active</code> class, so no prefix is required. Also, this class is only for aesthetic; you must use custom JavaScript to disable links here. </p> <h3>Button element</h3> @@ -1756,7 +1775,7 @@ For example, <code><section></code> should be wrapped as inlin </ul> <h3>Glyphicons attribution</h3> - <p><a href="http://glyphicons.com/">Glyphicons</a> Halflings are normally not available for free, but an arrangement between Bootstrap and the Glyphicons creators have made this possible at not cost to you as developers. As a thank you, we ask you to include an optional link back to <a href="http://glyphicons.com/">Glyphicons</a> whenever practical.</p> + <p><a href="http://glyphicons.com/">Glyphicons</a> Halflings are normally not available for free, but an arrangement between Bootstrap and the Glyphicons creators have made this possible at no cost to you as developers. As a thank you, we ask you to include an optional link back to <a href="http://glyphicons.com/">Glyphicons</a> whenever practical.</p> <hr class="bs-docs-separator"> @@ -1881,7 +1900,8 @@ For example, <code><section></code> should be wrapped as inlin <label class="control-label" for="inputIcon">Email address</label> <div class="controls"> <div class="input-prepend"> - <span class="add-on"><i class="icon-envelope"><i><span><input class="span2" id="inputIcon" type="text"> + <span class="add-on"><i class="icon-envelope"></i></span> + <input class="span2" id="inputIcon" type="text"> </div> </div> </pre> diff --git a/docs/components.html b/docs/components.html index 828ad7be2e2d29619d842fcf36904a6518b63232..f47aecbf19518975a0bae29459bb06d8f89827d6 100644 --- a/docs/components.html +++ b/docs/components.html @@ -1473,13 +1473,23 @@ </div> </div> <pre class="prettyprint linenums"> -<div class="pagination "> +<div class="pagination"> <ul> <li class="disabled"><a href="#">Prev</a></li> <li class="active"><a href="#">1</a></li> ... </ul> </div> +</pre> + <p>You can optionally swap out active or disabled anchors for spans to remove click functionality while retaining intended styles.</p> +<pre class="prettyprint linenums"> +<div class="pagination"> + <ul> + <li class="disabled"><span>Prev</span></li> + <li class="active"><span>1</span></li> + ... + </ul> +</div> </pre> <h3>Alignment</h3> @@ -1769,7 +1779,7 @@ </div> <pre class="prettyprint linenums"> <div class="page-header"> - <h1>Example page header</h1> + <h1>Example page header <small>Subtext for header</small></h1> </div> </pre> @@ -1941,7 +1951,7 @@ <h3>Dismiss buttons</h3> <p>Mobile Safari and Mobile Opera browsers, in addition to the <code>data-dismiss="alert"</code> attribute, require an <code>href="#"</code> for the dismissal of alerts when using an <code><a></code> tag.</p> - <pre class="prettyprint linenums"><a href="#" class="close" data-dismiss="alert">×</button></pre> + <pre class="prettyprint linenums"><a href="#" class="close" data-dismiss="alert">×</a></pre> <p>Alternatively, you may use a <code><button></code> element with the data attribute, which we have opted to do for our docs. When using <code><button></code>, you must include <code>type="button"</code> or your forms may not submit.</p> <pre class="prettyprint linenums"><button type="button" class="close" data-dismiss="alert">×</button></pre> diff --git a/docs/components/alert.html b/docs/components/alert.html deleted file mode 100644 index 3e7d935e55db1a05d4b063cacb03fb28da7bb621..0000000000000000000000000000000000000000 --- a/docs/components/alert.html +++ /dev/null @@ -1,63 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Bootstrap, from Twitter</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content=""> - <meta name="author" content=""> - - <!-- Le styles --> - <link href="../assets/css/bootstrap.css" rel="stylesheet"> - <link href="../assets/css/bootstrap-responsive.css" rel="stylesheet"> - - <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - <!-- Le fav and touch icons --> - <link rel="shortcut icon" href="../assets/ico/favicon.ico"> - <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png"> - </head> - - <body> - - <div class="container"> - - - - <h1>Bootstrap alert</h1> - - <br> - - <div class="alert"> - <button type="button" class="close" data-dismiss="alert">×</button> - <strong>Warning!</strong> Best check yo self, you're not looking too good. - </div> - - - </div> <!-- /container --> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="../assets/js/jquery.js"></script> - <script src="../assets/js/bootstrap-transition.js"></script> - <script src="../assets/js/bootstrap-alert.js"></script> - <script src="../assets/js/bootstrap-modal.js"></script> - <script src="../assets/js/bootstrap-dropdown.js"></script> - <script src="../assets/js/bootstrap-scrollspy.js"></script> - <script src="../assets/js/bootstrap-tab.js"></script> - <script src="../assets/js/bootstrap-tooltip.js"></script> - <script src="../assets/js/bootstrap-popover.js"></script> - <script src="../assets/js/bootstrap-button.js"></script> - <script src="../assets/js/bootstrap-collapse.js"></script> - <script src="../assets/js/bootstrap-carousel.js"></script> - <script src="../assets/js/bootstrap-typeahead.js"></script> - - </body> -</html> diff --git a/docs/components/breadcrumb.html b/docs/components/breadcrumb.html deleted file mode 100644 index 5f273442be653bee8ec76f46abf93fe16a90a4b6..0000000000000000000000000000000000000000 --- a/docs/components/breadcrumb.html +++ /dev/null @@ -1,66 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Bootstrap, from Twitter</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content=""> - <meta name="author" content=""> - - <!-- Le styles --> - <link href="../assets/css/bootstrap.css" rel="stylesheet"> - <link href="../assets/css/bootstrap-responsive.css" rel="stylesheet"> - - <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - <!-- Le fav and touch icons --> - <link rel="shortcut icon" href="../assets/ico/favicon.ico"> - <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png"> - </head> - - <body> - - <div class="container"> - - - - <h1>Bootstrap breadcrumb</h1> - - <br> - - <ul class="breadcrumb"> - <li><a href="#">Home</a> <span class="divider">/</span></li> - <li><a href="#">Page</a> <span class="divider">/</span></li> - <li><a href="#">Second page</a> <span class="divider">/</span></li> - <li class="active">Current page</li> - </ul> - - - - </div> <!-- /container --> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="../assets/js/jquery.js"></script> - <script src="../assets/js/bootstrap-transition.js"></script> - <script src="../assets/js/bootstrap-alert.js"></script> - <script src="../assets/js/bootstrap-modal.js"></script> - <script src="../assets/js/bootstrap-dropdown.js"></script> - <script src="../assets/js/bootstrap-scrollspy.js"></script> - <script src="../assets/js/bootstrap-tab.js"></script> - <script src="../assets/js/bootstrap-tooltip.js"></script> - <script src="../assets/js/bootstrap-popover.js"></script> - <script src="../assets/js/bootstrap-button.js"></script> - <script src="../assets/js/bootstrap-collapse.js"></script> - <script src="../assets/js/bootstrap-carousel.js"></script> - <script src="../assets/js/bootstrap-typeahead.js"></script> - - </body> -</html> diff --git a/docs/components/button-group.html b/docs/components/button-group.html deleted file mode 100644 index 80ee9e3910604329117de2e05c8063d1986035cc..0000000000000000000000000000000000000000 --- a/docs/components/button-group.html +++ /dev/null @@ -1,71 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Bootstrap, from Twitter</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content=""> - <meta name="author" content=""> - - <!-- Le styles --> - <link href="../assets/css/bootstrap.css" rel="stylesheet"> - <link href="../assets/css/bootstrap-responsive.css" rel="stylesheet"> - - <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - <!-- Le fav and touch icons --> - <link rel="shortcut icon" href="../assets/ico/favicon.ico"> - <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png"> - </head> - - <body> - - <div class="container"> - - - - <h1>Bootstrap button group</h1> - - <div class="btn-group"> - <button type="button" class="btn">Button text</button> - <button type="button" class="btn">Button text</button> - <button type="button" class="btn">Button text</button> - </div> - - <br> - - <div class="btn-group"> - <a class="btn" href="#">Link button text</a> - <a class="btn" href="#">Link button text</a> - <a class="btn" href="#">Link button text</a> - </div> - - - - </div> <!-- /container --> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="../assets/js/jquery.js"></script> - <script src="../assets/js/bootstrap-transition.js"></script> - <script src="../assets/js/bootstrap-alert.js"></script> - <script src="../assets/js/bootstrap-modal.js"></script> - <script src="../assets/js/bootstrap-dropdown.js"></script> - <script src="../assets/js/bootstrap-scrollspy.js"></script> - <script src="../assets/js/bootstrap-tab.js"></script> - <script src="../assets/js/bootstrap-tooltip.js"></script> - <script src="../assets/js/bootstrap-popover.js"></script> - <script src="../assets/js/bootstrap-button.js"></script> - <script src="../assets/js/bootstrap-collapse.js"></script> - <script src="../assets/js/bootstrap-carousel.js"></script> - <script src="../assets/js/bootstrap-typeahead.js"></script> - - </body> -</html> diff --git a/docs/components/button.html b/docs/components/button.html deleted file mode 100644 index 2d1569307f765330087d6313ad7f4e6313cabba2..0000000000000000000000000000000000000000 --- a/docs/components/button.html +++ /dev/null @@ -1,61 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Bootstrap, from Twitter</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content=""> - <meta name="author" content=""> - - <!-- Le styles --> - <link href="../assets/css/bootstrap.css" rel="stylesheet"> - <link href="../assets/css/bootstrap-responsive.css" rel="stylesheet"> - - <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - <!-- Le fav and touch icons --> - <link rel="shortcut icon" href="../assets/ico/favicon.ico"> - <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png"> - </head> - - <body> - - <div class="container"> - - - - <h1>Bootstrap button</h1> - - <p><button type="button" class="btn">Button text</button></p> - - <p><a class="btn" href="#">Link button text</a></p> - - - - </div> <!-- /container --> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="../assets/js/jquery.js"></script> - <script src="../assets/js/bootstrap-transition.js"></script> - <script src="../assets/js/bootstrap-alert.js"></script> - <script src="../assets/js/bootstrap-modal.js"></script> - <script src="../assets/js/bootstrap-dropdown.js"></script> - <script src="../assets/js/bootstrap-scrollspy.js"></script> - <script src="../assets/js/bootstrap-tab.js"></script> - <script src="../assets/js/bootstrap-tooltip.js"></script> - <script src="../assets/js/bootstrap-popover.js"></script> - <script src="../assets/js/bootstrap-button.js"></script> - <script src="../assets/js/bootstrap-collapse.js"></script> - <script src="../assets/js/bootstrap-carousel.js"></script> - <script src="../assets/js/bootstrap-typeahead.js"></script> - - </body> -</html> diff --git a/docs/components/dropdown.html b/docs/components/dropdown.html deleted file mode 100644 index 5ddbe6625d7c83107524d0fcfc356a061bb0bef9..0000000000000000000000000000000000000000 --- a/docs/components/dropdown.html +++ /dev/null @@ -1,66 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Bootstrap, from Twitter</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content=""> - <meta name="author" content=""> - - <!-- Le styles --> - <link href="../assets/css/bootstrap.css" rel="stylesheet"> - <link href="../assets/css/bootstrap-responsive.css" rel="stylesheet"> - - <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - <!-- Le fav and touch icons --> - <link rel="shortcut icon" href="../assets/ico/favicon.ico"> - <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png"> - </head> - - <body> - - <div class="container"> - - - - <h1>Bootstrap dropdown</h1> - - <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu" style="display: block; position: static;"> - <li><a tabindex="-1" href="#">Action</a></li> - <li><a tabindex="-1" href="#">Another action</a></li> - <li><a tabindex="-1" href="#">Something else here</a></li> - <li class="divider"></li> - <li><a tabindex="-1" href="#">Separated link</a></li> - </ul> - - - - - </div> <!-- /container --> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="../assets/js/jquery.js"></script> - <script src="../assets/js/bootstrap-transition.js"></script> - <script src="../assets/js/bootstrap-alert.js"></script> - <script src="../assets/js/bootstrap-modal.js"></script> - <script src="../assets/js/bootstrap-dropdown.js"></script> - <script src="../assets/js/bootstrap-scrollspy.js"></script> - <script src="../assets/js/bootstrap-tab.js"></script> - <script src="../assets/js/bootstrap-tooltip.js"></script> - <script src="../assets/js/bootstrap-popover.js"></script> - <script src="../assets/js/bootstrap-button.js"></script> - <script src="../assets/js/bootstrap-collapse.js"></script> - <script src="../assets/js/bootstrap-carousel.js"></script> - <script src="../assets/js/bootstrap-typeahead.js"></script> - - </body> -</html> diff --git a/docs/components/form.html b/docs/components/form.html deleted file mode 100644 index 0f70ccb408b6653ec526898db9ef1ab1a191dbef..0000000000000000000000000000000000000000 --- a/docs/components/form.html +++ /dev/null @@ -1,100 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Bootstrap, from Twitter</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content=""> - <meta name="author" content=""> - - <!-- Le styles --> - <link href="../assets/css/bootstrap.css" rel="stylesheet"> - <link href="../assets/css/bootstrap-responsive.css" rel="stylesheet"> - - <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - <!-- Le fav and touch icons --> - <link rel="shortcut icon" href="../assets/ico/favicon.ico"> - <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png"> - </head> - - <body> - - <div class="container"> - - - - <h1>Bootstrap form</h1> - - <form class="horizontal-form"> - <div class="control-group"> - <label class="control-label" for="">Email</label> - <div class="controls"> - <input type="text" placeholder="Email"> - </div> - </div> - <div class="control-group"> - <label class="control-label" for="">Password</label> - <div class="controls"> - <input type="password" placeholder="Password"> - </div> - </div> - <div class="control-group"> - <label class="control-label" for="">Checkbox</label> - <div class="controls"> - <label class="checkbox"> - <input type="checkbox" value=""> - Option one is this and that—be sure to include why it's great - </label> - </div> - </div> - <div class="control-group"> - <label class="control-label" for="">Radios</label> - <div class="controls"> - <label class="radio"> - <input type="radio" name="optionsRadios" id="optionsRadios1" value="option1" checked> - Option one is this and that—be sure to include why it's great - </label> - <label class="radio"> - <input type="radio" name="optionsRadios" id="optionsRadios2" value="option2"> - Option two can be something else and selecting it will deselect option one - </label> - </div> - </div> - <div class="control-group"> - <div class="controls"> - <button type="submit" class="btn">Form action</button> - </div> - </div> - </form> - - - - - </div> <!-- /container --> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="../assets/js/jquery.js"></script> - <script src="../assets/js/bootstrap-transition.js"></script> - <script src="../assets/js/bootstrap-alert.js"></script> - <script src="../assets/js/bootstrap-modal.js"></script> - <script src="../assets/js/bootstrap-dropdown.js"></script> - <script src="../assets/js/bootstrap-scrollspy.js"></script> - <script src="../assets/js/bootstrap-tab.js"></script> - <script src="../assets/js/bootstrap-tooltip.js"></script> - <script src="../assets/js/bootstrap-popover.js"></script> - <script src="../assets/js/bootstrap-button.js"></script> - <script src="../assets/js/bootstrap-collapse.js"></script> - <script src="../assets/js/bootstrap-carousel.js"></script> - <script src="../assets/js/bootstrap-typeahead.js"></script> - - </body> -</html> diff --git a/docs/components/icon.html b/docs/components/icon.html deleted file mode 100644 index 473492269a7eebeb74901d1fb0a7f22a8749f205..0000000000000000000000000000000000000000 --- a/docs/components/icon.html +++ /dev/null @@ -1,60 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Bootstrap, from Twitter</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content=""> - <meta name="author" content=""> - - <!-- Le styles --> - <link href="../assets/css/bootstrap.css" rel="stylesheet"> - <link href="../assets/css/bootstrap-responsive.css" rel="stylesheet"> - - <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - <!-- Le fav and touch icons --> - <link rel="shortcut icon" href="../assets/ico/favicon.ico"> - <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png"> - </head> - - <body> - - <div class="container"> - - - - <h1>Bootstrap form</h1> - - <p><i class="icon-ok"></i> Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</p> - - - - - </div> <!-- /container --> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="../assets/js/jquery.js"></script> - <script src="../assets/js/bootstrap-transition.js"></script> - <script src="../assets/js/bootstrap-alert.js"></script> - <script src="../assets/js/bootstrap-modal.js"></script> - <script src="../assets/js/bootstrap-dropdown.js"></script> - <script src="../assets/js/bootstrap-scrollspy.js"></script> - <script src="../assets/js/bootstrap-tab.js"></script> - <script src="../assets/js/bootstrap-tooltip.js"></script> - <script src="../assets/js/bootstrap-popover.js"></script> - <script src="../assets/js/bootstrap-button.js"></script> - <script src="../assets/js/bootstrap-collapse.js"></script> - <script src="../assets/js/bootstrap-carousel.js"></script> - <script src="../assets/js/bootstrap-typeahead.js"></script> - - </body> -</html> diff --git a/docs/components/modal.html b/docs/components/modal.html deleted file mode 100644 index 04aaa771b448e59eb5b215c61e9212b0b83bee64..0000000000000000000000000000000000000000 --- a/docs/components/modal.html +++ /dev/null @@ -1,72 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Bootstrap, from Twitter</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content=""> - <meta name="author" content=""> - - <!-- Le styles --> - <link href="../assets/css/bootstrap.css" rel="stylesheet"> - <link href="../assets/css/bootstrap-responsive.css" rel="stylesheet"> - - <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - <!-- Le fav and touch icons --> - <link rel="shortcut icon" href="../assets/ico/favicon.ico"> - <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png"> - </head> - - <body> - - <div class="container"> - - - - <h1>Bootstrap modal</h1> - - <br> - - <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto 20px; z-index: 1; max-width: 100%;"> - <div class="modal-header"> - <button type="button" class="close" data-dismiss="modal">×</button> - <h3>Modal header</h3> - </div> - <div class="modal-body"> - <p>One fine body...</p> - </div> - <div class="modal-footer"> - <a href="#" class="btn">Close</a> - <a href="#" class="btn btn-primary">Save changes</a> - </div> - </div> - - - </div> <!-- /container --> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="../assets/js/jquery.js"></script> - <script src="../assets/js/bootstrap-transition.js"></script> - <script src="../assets/js/bootstrap-alert.js"></script> - <script src="../assets/js/bootstrap-modal.js"></script> - <script src="../assets/js/bootstrap-dropdown.js"></script> - <script src="../assets/js/bootstrap-scrollspy.js"></script> - <script src="../assets/js/bootstrap-tab.js"></script> - <script src="../assets/js/bootstrap-tooltip.js"></script> - <script src="../assets/js/bootstrap-popover.js"></script> - <script src="../assets/js/bootstrap-button.js"></script> - <script src="../assets/js/bootstrap-collapse.js"></script> - <script src="../assets/js/bootstrap-carousel.js"></script> - <script src="../assets/js/bootstrap-typeahead.js"></script> - - </body> -</html> diff --git a/docs/components/nav.html b/docs/components/nav.html deleted file mode 100644 index a58aa449e1008b440e93d81466d45712d3e74894..0000000000000000000000000000000000000000 --- a/docs/components/nav.html +++ /dev/null @@ -1,77 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Bootstrap, from Twitter</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content=""> - <meta name="author" content=""> - - <!-- Le styles --> - <link href="../assets/css/bootstrap.css" rel="stylesheet"> - <link href="../assets/css/bootstrap-responsive.css" rel="stylesheet"> - - <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - <!-- Le fav and touch icons --> - <link rel="shortcut icon" href="../assets/ico/favicon.ico"> - <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png"> - </head> - - <body> - - <div class="container"> - - - - <h1>Bootstrap nav</h1> - - <br> - - <ul class="nav nav-tabs"> - <li class="active"><a href="#">Nav link</a></li> - <li><a href="#">Nav link</a></li> - <li><a href="#">Nav link</a></li> - <li><a href="#">Nav link</a></li> - <li><a href="#">Nav link</a></li> - </ul> - - <br> - - <ul class="nav nav-pills"> - <li class="active"><a href="#">Nav link</a></li> - <li><a href="#">Nav link</a></li> - <li><a href="#">Nav link</a></li> - <li><a href="#">Nav link</a></li> - <li><a href="#">Nav link</a></li> - </ul> - - - - </div> <!-- /container --> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="../assets/js/jquery.js"></script> - <script src="../assets/js/bootstrap-transition.js"></script> - <script src="../assets/js/bootstrap-alert.js"></script> - <script src="../assets/js/bootstrap-modal.js"></script> - <script src="../assets/js/bootstrap-dropdown.js"></script> - <script src="../assets/js/bootstrap-scrollspy.js"></script> - <script src="../assets/js/bootstrap-tab.js"></script> - <script src="../assets/js/bootstrap-tooltip.js"></script> - <script src="../assets/js/bootstrap-popover.js"></script> - <script src="../assets/js/bootstrap-button.js"></script> - <script src="../assets/js/bootstrap-collapse.js"></script> - <script src="../assets/js/bootstrap-carousel.js"></script> - <script src="../assets/js/bootstrap-typeahead.js"></script> - - </body> -</html> diff --git a/docs/components/pagination.html b/docs/components/pagination.html deleted file mode 100644 index ef56df2eaa8e5c06f393a80990f72e77e38d77d4..0000000000000000000000000000000000000000 --- a/docs/components/pagination.html +++ /dev/null @@ -1,70 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Bootstrap, from Twitter</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content=""> - <meta name="author" content=""> - - <!-- Le styles --> - <link href="../assets/css/bootstrap.css" rel="stylesheet"> - <link href="../assets/css/bootstrap-responsive.css" rel="stylesheet"> - - <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - <!-- Le fav and touch icons --> - <link rel="shortcut icon" href="../assets/ico/favicon.ico"> - <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png"> - </head> - - <body> - - <div class="container"> - - - - <h1>Bootstrap breadcrumb</h1> - - <br> - - <div class="pagination"> - <ul> - <li class="disabled"><a href="#">«</a></li> - <li class="active"><a href="#">1</a></li> - <li><a href="#">2</a></li> - <li><a href="#">3</a></li> - <li><a href="#">4</a></li> - <li><a href="#">5</a></li> - <li><a href="#">»</a></li> - </ul> - </div> - - - </div> <!-- /container --> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="../assets/js/jquery.js"></script> - <script src="../assets/js/bootstrap-transition.js"></script> - <script src="../assets/js/bootstrap-alert.js"></script> - <script src="../assets/js/bootstrap-modal.js"></script> - <script src="../assets/js/bootstrap-dropdown.js"></script> - <script src="../assets/js/bootstrap-scrollspy.js"></script> - <script src="../assets/js/bootstrap-tab.js"></script> - <script src="../assets/js/bootstrap-tooltip.js"></script> - <script src="../assets/js/bootstrap-popover.js"></script> - <script src="../assets/js/bootstrap-button.js"></script> - <script src="../assets/js/bootstrap-collapse.js"></script> - <script src="../assets/js/bootstrap-carousel.js"></script> - <script src="../assets/js/bootstrap-typeahead.js"></script> - - </body> -</html> diff --git a/docs/components/popover.html b/docs/components/popover.html deleted file mode 100644 index 4b73f395dcf6ade612373ee7c80dfa31a936f039..0000000000000000000000000000000000000000 --- a/docs/components/popover.html +++ /dev/null @@ -1,62 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Bootstrap, from Twitter</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content=""> - <meta name="author" content=""> - - <!-- Le styles --> - <link href="../assets/css/bootstrap.css" rel="stylesheet"> - <link href="../assets/css/bootstrap-responsive.css" rel="stylesheet"> - - <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - <!-- Le fav and touch icons --> - <link rel="shortcut icon" href="../assets/ico/favicon.ico"> - <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png"> - </head> - - <body> - - <div class="container"> - - - - <h1>Bootstrap popover</h1> - - <br> - - <a href="#" class="btn btn-large btn-danger" rel="popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">Hover for popover</a> - - - - - </div> <!-- /container --> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="../assets/js/jquery.js"></script> - <script src="../assets/js/bootstrap-transition.js"></script> - <script src="../assets/js/bootstrap-alert.js"></script> - <script src="../assets/js/bootstrap-modal.js"></script> - <script src="../assets/js/bootstrap-dropdown.js"></script> - <script src="../assets/js/bootstrap-scrollspy.js"></script> - <script src="../assets/js/bootstrap-tab.js"></script> - <script src="../assets/js/bootstrap-tooltip.js"></script> - <script src="../assets/js/bootstrap-popover.js"></script> - <script src="../assets/js/bootstrap-button.js"></script> - <script src="../assets/js/bootstrap-collapse.js"></script> - <script src="../assets/js/bootstrap-carousel.js"></script> - <script src="../assets/js/bootstrap-typeahead.js"></script> - - </body> -</html> diff --git a/docs/components/progress-bar.html b/docs/components/progress-bar.html deleted file mode 100644 index 69204e6be6b9194495edd28ed58c6c5b2292e477..0000000000000000000000000000000000000000 --- a/docs/components/progress-bar.html +++ /dev/null @@ -1,62 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Bootstrap, from Twitter</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content=""> - <meta name="author" content=""> - - <!-- Le styles --> - <link href="../assets/css/bootstrap.css" rel="stylesheet"> - <link href="../assets/css/bootstrap-responsive.css" rel="stylesheet"> - - <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - <!-- Le fav and touch icons --> - <link rel="shortcut icon" href="../assets/ico/favicon.ico"> - <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png"> - </head> - - <body> - - <div class="container"> - - - - <h1>Bootstrap progress bar</h1> - - <br> - - <div class="progress"> - <div class="bar" style="width: 60%;"></div> - </div> - - - </div> <!-- /container --> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="../assets/js/jquery.js"></script> - <script src="../assets/js/bootstrap-transition.js"></script> - <script src="../assets/js/bootstrap-alert.js"></script> - <script src="../assets/js/bootstrap-modal.js"></script> - <script src="../assets/js/bootstrap-dropdown.js"></script> - <script src="../assets/js/bootstrap-scrollspy.js"></script> - <script src="../assets/js/bootstrap-tab.js"></script> - <script src="../assets/js/bootstrap-tooltip.js"></script> - <script src="../assets/js/bootstrap-popover.js"></script> - <script src="../assets/js/bootstrap-button.js"></script> - <script src="../assets/js/bootstrap-collapse.js"></script> - <script src="../assets/js/bootstrap-carousel.js"></script> - <script src="../assets/js/bootstrap-typeahead.js"></script> - - </body> -</html> diff --git a/docs/components/table.html b/docs/components/table.html deleted file mode 100644 index a3c898270c8106a2e9004079fbaa46f582562910..0000000000000000000000000000000000000000 --- a/docs/components/table.html +++ /dev/null @@ -1,89 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Bootstrap, from Twitter</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content=""> - <meta name="author" content=""> - - <!-- Le styles --> - <link href="../assets/css/bootstrap.css" rel="stylesheet"> - <link href="../assets/css/bootstrap-responsive.css" rel="stylesheet"> - - <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - <!-- Le fav and touch icons --> - <link rel="shortcut icon" href="../assets/ico/favicon.ico"> - <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png"> - </head> - - <body> - - <div class="container"> - - - - <h1>Bootstrap form</h1> - - <table class="table"> - <thead> - <tr> - <th>#</th> - <th>First Name</th> - <th>Last Name</th> - <th>Username</th> - </tr> - </thead> - <tbody> - <tr> - <td>1</td> - <td>Mark</td> - <td>Otto</td> - <td>@mdo</td> - </tr> - <tr> - <td>2</td> - <td>Jacob</td> - <td>Thornton</td> - <td>@fat</td> - </tr> - <tr> - <td>3</td> - <td>Larry</td> - <td>the Bird</td> - <td>@twitter</td> - </tr> - </tbody> - </table> - - - - - </div> <!-- /container --> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="../assets/js/jquery.js"></script> - <script src="../assets/js/bootstrap-transition.js"></script> - <script src="../assets/js/bootstrap-alert.js"></script> - <script src="../assets/js/bootstrap-modal.js"></script> - <script src="../assets/js/bootstrap-dropdown.js"></script> - <script src="../assets/js/bootstrap-scrollspy.js"></script> - <script src="../assets/js/bootstrap-tab.js"></script> - <script src="../assets/js/bootstrap-tooltip.js"></script> - <script src="../assets/js/bootstrap-popover.js"></script> - <script src="../assets/js/bootstrap-button.js"></script> - <script src="../assets/js/bootstrap-collapse.js"></script> - <script src="../assets/js/bootstrap-carousel.js"></script> - <script src="../assets/js/bootstrap-typeahead.js"></script> - - </body> -</html> diff --git a/docs/components/tooltip.html b/docs/components/tooltip.html deleted file mode 100644 index afbaa9fad97526d9abe85736d7e6f9db365ddd59..0000000000000000000000000000000000000000 --- a/docs/components/tooltip.html +++ /dev/null @@ -1,62 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Bootstrap, from Twitter</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content=""> - <meta name="author" content=""> - - <!-- Le styles --> - <link href="../assets/css/bootstrap.css" rel="stylesheet"> - <link href="../assets/css/bootstrap-responsive.css" rel="stylesheet"> - - <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - <!-- Le fav and touch icons --> - <link rel="shortcut icon" href="../assets/ico/favicon.ico"> - <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png"> - </head> - - <body> - - <div class="container"> - - - - <h1>Bootstrap tooltip</h1> - - <br> - - <p>Tight pants next level keffiyeh <a href="#" rel="tooltip" title="Default tooltip">you probably</a> haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown.</p> - - - - - </div> <!-- /container --> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="../assets/js/jquery.js"></script> - <script src="../assets/js/bootstrap-transition.js"></script> - <script src="../assets/js/bootstrap-alert.js"></script> - <script src="../assets/js/bootstrap-modal.js"></script> - <script src="../assets/js/bootstrap-dropdown.js"></script> - <script src="../assets/js/bootstrap-scrollspy.js"></script> - <script src="../assets/js/bootstrap-tab.js"></script> - <script src="../assets/js/bootstrap-tooltip.js"></script> - <script src="../assets/js/bootstrap-popover.js"></script> - <script src="../assets/js/bootstrap-button.js"></script> - <script src="../assets/js/bootstrap-collapse.js"></script> - <script src="../assets/js/bootstrap-carousel.js"></script> - <script src="../assets/js/bootstrap-typeahead.js"></script> - - </body> -</html> diff --git a/docs/getting-started.html b/docs/getting-started.html index 952c246548a073cef2087847d7c7781690345005..ee766eeb141356afcfeb1d159fe509b077cb237c 100644 --- a/docs/getting-started.html +++ b/docs/getting-started.html @@ -74,7 +74,7 @@ <header class="jumbotron subhead" id="overview"> <div class="container"> <h1>Getting started</h1> - <p class="lead">Overview of the project, it's contents, and how to get started with a simple template.</p> + <p class="lead">Overview of the project, its contents, and how to get started with a simple template.</p> </div> </header> @@ -114,7 +114,7 @@ </div> <div class="span6"> <h2>Download source</h2> - <p>Get the original files for all CSS and Javasript, along with a local copy of the docs by downloading the latest version directly from GitHub.</p> + <p>Get the original files for all CSS and JavaScript, along with a local copy of the docs by downloading the latest version directly from GitHub.</p> <p><a class="btn btn-large" href="https://github.com/twitter/bootstrap/zipball/master" >Download Bootstrap source</a></p> </div> </div> @@ -144,6 +144,7 @@ └── README.md </pre> <p>This is the most basic form of Bootstrap: compiled files for quick drop-in usage in nearly any web project. We provide compiled CSS and JS (<code>bootstrap.*</code>), as well as compiled and minified CSS and JS (<code>bootstrap.min.*</code>). The image files are compressed using <a href="http://imageoptim.com/">ImageOptim</a>, a Mac app for compressing PNGs.</p> + <p>Please note that all JavaScript plugins require jQuery to be included.</p> </section> @@ -201,17 +202,20 @@ <p class="lead">With a brief intro into the contents out of the way, we can focus putting Bootstrap to use. To do that, we'll utilize a basic HTML template that includes everything we mentioned in the <a href="#file-structure">File structure</a>.</p> <p>Now, here's a look at a <strong>typical HTML file</strong>:</p> <pre class="prettyprint linenums"> +<!DOCTYPE html> <html> <head> <title>Bootstrap 101 Template</title> </head> <body> <h1>Hello, world!</h1> + <script src="http://code.jquery.com/jquery-latest.js"></script> </body> </html> </pre> <p>To make this <strong>a Bootstrapped template</strong>, just include the appropriate CSS and JS files:</p> <pre class="prettyprint linenums"> +<!DOCTYPE html> <html> <head> <title>Bootstrap 101 Template</title> @@ -220,6 +224,7 @@ </head> <body> <h1>Hello, world!</h1> + <script src="http://code.jquery.com/jquery-latest.js"></script> <script src="js/bootstrap.min.js"></script> </body> </html> diff --git a/docs/index.html b/docs/index.html index 74a45aa6dfd561241dff4a92140008e7ead91f89..c6103995462b1ca54a9c2315f9f047956033c3d0 100644 --- a/docs/index.html +++ b/docs/index.html @@ -77,7 +77,7 @@ <ul class="masthead-links"> <li><a href="http://github.com/twitter/bootstrap" >GitHub project</a></li> <li><a href="./extend.html" >Extend</a></li> - <li>Version 2.1.0</li> + <li>Version 2.1.1</li> </ul> </div> </div> diff --git a/docs/javascript.html b/docs/javascript.html index f6c8c428b0dcd4e51f1bd236b53a7e65b30b0f67..f4c0d484d828223b261f1de5b9f2cda171174a01 100644 --- a/docs/javascript.html +++ b/docs/javascript.html @@ -376,7 +376,7 @@ $('#myModal').on('hidden', function () { - <!-- Dropdown + <!-- Dropdowns ================================================== --> <section id="dropdowns"> <div class="page-header"> @@ -479,7 +479,7 @@ $('#myModal').on('hidden', function () { <p>Add <code>data-toggle="dropdown"</code> to a link or button to toggle a dropdown.</p> <pre class="prettyprint linenums"> <div class="dropdown"> - <a class="dropdown-toggle" href="#">Dropdown trigger</a> + <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown trigger</a> <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> ... </ul> @@ -1035,7 +1035,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) { <h2>Example alerts</h2> - <p>Add dismiss functionality to all alerge messages with this plugin.</p> + <p>Add dismiss functionality to all alert messages with this plugin.</p> <div class="bs-docs-example"> <div class="alert fade in"> <button type="button" class="close" data-dismiss="alert">×</button> @@ -1606,11 +1606,11 @@ $('.carousel').carousel({ <h3>Via data attributes</h3> <p>To easily add affix behavior to any element, just add <code>data-spy="affix"</code> to the element you want to spy on. Then use offsets to define when to toggle the pinning of an element on and off.</p> - <pre class="prettyprint linenums"><div data-spy="affix" data-offset-top="200">...</body></pre> + <pre class="prettyprint linenums"><div data-spy="affix" data-offset-top="200">...</div></pre> <div class="alert alert-info"> <strong>Heads up!</strong> - It's up to you to manage the position of a pinned element. This is done by styling <code>affix</code>, <code>affix-top</code>, and <code>affix-bottom</code>. + You must manage the position of a pinned element and the behavior of its immediate parent. Position is controlled by <code>affix</code>, <code>affix-top</code>, and <code>affix-bottom</code>. Remember to check for a potentially collapsed parent when the affix kicks in as it's removing content from the normal flow of the page. </div> <h3>Via JavaScript</h3> diff --git a/docs/scaffolding.html b/docs/scaffolding.html index a8edd1705b1ed6b73ded742f9f5730412f54fdd5..a78b1b5b47216e369b746a29a821ca0a9ca9bcdb 100644 --- a/docs/scaffolding.html +++ b/docs/scaffolding.html @@ -117,7 +117,7 @@ <ul> <li>Remove <code>margin</code> on the body</li> <li>Set <code>background-color: white;</code> on the <code>body</code></li> - <li>Use the <code>@baseFontFamily</code>, <code>@baseFontSize</code>, and <code>@baseLineHeight</code> attributes as our typographyic base</li> + <li>Use the <code>@baseFontFamily</code>, <code>@baseFontSize</code>, and <code>@baseLineHeight</code> attributes as our typographic base</li> <li>Set the global link color via <code>@linkColor</code> and apply link underlines only on <code>:hover</code></li> </ul> <p>These styles can be found within <strong>scaffolding.less</strong>.</p> @@ -138,7 +138,7 @@ </div> <h2>Live grid example</h2> - <p>The default Bootstrap grid system utilizes <strong>12 columns</strong>, making for a 940px wide container without <a href="#responsive">responsive features</a> enabled. With the responsive CSS file added, the grid adapts to be 724px and 1170px wide depending on your viewport. Below 767px viewports, the columns become fluid and stack vertically.</p> + <p>The default Bootstrap grid system utilizes <strong>12 columns</strong>, making for a 940px wide container without <a href="./scaffolding.html#responsive">responsive features</a> enabled. With the responsive CSS file added, the grid adapts to be 724px and 1170px wide depending on your viewport. Below 767px viewports, the columns become fluid and stack vertically.</p> <div class="bs-docs-grid"> <div class="row show-grid"> <div class="span1">1</div> @@ -199,8 +199,6 @@ <h2>Nesting columns</h2> <p>To nest your content with the default grid, add a new <code>.row</code> and set of <code>.span*</code> columns within an existing <code>.span*</code> column. Nested rows should include a set of columns that add up to the number of columns of its parent.</p> - <h3>Example</h3> - <p>Here two nested <code>.span4</code> columns are placed within a <code>.span8</code>.</p> <div class="row show-grid"> <div class="span9"> Level 1 of column diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache index 46b15523433913ac93e62fb3824652168998da19..23f63228f5068d011c632891838e3ad51f622e29 100644 --- a/docs/templates/pages/base-css.mustache +++ b/docs/templates/pages/base-css.mustache @@ -49,7 +49,7 @@ {{! Body copy }} <h2 id="body-copy">{{_i}}Body copy{{/i}}</h2> - <p>{{_i}}Bootstrap's global default <code>font-size</code> is <strong>14px</strong>, with a <code>line-height</code> of <strong>20px</strong>. This is applied to the <code><body></code> and all paragraphs. In addition, <code><p></code> (paragraphs) receive a bottom margin of half their line-height (9px by default).{{/i}}</p> + <p>{{_i}}Bootstrap's global default <code>font-size</code> is <strong>14px</strong>, with a <code>line-height</code> of <strong>20px</strong>. This is applied to the <code><body></code> and all paragraphs. In addition, <code><p></code> (paragraphs) receive a bottom margin of half their line-height (10px by default).{{/i}}</p> <div class="bs-docs-example"> <p>Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula.</p> <p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec ullamcorper nulla non metus auctor fringilla. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla.</p> @@ -124,7 +124,7 @@ <div class="bs-docs-example"> <p>{{_i}}<abbr title="HyperText Markup Language" class="initialism">HTML</abbr> is the best thing since sliced bread.{{/i}}</p> </div> - <pre class="prettyprint"><abbr title="attribute" class="initialism">attr</abbr></pre> + <pre class="prettyprint"><abbr title="HyperText Markup Language" class="initialism">HTML</abbr></pre> <hr class="bs-docs-separator"> @@ -170,7 +170,7 @@ <h2 id="blockquotes">{{_i}}Blockquotes{{/i}}</h2> <p>{{_i}}For quoting blocks of content from another source within your document.{{/i}}</p> - <h3>{{_i}}Default blockqoute{{/i}}</h3> + <h3>{{_i}}Default blockquote{{/i}}</h3> <p>{{_i}}Wrap <code><blockquote></code> around any <abbr title="HyperText Markup Language">HTML</abbr> as the quote. For straight quotes we recommend a <code><p></code>.{{/i}}</p> <div class="bs-docs-example"> <blockquote> @@ -623,6 +623,12 @@ </td> <td>{{_i}}Indicates a dangerous or potentially negative action.{{/i}}</td> </tr> + <tr> + <td> + <code>.warning</code> + </td> + <td>{{_i}}Indicates a warning that might need attention.{{/i}}</td> + </tr> <tr> <td> <code>.info</code> @@ -654,12 +660,18 @@ <td>02/04/2012</td> <td>Declined</td> </tr> - <tr class="info"> + <tr class="warning"> <td>3</td> <td>TB - Monthly</td> <td>03/04/2012</td> <td>Pending</td> </tr> + <tr class="info"> + <td>4</td> + <td>TB - Monthly</td> + <td>04/04/2012</td> + <td>Call in to confirm</td> + </tr> </tbody> </table> </div>{{! /example }} @@ -1292,7 +1304,7 @@ </pre> <h3>{{_i}}Validation states{{/i}}</h3> - <p>{{_i}}Bootstrap includes validation styles for error, warning, and success messages. To use, add the appropriate class to the surrounding <code>.control-group</code>.{{/i}}</p> + <p>{{_i}}Bootstrap includes validation styles for error, warning, info, and success messages. To use, add the appropriate class to the surrounding <code>.control-group</code>.{{/i}}</p> <form class="bs-docs-example form-horizontal"> <div class="control-group warning"> @@ -1309,6 +1321,13 @@ <span class="help-inline">{{_i}}Please correct the error{{/i}}</span> </div> </div> + <div class="control-group info"> + <label class="control-label" for="inputError">{{_i}}Input with info{{/i}}</label> + <div class="controls"> + <input type="text" id="inputError"> + <span class="help-inline">{{_i}}Username is taken{{/i}}</span> + </div> + </div> <div class="control-group success"> <label class="control-label" for="inputSuccess">{{_i}}Input with success{{/i}}</label> <div class="controls"> @@ -1476,7 +1495,7 @@ </pre> <p> <span class="label label-info">{{_i}}Heads up!{{/i}}</span> - {{_i}}We use <code>.disabled</code> as a utility class here, similar to the common <code>.active</code> class, so no prefix is required.{{/i}} + {{_i}}We use <code>.disabled</code> as a utility class here, similar to the common <code>.active</code> class, so no prefix is required. Also, this class is only for aesthetic; you must use custom JavaScript to disable links here.{{/i}} </p> <h3>Button element</h3> @@ -1693,7 +1712,7 @@ </ul> <h3>Glyphicons attribution</h3> - <p>{{_i}}<a href="http://glyphicons.com/">Glyphicons</a> Halflings are normally not available for free, but an arrangement between Bootstrap and the Glyphicons creators have made this possible at not cost to you as developers. As a thank you, we ask you to include an optional link back to <a href="http://glyphicons.com/">Glyphicons</a> whenever practical.{{/i}}</p> + <p>{{_i}}<a href="http://glyphicons.com/">Glyphicons</a> Halflings are normally not available for free, but an arrangement between Bootstrap and the Glyphicons creators have made this possible at no cost to you as developers. As a thank you, we ask you to include an optional link back to <a href="http://glyphicons.com/">Glyphicons</a> whenever practical.{{/i}}</p> <hr class="bs-docs-separator"> @@ -1818,7 +1837,8 @@ <label class="control-label" for="inputIcon">{{_i}}Email address{{/i}}</label> <div class="controls"> <div class="input-prepend"> - <span class="add-on"><i class="icon-envelope"><i><span><input class="span2" id="inputIcon" type="text"> + <span class="add-on"><i class="icon-envelope"></i></span> + <input class="span2" id="inputIcon" type="text"> </div> </div> </pre> diff --git a/docs/templates/pages/components.mustache b/docs/templates/pages/components.mustache index 8187ce084a3ede839128fb0679951298ef855894..53936e5d0dde5a67ae7bde298608b931a77d7188 100644 --- a/docs/templates/pages/components.mustache +++ b/docs/templates/pages/components.mustache @@ -1402,13 +1402,23 @@ </div> </div> <pre class="prettyprint linenums"> -<div class="pagination "> +<div class="pagination"> <ul> <li class="disabled"><a href="#">Prev</a></li> <li class="active"><a href="#">1</a></li> ... </ul> </div> +</pre> + <p>{{_i}}You can optionally swap out active or disabled anchors for spans to remove click functionality while retaining intended styles.{{/i}}</p> +<pre class="prettyprint linenums"> +<div class="pagination"> + <ul> + <li class="disabled"><span>Prev</span></li> + <li class="active"><span>1</span></li> + ... + </ul> +</div> </pre> <h3>{{_i}}Alignment{{/i}}</h3> @@ -1698,7 +1708,7 @@ </div> <pre class="prettyprint linenums"> <div class="page-header"> - <h1>{{_i}}Example page header{{/i}}</h1> + <h1>{{_i}}Example page header{{/i}} <small>{{_i}}Subtext for header{{/i}}</small></h1> </div> </pre> @@ -1870,7 +1880,7 @@ <h3>{{_i}}Dismiss buttons{{/i}}</h3> <p>{{_i}}Mobile Safari and Mobile Opera browsers, in addition to the <code>data-dismiss="alert"</code> attribute, require an <code>href="#"</code> for the dismissal of alerts when using an <code><a></code> tag.{{/i}}</p> - <pre class="prettyprint linenums"><a href="#" class="close" data-dismiss="alert">×</button></pre> + <pre class="prettyprint linenums"><a href="#" class="close" data-dismiss="alert">×</a></pre> <p>{{_i}}Alternatively, you may use a <code><button></code> element with the data attribute, which we have opted to do for our docs. When using <code><button></code>, you must include <code>type="button"</code> or your forms may not submit.{{/i}}</p> <pre class="prettyprint linenums"><button type="button" class="close" data-dismiss="alert">×</button></pre> diff --git a/docs/templates/pages/getting-started.mustache b/docs/templates/pages/getting-started.mustache index 8b58e62b72c89806c9c2bb6f492eb44b0d824261..d8e6a811a6fac14dd9c6bd1d6e72e499362ed8be 100644 --- a/docs/templates/pages/getting-started.mustache +++ b/docs/templates/pages/getting-started.mustache @@ -3,7 +3,7 @@ <header class="jumbotron subhead" id="overview"> <div class="container"> <h1>{{_i}}Getting started{{/i}}</h1> - <p class="lead">{{_i}}Overview of the project, it's contents, and how to get started with a simple template.{{/i}}</p> + <p class="lead">{{_i}}Overview of the project, its contents, and how to get started with a simple template.{{/i}}</p> </div> </header> @@ -37,14 +37,14 @@ <div class="row-fluid"> <div class="span6"> - <h2>Download compiled</h2> - <p><strong>Fastest way to get started:</strong> get the compiled and minified versions of our CSS, JS, and images. No docs or original source files.</p> - <p><a class="btn btn-large btn-primary" href="assets/bootstrap.zip" {{#production}}onclick="_gaq.push(['_trackEvent', 'Getting started', 'Download', 'Download compiled']);"{{/production}}>Download Bootstrap</a></p> + <h2>{{_i}}Download compiled{{/i}}</h2> + <p>{{_i}}<strong>Fastest way to get started:</strong> get the compiled and minified versions of our CSS, JS, and images. No docs or original source files.{{/i}}</p> + <p><a class="btn btn-large btn-primary" href="assets/bootstrap.zip" {{#production}}onclick="_gaq.push(['_trackEvent', 'Getting started', 'Download', 'Download compiled']);"{{/production}}>{{_i}}Download Bootstrap{{/i}}</a></p> </div> <div class="span6"> <h2>Download source</h2> - <p>Get the original files for all CSS and Javasript, along with a local copy of the docs by downloading the latest version directly from GitHub.</p> - <p><a class="btn btn-large" href="https://github.com/twitter/bootstrap/zipball/master" {{#production}}onclick="_gaq.push(['_trackEvent', 'Getting started', 'Download', 'Download source']);"{{/production}}>Download Bootstrap source</a></p> + <p>Get the original files for all CSS and JavaScript, along with a local copy of the docs by downloading the latest version directly from GitHub.</p> + <p><a class="btn btn-large" href="https://github.com/twitter/bootstrap/zipball/master" {{#production}}onclick="_gaq.push(['_trackEvent', 'Getting started', 'Download', 'Download source']);"{{/production}}>{{_i}}Download Bootstrap source{{/i}}</a></p> </div> </div> </section> @@ -73,6 +73,7 @@ └── README.md </pre> <p>{{_i}}This is the most basic form of Bootstrap: compiled files for quick drop-in usage in nearly any web project. We provide compiled CSS and JS (<code>bootstrap.*</code>), as well as compiled and minified CSS and JS (<code>bootstrap.min.*</code>). The image files are compressed using <a href="http://imageoptim.com/">ImageOptim</a>, a Mac app for compressing PNGs.{{/i}}</p> + <p>{{_i}}Please note that all JavaScript plugins require jQuery to be included.{{/i}}</p> </section> @@ -130,17 +131,20 @@ <p class="lead">{{_i}}With a brief intro into the contents out of the way, we can focus putting Bootstrap to use. To do that, we'll utilize a basic HTML template that includes everything we mentioned in the <a href="#file-structure">File structure</a>.{{/i}}</p> <p>{{_i}}Now, here's a look at a <strong>typical HTML file</strong>:{{/i}}</p> <pre class="prettyprint linenums"> +<!DOCTYPE html> <html> <head> <title>Bootstrap 101 Template</title> </head> <body> <h1>Hello, world!</h1> + <script src="http://code.jquery.com/jquery-latest.js"></script> </body> </html> </pre> <p>{{_i}}To make this <strong>a Bootstrapped template</strong>, just include the appropriate CSS and JS files:{{/i}}</p> <pre class="prettyprint linenums"> +<!DOCTYPE html> <html> <head> <title>Bootstrap 101 Template</title> @@ -149,6 +153,7 @@ </head> <body> <h1>Hello, world!</h1> + <script src="http://code.jquery.com/jquery-latest.js"></script> <script src="js/bootstrap.min.js"></script> </body> </html> @@ -199,9 +204,9 @@ <div class="page-header"> <h1>{{_i}}What next?{{/i}}</h1> </div> - <p class="lead">Head to the docs for information, examples, and code snippets, or take the next leap and customize Bootstrap for any upcoming project.</p> - <a class="btn btn-large btn-primary" href="./scaffolding.html" {{#production}}onclick="_gaq.push(['_trackEvent', 'Getting started', 'Next steps', 'Visit docs']);"{{/production}}>Visit the Bootstrap docs</a> - <a class="btn btn-large" href="./customize.html" style="margin-left: 5px;" {{#production}}onclick="_gaq.push(['_trackEvent', 'Getting started', 'Next steps', 'Customize']);"{{/production}}>Customize Bootstrap</a> + <p class="lead">{{_i}}Head to the docs for information, examples, and code snippets, or take the next leap and customize Bootstrap for any upcoming project.{{/i}}</p> + <a class="btn btn-large btn-primary" href="./scaffolding.html" {{#production}}onclick="_gaq.push(['_trackEvent', 'Getting started', 'Next steps', 'Visit docs']);"{{/production}}>{{_i}}Visit the Bootstrap docs{{/i}}</a> + <a class="btn btn-large" href="./customize.html" style="margin-left: 5px;" {{#production}}onclick="_gaq.push(['_trackEvent', 'Getting started', 'Next steps', 'Customize']);"{{/production}}>{{_i}}Customize Bootstrap{{/i}}</a> </section> diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache index 654a988469d5c993b9a1f105c69b0cdd57493c88..f02b8d505db7c1ba6e12faccc61c80b81ed7c62c 100644 --- a/docs/templates/pages/index.mustache +++ b/docs/templates/pages/index.mustache @@ -2,11 +2,11 @@ <div class="container"> <h1>Bootstrap</h1> <p>Sleek, intuitive, and powerful front-end framework for faster and easier web development.</p> - <p><a href="assets/bootstrap.zip" class="btn btn-primary btn-large" {{#production}}onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Download', 'Download 2.1.0']);"{{/production}}>{{_i}}Download Bootstrap{{/i}}</a></p> + <p><a href="assets/bootstrap.zip" class="btn btn-primary btn-large" {{#production}}onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Download', 'Download 2.1.1']);"{{/production}}>{{_i}}Download Bootstrap{{/i}}</a></p> <ul class="masthead-links"> <li><a href="http://github.com/twitter/bootstrap" {{#production}}onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'GitHub project']);"{{/production}}>GitHub project</a></li> <li><a href="./extend.html" {{#production}}onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'Extend']);"{{/production}}>Extend</a></li> - <li>Version 2.1.0</li> + <li>Version 2.1.1</li> </ul> </div> </div> diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache index c9e1b612b058bf9d18129c8d937eb35d69a50228..ba762d56bb7b2e8deeec1ec7af36aefa2496ce66 100644 --- a/docs/templates/pages/javascript.mustache +++ b/docs/templates/pages/javascript.mustache @@ -306,7 +306,7 @@ $('#myModal').on('hidden', function () { - <!-- Dropdown + <!-- Dropdowns ================================================== --> <section id="dropdowns"> <div class="page-header"> @@ -409,7 +409,7 @@ $('#myModal').on('hidden', function () { <p>{{_i}}Add <code>data-toggle="dropdown"</code> to a link or button to toggle a dropdown.{{/i}}</p> <pre class="prettyprint linenums"> <div class="dropdown"> - <a class="dropdown-toggle" href="#">Dropdown trigger</a> + <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown trigger</a> <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> ... </ul> @@ -965,7 +965,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) { <h2>{{_i}}Example alerts{{/i}}</h2> - <p>{{_i}}Add dismiss functionality to all alerge messages with this plugin.{{/i}}</p> + <p>{{_i}}Add dismiss functionality to all alert messages with this plugin.{{/i}}</p> <div class="bs-docs-example"> <div class="alert fade in"> <button type="button" class="close" data-dismiss="alert">×</button> @@ -1536,11 +1536,11 @@ $('.carousel').carousel({ <h3>{{_i}}Via data attributes{{/i}}</h3> <p>{{_i}}To easily add affix behavior to any element, just add <code>data-spy="affix"</code> to the element you want to spy on. Then use offsets to define when to toggle the pinning of an element on and off.{{/i}}</p> - <pre class="prettyprint linenums"><div data-spy="affix" data-offset-top="200">...</body></pre> + <pre class="prettyprint linenums"><div data-spy="affix" data-offset-top="200">...</div></pre> <div class="alert alert-info"> <strong>{{_i}}Heads up!{{/i}}</strong> - {{_i}}It's up to you to manage the position of a pinned element. This is done by styling <code>affix</code>, <code>affix-top</code>, and <code>affix-bottom</code>.{{/i}} + {{_i}}You must manage the position of a pinned element and the behavior of its immediate parent. Position is controlled by <code>affix</code>, <code>affix-top</code>, and <code>affix-bottom</code>. Remember to check for a potentially collapsed parent when the affix kicks in as it's removing content from the normal flow of the page.{{/i}} </div> <h3>{{_i}}Via JavaScript{{/i}}</h3> diff --git a/docs/templates/pages/scaffolding.mustache b/docs/templates/pages/scaffolding.mustache index 724ab5e53eed97c4345162d2903e4654c3ee5bf2..3fb7841b1350b24da73c13082803ccf7a9ef3580 100644 --- a/docs/templates/pages/scaffolding.mustache +++ b/docs/templates/pages/scaffolding.mustache @@ -46,7 +46,7 @@ <ul> <li>{{_i}}Remove <code>margin</code> on the body{{/i}}</li> <li>{{_i}}Set <code>background-color: white;</code> on the <code>body</code>{{/i}}</li> - <li>{{_i}}Use the <code>@baseFontFamily</code>, <code>@baseFontSize</code>, and <code>@baseLineHeight</code> attributes as our typographyic base{{/i}}</li> + <li>{{_i}}Use the <code>@baseFontFamily</code>, <code>@baseFontSize</code>, and <code>@baseLineHeight</code> attributes as our typographic base{{/i}}</li> <li>{{_i}}Set the global link color via <code>@linkColor</code> and apply link underlines only on <code>:hover</code>{{/i}}</li> </ul> <p>{{_i}}These styles can be found within <strong>scaffolding.less</strong>.{{/i}}</p> @@ -67,7 +67,7 @@ </div> <h2>{{_i}}Live grid example{{/i}}</h2> - <p>{{_i}}The default Bootstrap grid system utilizes <strong>12 columns</strong>, making for a 940px wide container without <a href="#responsive">responsive features</a> enabled. With the responsive CSS file added, the grid adapts to be 724px and 1170px wide depending on your viewport. Below 767px viewports, the columns become fluid and stack vertically.{{/i}}</p> + <p>{{_i}}The default Bootstrap grid system utilizes <strong>12 columns</strong>, making for a 940px wide container without <a href="./scaffolding.html#responsive">responsive features</a> enabled. With the responsive CSS file added, the grid adapts to be 724px and 1170px wide depending on your viewport. Below 767px viewports, the columns become fluid and stack vertically.{{/i}}</p> <div class="bs-docs-grid"> <div class="row show-grid"> <div class="span1">1</div> @@ -128,8 +128,6 @@ <h2>{{_i}}Nesting columns{{/i}}</h2> <p>{{_i}}To nest your content with the default grid, add a new <code>.row</code> and set of <code>.span*</code> columns within an existing <code>.span*</code> column. Nested rows should include a set of columns that add up to the number of columns of its parent.{{/i}}</p> - <h3>{{_i}}Example{{/i}}</h3> - <p>{{_i}}Here two nested <code>.span4</code> columns are placed within a <code>.span8</code>.{{/i}}</p> <div class="row show-grid"> <div class="span9"> {{_i}}Level 1 of column{{/i}} diff --git a/js/bootstrap-affix.js b/js/bootstrap-affix.js index c6b8208a6ef9300253c467ca2d5c32033a5ee671..c49d6e9dac09e0b7d8fe0c873fc887249b7516b7 100644 --- a/js/bootstrap-affix.js +++ b/js/bootstrap-affix.js @@ -1,5 +1,5 @@ /* ========================================================== - * bootstrap-affix.js v2.1.0 + * bootstrap-affix.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#affix * ========================================================== * Copyright 2012 Twitter, Inc. diff --git a/js/bootstrap-alert.js b/js/bootstrap-alert.js index 4dd31adb22f6e06d17240edfd6d3a22b92e7718c..51273ab9d2d8616cf66479cbbd0f7f6173f17dcb 100644 --- a/js/bootstrap-alert.js +++ b/js/bootstrap-alert.js @@ -1,5 +1,5 @@ /* ========================================================== - * bootstrap-alert.js v2.1.0 + * bootstrap-alert.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#alerts * ========================================================== * Copyright 2012 Twitter, Inc. diff --git a/js/bootstrap-button.js b/js/bootstrap-button.js index d0413d6efbc760fd3c50771e11944622278208ec..a0ab0bfad521dbecdfbda58db9dd771f196c36d7 100644 --- a/js/bootstrap-button.js +++ b/js/bootstrap-button.js @@ -1,5 +1,5 @@ /* ============================================================ - * bootstrap-button.js v2.1.0 + * bootstrap-button.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#buttons * ============================================================ * Copyright 2012 Twitter, Inc. @@ -51,7 +51,7 @@ } Button.prototype.toggle = function () { - var $parent = this.$element.parent('[data-toggle="buttons-radio"]') + var $parent = this.$element.closest('[data-toggle="buttons-radio"]') $parent && $parent .find('.active') diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js index 0b87eb8a2459ea40a0bdf88fb4ef5a3f7839166f..5c194b4287baaf967b676a00788ebbe84d30d6cd 100644 --- a/js/bootstrap-carousel.js +++ b/js/bootstrap-carousel.js @@ -1,5 +1,5 @@ /* ========================================================== - * bootstrap-carousel.js v2.1.0 + * bootstrap-carousel.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#carousel * ========================================================== * Copyright 2012 Twitter, Inc. diff --git a/js/bootstrap-collapse.js b/js/bootstrap-collapse.js index 391d91281bc2d804063e0868455b7402477ab1be..8116f2255388bb397df4789008f34c4be0c74438 100644 --- a/js/bootstrap-collapse.js +++ b/js/bootstrap-collapse.js @@ -1,5 +1,5 @@ /* ============================================================= - * bootstrap-collapse.js v2.1.0 + * bootstrap-collapse.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#collapse * ============================================================= * Copyright 2012 Twitter, Inc. diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index ab601e9e5bf7a284d2e403b682fc352cd840a37b..42370dfbef26cc66502b5b70664d30a807daa3ef 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -1,5 +1,5 @@ /* ============================================================ - * bootstrap-dropdown.js v2.1.0 + * bootstrap-dropdown.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#dropdowns * ============================================================ * Copyright 2012 Twitter, Inc. @@ -110,7 +110,7 @@ if (!selector) { selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 } $parent = $(selector) @@ -142,7 +142,7 @@ $('html') .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) $('body') - .on('click.dropdown touchstart.dropdown.data-api', '.dropdown', function (e) { e.stopPropagation() }) + .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 62fbc951b5ddc91846fb3c7ec73da0db0c70f0dd..f1622b1c65f7e0aeb4ed9351224eefa57285cbc2 100644 --- a/js/bootstrap-modal.js +++ b/js/bootstrap-modal.js @@ -1,5 +1,5 @@ /* ========================================================= - * bootstrap-modal.js v2.1.0 + * bootstrap-modal.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#modals * ========================================================= * Copyright 2012 Twitter, Inc. diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js index 4ce7a16d3f3c01cd000e937d87e9089de41dd261..941372285cb38be1699d4a65d2a984b79561e6ea 100644 --- a/js/bootstrap-popover.js +++ b/js/bootstrap-popover.js @@ -1,5 +1,5 @@ /* =========================================================== - * bootstrap-popover.js v2.1.0 + * bootstrap-popover.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#popovers * =========================================================== * Copyright 2012 Twitter, Inc. diff --git a/js/bootstrap-scrollspy.js b/js/bootstrap-scrollspy.js index df70ebdd715da5417e4ba67d9a6d3a70844947c1..e740ac01f71084618df29431cd7f63561bd8c630 100644 --- a/js/bootstrap-scrollspy.js +++ b/js/bootstrap-scrollspy.js @@ -1,5 +1,5 @@ /* ============================================================= - * bootstrap-scrollspy.js v2.1.0 + * bootstrap-scrollspy.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#scrollspy * ============================================================= * Copyright 2012 Twitter, Inc. diff --git a/js/bootstrap-tab.js b/js/bootstrap-tab.js index df2a7f7a06fa66345931410cbe734cc3bf763cbf..070deb8f4ddae41e9bae6ad0ee835d9b97f17a45 100644 --- a/js/bootstrap-tab.js +++ b/js/bootstrap-tab.js @@ -1,5 +1,5 @@ /* ======================================================== - * bootstrap-tab.js v2.1.0 + * bootstrap-tab.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#tabs * ======================================================== * Copyright 2012 Twitter, Inc. diff --git a/js/bootstrap-tooltip.js b/js/bootstrap-tooltip.js index 4d06dfcc9b1675abb34f19b70c07a54a88aadd86..ed6288531604595c43f3f4abef03697441fd4514 100644 --- a/js/bootstrap-tooltip.js +++ b/js/bootstrap-tooltip.js @@ -1,5 +1,5 @@ /* =========================================================== - * bootstrap-tooltip.js v2.1.0 + * bootstrap-tooltip.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#tooltips * Inspired by the original jQuery.tipsy by Jason Frame * =========================================================== diff --git a/js/bootstrap-transition.js b/js/bootstrap-transition.js index f0913d861a060e9b5cc4730aa302ed1aaaad24ba..fedc90a83e1bf23cc813ab9bb6f14f61f8505818 100644 --- a/js/bootstrap-transition.js +++ b/js/bootstrap-transition.js @@ -1,5 +1,5 @@ /* =================================================== - * bootstrap-transition.js v2.1.0 + * bootstrap-transition.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#transitions * =================================================== * Copyright 2012 Twitter, Inc. diff --git a/js/bootstrap-typeahead.js b/js/bootstrap-typeahead.js index ae57221c11a77d0f837d15937335fa4af748fedf..da93154fbb89e6d61da8aa73f2c7c2d65e0dad98 100644 --- a/js/bootstrap-typeahead.js +++ b/js/bootstrap-typeahead.js @@ -1,5 +1,5 @@ /* ============================================================= - * bootstrap-typeahead.js v2.1.0 + * bootstrap-typeahead.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#typeahead * ============================================================= * Copyright 2012 Twitter, Inc. @@ -33,8 +33,10 @@ this.sorter = this.options.sorter || this.sorter this.highlighter = this.options.highlighter || this.highlighter this.updater = this.options.updater || this.updater + this.selected = this.options.selected this.$menu = $(this.options.menu).appendTo('body') this.source = this.options.source + this.itemLabel = this.options.itemLabel || "label" this.shown = false this.listen() } @@ -44,15 +46,20 @@ constructor: Typeahead , select: function () { - var val = this.$menu.find('.active').attr('data-value') + var val = JSON.parse(this.$menu.find('.active').attr('data-value')) this.$element - .val(this.updater(val)) + .val(this.updater(val[this.itemLabel])) .change() + + if($.isFunction(this.selected)){ + this.selected(val) + } + return this.hide() } - , updater: function (item) { - return item + , updater: function (itemLabel) { + return itemLabel } , show: function () { @@ -93,6 +100,13 @@ , process: function (items) { var that = this + items = $.map( items, function(item) { + if(typeof item === "string"){ + item = new Object({label: item}) + } + return item + }) + items = $.grep(items, function (item) { return that.matcher(item) }) @@ -107,7 +121,7 @@ } , matcher: function (item) { - return ~item.toLowerCase().indexOf(this.query.toLowerCase()) + return ~item[this.itemLabel].toLowerCase().indexOf(this.query.toLowerCase()) } , sorter: function (items) { @@ -117,8 +131,8 @@ , item while (item = items.shift()) { - if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item) - else if (~item.indexOf(this.query)) caseSensitive.push(item) + if (!item[this.itemLabel].toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item) + else if (~item[this.itemLabel].indexOf(this.query)) caseSensitive.push(item) else caseInsensitive.push(item) } @@ -127,7 +141,7 @@ , highlighter: function (item) { var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&') - return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) { + return item[this.itemLabel].replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) { return '<strong>' + match + '</strong>' }) } @@ -136,7 +150,7 @@ var that = this items = $(items).map(function (i, item) { - i = $(that.options.item).attr('data-value', item) + i = $(that.options.item).attr('data-value', JSON.stringify(item)) i.find('a').html(that.highlighter(item)) return i[0] }) diff --git a/js/tests/unit/bootstrap-button.js b/js/tests/unit/bootstrap-button.js index 03c4a8e9d57ecfddc62d4f50a859482283d86af9..b5d08349993c46e4898b4a862f4f003903e09dfc 100644 --- a/js/tests/unit/bootstrap-button.js +++ b/js/tests/unit/bootstrap-button.js @@ -62,7 +62,7 @@ $(function () { ok(btn.hasClass('active'), 'btn has class active') }) - test("should toggle active when btn children are clicked within btn-group", function () { + test("should toggle active when btn children are clicked within btn-group", function () { var btngroup = $('<div class="btn-group" data-toggle="buttons-checkbox"></div>') , btn = $('<button class="btn">fat</button>') , inner = $('<i></i>') @@ -74,4 +74,23 @@ $(function () { ok(btn.hasClass('active'), 'btn has class active') }) + test("should check for closest matching toggle", function () { + var group = $("<div data-toggle='buttons-radio'></div>") + , btn1 = $("<button class='btn active'></button>") + , btn2 = $("<button class='btn'></button>") + , wrap = $("<div></div>") + + wrap.append(btn1, btn2) + + group + .append(wrap) + .appendTo($('#qunit-fixture')) + + ok(btn1.hasClass('active'), 'btn1 has active class') + ok(!btn2.hasClass('active'), 'btn2 does not have active class') + btn2.click() + ok(!btn1.hasClass('active'), 'btn1 does not have active class') + ok(btn2.hasClass('active'), 'btn2 has active class') + }) + }) \ No newline at end of file diff --git a/js/tests/unit/bootstrap-dropdown.js b/js/tests/unit/bootstrap-dropdown.js index 4e52c8485e7156c8a722076e5208f74b1772149a..3a617692b380a46cf579e1291b7aaa2e881197ff 100644 --- a/js/tests/unit/bootstrap-dropdown.js +++ b/js/tests/unit/bootstrap-dropdown.js @@ -61,6 +61,24 @@ $(function () { ok(dropdown.parent('.dropdown').hasClass('open'), 'open class added on click') }) + test("should test if element has a # before assuming it's a selector", function () { + var dropdownHTML = '<ul class="tabs">' + + '<li class="dropdown">' + + '<a href="/foo/" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>' + + '<ul class="dropdown-menu">' + + '<li><a href="#">Secondary link</a></li>' + + '<li><a href="#">Something else here</a></li>' + + '<li class="divider"></li>' + + '<li><a href="#">Another link</a></li>' + + '</ul>' + + '</li>' + + '</ul>' + , dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').dropdown().click() + + ok(dropdown.parent('.dropdown').hasClass('open'), 'open class added on click') + }) + + test("should remove open class if body clicked", function () { var dropdownHTML = '<ul class="tabs">' + '<li class="dropdown">' diff --git a/js/tests/unit/bootstrap-tooltip.js b/js/tests/unit/bootstrap-tooltip.js index 2eb8c8f7c9ac11aab3fd3b50154336c0e98a1363..9844d6460f7b0fdd0065d4776a3556e078d0ba5c 100644 --- a/js/tests/unit/bootstrap-tooltip.js +++ b/js/tests/unit/bootstrap-tooltip.js @@ -113,7 +113,7 @@ $(function () { }, 50) }) - test("should show tooltip if leave event hasn't occured before delay expires", function () { + test("should show tooltip if leave event hasn't occurred before delay expires", function () { var tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"></a>') .appendTo('#qunit-fixture') .tooltip({ delay: 150 }) diff --git a/js/tests/unit/bootstrap-typeahead.js b/js/tests/unit/bootstrap-typeahead.js index eb447aaa6e08fc4669db0a5e9bf6ae01c51dc262..2b9db9d543c1338791a51126de883e6b3c9191e5 100644 --- a/js/tests/unit/bootstrap-typeahead.js +++ b/js/tests/unit/bootstrap-typeahead.js @@ -201,4 +201,30 @@ $(function () { typeahead.$menu.remove() }) + + test("should process objects as source items", function () { + + var expectedLabel, expectedId + + var $input = $('<input />').typeahead({ + source: [{label: "aa", id: "1"}, {label: "ab", id: "2"}, {label: "ac", id: "3"}], + selected: function(item){ + expectedLabel = item.label + expectedId = item.id + } + }) + , typeahead = $input.data('typeahead') + + $input.val('a') + typeahead.lookup() + + $input.change(function() { changed = true }); + + $(typeahead.$menu.find('li')[2]).mouseover().click() + + equals(expectedLabel, "ac", 'has "ac" label property'); + equals(expectedId, "3", 'has "3" as id property'); + + typeahead.$menu.remove() + }) }) diff --git a/less/bootstrap.less b/less/bootstrap.less index f0df4f1d542dffeb5292437c7c26137ab6b50ca2..aaa3d8a6f207e37c2f33374885ae94beb5595724 100644 --- a/less/bootstrap.less +++ b/less/bootstrap.less @@ -1,5 +1,5 @@ /*! - * Bootstrap v2.1.0 + * Bootstrap v2.1.1 * * Copyright 2012 Twitter, Inc * Licensed under the Apache License v2.0 diff --git a/less/button-groups.less b/less/button-groups.less index 77496d6ab8d806fa55cd56dbc6b5818a0077881e..7bd639aac4ffa49f1b02bd01e6854b6822a514e2 100644 --- a/less/button-groups.less +++ b/less/button-groups.less @@ -7,6 +7,7 @@ .btn-group { position: relative; font-size: 0; // remove as part 1 of font-size inline-block hack + vertical-align: middle; // match .btn alignment given font-size hack above white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page) .ie7-restore-left-whitespace(); } diff --git a/less/buttons.less b/less/buttons.less index 077616e990bf38de04855c75f4eb04f2caca972d..08ece791c4770fc84100225e3bae48eefe52ff28 100644 --- a/less/buttons.less +++ b/less/buttons.less @@ -96,10 +96,13 @@ .btn-mini { padding: 2px 6px; font-size: @baseFontSize - 3px; - line-height: @baseLineHeight - 4px; + line-height: @baseLineHeight - 3px; } + // Block button +// ------------------------- + .btn-block { display: block; width: 100%; @@ -107,10 +110,22 @@ padding-right: 0; .box-sizing(border-box); } + +// Vertically space out multiple block buttons .btn-block + .btn-block { margin-top: 5px; } +// Specificity overrides +input[type="submit"], +input[type="reset"], +input[type="button"] { + &.btn-block { + width: 100%; + } +} + + // Alternate buttons // -------------------------------------------------- diff --git a/less/component-animations.less b/less/component-animations.less index 2166776d98ba7807e54353a475707cfd4571c80a..d614263a76a75f04614c9205a74f373f74012a41 100644 --- a/less/component-animations.less +++ b/less/component-animations.less @@ -15,7 +15,6 @@ position: relative; height: 0; overflow: hidden; - overflow: visible \9; .transition(height .35s ease); &.in { height: auto; diff --git a/less/dropdowns.less b/less/dropdowns.less index e83915dba51d47e24e5055e03058a8dd6cfcdf62..390c374974e604f4027434402977bb4610e53f34 100644 --- a/less/dropdowns.less +++ b/less/dropdowns.less @@ -148,7 +148,7 @@ .caret { border-top: 0; border-bottom: 4px solid @black; - content: "\2191"; + content: ""; } // Different positioning for bottom up menu .dropdown-menu { @@ -172,7 +172,7 @@ -moz-border-radius: 0 6px 6px 6px; border-radius: 0 6px 6px 6px; } -.dropdown-submenu:hover .dropdown-menu { +.dropdown-submenu:hover > .dropdown-menu { display: block; } diff --git a/less/forms.less b/less/forms.less index 77b5135a404043729e0614c11508f334eb0de1bf..17fbaf857b31ae88c7ae5c7e6e3707a313e97a16 100644 --- a/less/forms.less +++ b/less/forms.less @@ -91,8 +91,9 @@ input[type="color"], // Reset appearance properties for textual inputs and textarea // Declare width for legacy (can't be on input[type=*] selectors or it's too specific) input, -textarea { - width: 210px; +textarea, +.uneditable-input { + width: 206px; // plus 12px padding and 2px border } // Reset height since textareas have rows textarea { @@ -209,7 +210,7 @@ input[type="checkbox"]:focus { // Placeholder // ------------------------- -// Placeholder text gets special styles; can't be bundled together though for some reason +// Placeholder text gets special styles because when browsers invalidate entire lines if it doesn’t understand a selector input, textarea { .placeholder(); @@ -349,6 +350,10 @@ input[type="checkbox"][readonly] { .control-group.success { .formFieldState(@successText, @successText, @successBackground); } +// Success +.control-group.info { + .formFieldState(@infoText, @infoText, @infoBackground); +} // HTML5 invalid states // Shares styles with the .control-group.error above @@ -441,7 +446,6 @@ select:focus:required:invalid { } .add-on, .btn { - margin-left: -1px; vertical-align: top; .border-radius(0); } @@ -466,6 +470,10 @@ select:focus:required:invalid { .uneditable-input { .border-radius(@inputBorderRadius 0 0 @inputBorderRadius); } + .add-on, + .btn { + margin-left: -1px; + } .add-on:last-child, .btn:last-child { .border-radius(0 @inputBorderRadius @inputBorderRadius 0); @@ -510,16 +518,16 @@ input.search-query { .border-radius(0); // Override due to specificity } .form-search .input-append .search-query { - .border-radius(14px 0 0 14px) + .border-radius(14px 0 0 14px); } .form-search .input-append .btn { - .border-radius(0 14px 14px 0) + .border-radius(0 14px 14px 0); } .form-search .input-prepend .search-query { - .border-radius(0 14px 14px 0) + .border-radius(0 14px 14px 0); } .form-search .input-prepend .btn { - .border-radius(14px 0 0 14px) + .border-radius(14px 0 0 14px); } @@ -607,7 +615,7 @@ legend + .control-group { // Float the labels left .control-label { float: left; - width: 140px; + width: @horizontalComponentOffset - 20; padding-top: 5px; text-align: right; } @@ -617,19 +625,26 @@ legend + .control-group { // don't inherit the margin of the parent, in this case .controls *display: inline-block; *padding-left: 20px; - margin-left: 160px; + margin-left: @horizontalComponentOffset; *margin-left: 0; &:first-child { - *padding-left: 160px; + *padding-left: @horizontalComponentOffset; } } // Remove bottom margin on block level help text since that's accounted for on .control-group .help-block { - margin-top: @baseLineHeight / 2; margin-bottom: 0; } + // And apply it only to .help-block instances that follow a form control + input, + select, + textarea { + + .help-block { + margin-top: @baseLineHeight / 2; + } + } // Move over buttons in .form-actions to align with .controls .form-actions { - padding-left: 160px; + padding-left: @horizontalComponentOffset; } } diff --git a/less/mixins.less b/less/mixins.less index db60f1aea296a009522dcde5b39ee850fde56e86..0aba0be63c03a3b5529aa133b755e6b9d12ecda7 100644 --- a/less/mixins.less +++ b/less/mixins.less @@ -175,6 +175,10 @@ select, textarea { color: @textColor; + } + input, + select, + textarea { border-color: @borderColor; .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work &:focus { @@ -260,6 +264,12 @@ -o-transition: @transition; transition: @transition; } +.transition-delay(@transition-delay) { + -webkit-transition-delay: @transition-delay; + -moz-transition-delay: @transition-delay; + -o-transition-delay: @transition-delay; + transition-delay: @transition-delay; +} // Transformations .rotate(@degrees) { @@ -432,7 +442,7 @@ background-color: mix(@midColor, @endColor, 80%); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor)); background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor); - background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop*100%, @endColor); + background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor); background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor); background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor); background-repeat: no-repeat; @@ -446,7 +456,7 @@ background-image: -o-radial-gradient(circle, @innerColor, @outerColor); background-repeat: no-repeat; } - .striped(@color, @angle: 45deg) { + .striped(@color: #555, @angle: 45deg) { background-color: @color; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); @@ -575,6 +585,7 @@ [class*="span"] { float: left; + min-height: 1px; // prevent collapsing columns margin-left: @gridGutterWidth; } diff --git a/less/modals.less b/less/modals.less index e515bb796d75034d6cdc99b31d8df396cb5b49a3..81cacb7ab12f25882bc7f0f70f82451369eacc45 100644 --- a/less/modals.less +++ b/less/modals.less @@ -3,8 +3,9 @@ // -------------------------------------------------- -// Recalculate z-index where appropriate -.modal-open { +// Recalculate z-index where appropriate, +// but only apply to elements within modal +.modal-open .modal { .dropdown-menu { z-index: @zindexDropdown + @zindexModal; } .dropdown.open { *z-index: @zindexDropdown + @zindexModal; } .popover { z-index: @zindexPopover + @zindexModal; } diff --git a/less/navbar.less b/less/navbar.less index 70501e4595919305e283d6929ba391022698e092..64e2eb7ea3f46a8d84585d25c32b931a075da43f 100644 --- a/less/navbar.less +++ b/less/navbar.less @@ -27,6 +27,9 @@ border: 1px solid @navbarBorder; .border-radius(4px); .box-shadow(0 1px 4px rgba(0,0,0,.065)); + + // Prevent floats from breaking the navbar + .clearfix(); } // Set width to auto for default container @@ -87,13 +90,16 @@ // ------------------------- .navbar .btn, .navbar .btn-group { - .navbarVerticalAlign(28px); // Vertically center in navbar + .navbarVerticalAlign(30px); // Vertically center in navbar } -.navbar .btn-group .btn { - margin: 0; // then undo the margin here so we don't accidentally double it +.navbar .btn-group .btn, +.navbar .input-prepend .btn, +.navbar .input-append .btn { + margin-top: 0; // then undo the margin here so we don't accidentally double it } // Navbar forms +// ------------------------- .navbar-form { margin-bottom: 0; // remove default bottom margin .clearfix(); @@ -125,6 +131,7 @@ } // Navbar search +// ------------------------- .navbar-search { position: relative; float: left; @@ -166,12 +173,12 @@ z-index: @zindexFixedNavbar; margin-bottom: 0; // remove 18px margin for default navbar } -.navbar-fixed-top, -.navbar-fixed-bottom, -.navbar-static-top { - .navbar-inner { - border: 0; - } +.navbar-fixed-top .navbar-inner, +.navbar-static-top .navbar-inner { + border-width: 0 0 1px; +} +.navbar-fixed-bottom .navbar-inner { + border-width: 1px 0 0; } .navbar-fixed-top .navbar-inner, .navbar-fixed-bottom .navbar-inner { @@ -221,6 +228,7 @@ } .navbar .nav.pull-right { float: right; // redeclare due to specificity + margin-right: 0; // remove margin on float right nav } .navbar .nav > li { float: left; diff --git a/less/pager.less b/less/pager.less index 2b854b4bef92844e974ae71b3d9d5f3b4f46c174..a7629d3db73b287c2399222f1b1c115b0528c0b8 100644 --- a/less/pager.less +++ b/less/pager.less @@ -12,7 +12,8 @@ .pager li { display: inline; } -.pager a { +.pager a, +.pager span { display: inline-block; padding: 5px 14px; background-color: #fff; @@ -23,14 +24,16 @@ text-decoration: none; background-color: #f5f5f5; } -.pager .next a { +.pager .next a, +.pager .next span { float: right; } .pager .previous a { float: left; } .pager .disabled a, -.pager .disabled a:hover { +.pager .disabled a:hover, +.pager .disabled span { color: @grayLight; background-color: #fff; cursor: default; diff --git a/less/pagination.less b/less/pagination.less index 2c19880c09e2d79e240dd98d5da3cc22692fe895..61a760be58cc086ee3e5e8cc9827b0ab3f358a94 100644 --- a/less/pagination.less +++ b/less/pagination.less @@ -15,11 +15,11 @@ .border-radius(3px); .box-shadow(0 1px 2px rgba(0,0,0,.05)); } -.pagination li { - display: inline; - } -.pagination a, -.pagination span { +.pagination ul > li { + display: inline; +} +.pagination ul > li > a, +.pagination ul > li > span { float: left; padding: 0 14px; line-height: (@baseLineHeight * 2) - 2; @@ -28,30 +28,30 @@ border: 1px solid @paginationBorder; border-left-width: 0; } -.pagination a:hover, -.pagination .active a, -.pagination .active span { +.pagination ul > li > a:hover, +.pagination ul > .active > a, +.pagination ul > .active > span { background-color: #f5f5f5; } -.pagination .active a, -.pagination .active span { +.pagination ul > .active > a, +.pagination ul > .active > span { color: @grayLight; cursor: default; } -.pagination .disabled span, -.pagination .disabled a, -.pagination .disabled a:hover { +.pagination ul > .disabled > span, +.pagination ul > .disabled > a, +.pagination ul > .disabled > a:hover { color: @grayLight; background-color: transparent; cursor: default; } -.pagination li:first-child a, -.pagination li:first-child span { +.pagination ul > li:first-child > a, +.pagination ul > li:first-child > span { border-left-width: 1px; .border-radius(3px 0 0 3px); } -.pagination li:last-child a, -.pagination li:last-child span { +.pagination ul > li:last-child > a, +.pagination ul > li:last-child > span { .border-radius(0 3px 3px 0); } diff --git a/less/responsive-767px-max.less b/less/responsive-767px-max.less index b2e3da25c03c9120637a38fbcbcb0ec5ed9f8fda..3202c1905c478c8c3cc72f7179d814aa14fea7cb 100644 --- a/less/responsive-767px-max.less +++ b/less/responsive-767px-max.less @@ -12,7 +12,8 @@ } // Negative indent the now static "fixed" navbar .navbar-fixed-top, - .navbar-fixed-bottom { + .navbar-fixed-bottom, + .navbar-static-top { margin-left: -20px; margin-right: -20px; } @@ -89,6 +90,9 @@ display: inline-block; // redeclare so they don't wrap to new lines width: auto; } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 0; + } // Modals .modal { diff --git a/less/responsive-navbar.less b/less/responsive-navbar.less index 3498863c82b926614c51e420f8c7d748418e9224..4ffa5a9fecb39335933d32f715ac8e3ad7d24b99 100644 --- a/less/responsive-navbar.less +++ b/less/responsive-navbar.less @@ -115,6 +115,12 @@ .nav-collapse .dropdown-menu .divider { display: none; } + .nav-collapse .nav > li > .dropdown-menu { + &:before, + &:after { + display: none; + } + } // Forms in navbar .nav-collapse .navbar-form, .nav-collapse .navbar-search { @@ -125,6 +131,11 @@ border-bottom: 1px solid @navbarBackground; .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1)"); } + .navbar-inverse .nav-collapse .navbar-form, + .navbar-inverse .nav-collapse .navbar-search { + border-top-color: @navbarInverseBackground; + border-bottom-color: @navbarInverseBackground; + } // Pull right (secondary) nav content .navbar .nav-collapse .nav.pull-right { float: none; diff --git a/less/responsive.less b/less/responsive.less index 5a62e4a5076f927dbef9021ebb85b34b32b55644..87b34708538beb7ed4ac31e2c19b338a6131061d 100644 --- a/less/responsive.less +++ b/less/responsive.less @@ -1,5 +1,5 @@ /*! - * Bootstrap Responsive v2.1.0 + * Bootstrap Responsive v2.1.1 * * Copyright 2012 Twitter, Inc * Licensed under the Apache License v2.0 diff --git a/less/sprites.less b/less/sprites.less index 8d5e40e7ab68407d6ba95b31de3b6fee6830a1e8..9bf970fa9b64a7791509c1b32f5a1743a19eb115 100644 --- a/less/sprites.less +++ b/less/sprites.less @@ -30,8 +30,14 @@ /* White icons with optional class, or on hover/active states of certain elements */ .icon-white, -.nav > .active > a > [class^="icon-"], -.nav > .active > a > [class*=" icon-"], +.nav-tabs > .active > a > [class^="icon-"], +.nav-tabs > .active > a > [class*=" icon-"], +.nav-pills > .active > a > [class^="icon-"], +.nav-pills > .active > a > [class*=" icon-"], +.nav-list > .active > a > [class^="icon-"], +.nav-list > .active > a > [class*=" icon-"], +.navbar-inverse .nav > .active > a > [class^="icon-"], +.navbar-inverse .nav > .active > a > [class*=" icon-"], .dropdown-menu > li > a:hover > [class^="icon-"], .dropdown-menu > li > a:hover > [class*=" icon-"], .dropdown-menu > .active > a > [class^="icon-"], diff --git a/less/tables.less b/less/tables.less index 853b97e3902c1ee425128e0ba3c79b3fa29d4e14..9816d8973826f194b5bce6e65d0c7edf9e2f2356 100644 --- a/less/tables.less +++ b/less/tables.less @@ -133,7 +133,7 @@ table { colgroup + tbody tr:first-child td:last-child { -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; - -moz-border-right-topleft: 4px; + -moz-border-radius-topleft: 4px; } } @@ -208,18 +208,38 @@ table { } + // TABLE BACKGROUNDS // ----------------- // Exact selectors below required to override .table-striped -.table { - tbody tr.success td { +.table tbody tr { + &.success td { background-color: @successBackground; } - tbody tr.error td { + &.error td { background-color: @errorBackground; } - tbody tr.info td { + &.warning td { + background-color: @warningBackground; + } + &.info td { background-color: @infoBackground; } } + +// Hover states for .table-hover +.table-hover tbody tr { + &.success:hover td { + background-color: darken(@successBackground, 5%); + } + &.error:hover td { + background-color: darken(@errorBackground, 5%); + } + &.warning:hover td { + background-color: darken(@warningBackground, 5%); + } + &.info:hover td { + background-color: darken(@infoBackground, 5%); + } +} diff --git a/less/tests/css-tests.css b/less/tests/css-tests.css index 6001f53aab8f2809be5c58f9a7d7c71bfb9c17c2..9edaf69bfb77008823e6cf10ac05c524fbdd57d2 100644 --- a/less/tests/css-tests.css +++ b/less/tests/css-tests.css @@ -65,3 +65,75 @@ body { .fluid-grid .span1 { background-color: #999; } + + +/* Gradients */ + +[class^="gradient-"] { + width: 100%; + height: 400px; + margin: 20px 0; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} + +.gradient-horizontal { + background-color: #333333; + background-image: -moz-linear-gradient(left, #555555, #333333); + background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#555555), to(#333333)); + background-image: -webkit-linear-gradient(left, #555555, #333333); + background-image: -o-linear-gradient(left, #555555, #333333); + background-image: linear-gradient(to right, #555555, #333333); + background-repeat: repeat-x; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff555555', endColorstr='#ff333333', GradientType=1); +} + +.gradient-vertical { + background-color: #474747; + background-image: -moz-linear-gradient(top, #555555, #333333); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#333333)); + background-image: -webkit-linear-gradient(top, #555555, #333333); + background-image: -o-linear-gradient(top, #555555, #333333); + background-image: linear-gradient(to bottom, #555555, #333333); + background-repeat: repeat-x; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff555555', endColorstr='#ff333333', GradientType=0); +} + +.gradient-directional { + background-color: #333333; + background-image: -moz-linear-gradient(45deg, #555555, #333333); + background-image: -webkit-linear-gradient(45deg, #555555, #333333); + background-image: -o-linear-gradient(45deg, #555555, #333333); + background-image: linear-gradient(45deg, #555555, #333333); + background-repeat: repeat-x; +} + +.gradient-vertical-three { + background-color: #8940a5; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#00b3ee), color-stop(50%, #7a43b6), to(#c3325f)); + background-image: -webkit-linear-gradient(#00b3ee, #7a43b6 50%, #c3325f); + background-image: -moz-linear-gradient(top, #00b3ee, #7a43b6 50%, #c3325f); + background-image: -o-linear-gradient(#00b3ee, #7a43b6 50%, #c3325f); + background-image: linear-gradient(#00b3ee, #7a43b6 50%, #c3325f); + background-repeat: no-repeat; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff00b3ee', endColorstr='#ffc3325f', GradientType=0); +} + +.gradient-radial { + background-color: #333333; + background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(#555555), to(#333333)); + background-image: -webkit-radial-gradient(circle, #555555, #333333); + background-image: -moz-radial-gradient(circle, #555555, #333333); + background-image: -o-radial-gradient(circle, #555555, #333333); + background-repeat: no-repeat; +} + +.gradient-striped { + background-color: #555555; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} \ No newline at end of file diff --git a/less/tests/css-tests.html b/less/tests/css-tests.html index 6786454cc7ea744443115cf97bdaf21b096f012a..4715143397ac9d76cf7918dd330df78376e27be5 100644 --- a/less/tests/css-tests.html +++ b/less/tests/css-tests.html @@ -597,6 +597,36 @@ <h1>Forms</h1> </div> +<h4>Buttons and button groups</h4> +<form class="form-inline"> + <button class="btn btn-success">Save</button> + <button class="btn btn-info">Add new</button> + <div class="btn-group"> + <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"> + <i class="icon-user"></i> User + <span class="caret"></span> + </a> + <ul class="dropdown-menu"> + <li><a href="#">Profile</a></li> + <li class="divider"></li> + <li><a href="#">Sign Out</a></li> + </ul> + </div> +</form> + +<h4>Horizontal form errors</h4> +<form class="form-horizontal"> + <div class="control-group error"> + <label class="control-label" for="inputError">Radio with error</label> + <div class="controls"> + <label class="radio"> + <input type="radio" id="inputError"> Oh hai + </label> + <span class="help-inline">Please correct the error</span> + </div> + </div> +</form> + <div class="row"> <div class="span4"> <h4>Prepend and append on inputs</h4> @@ -622,7 +652,7 @@ </div> </form> </div><!--/span--> - <div class="span6"> + <div class="span4"> <h4>Prepend and append with uneditable</h4> <form> <div class="input-prepend"> @@ -640,6 +670,24 @@ </div> </form> </div><!--/span--> + <div class="span4"> + <h4>Prepend with type="submit"</h4> + <form class="form-search"> + <div class="input-append"> + <input type="text" class="span2 search-query" value="" name="q"> + <input type="submit" value="Search" class="btn"> + </div> + </form> + <div class="input-append"> + <input type="text" class="span2" value="" name=""> + <input type="submit" value="Button" class="btn"> + </div> + <div class="input-append"> + <input type="text" size="16" id="appendedInputButtons" class="span2"> + <input type="submit" value="Search" class="btn"> + <button type="button" class="btn">Options</button> + </div> + </div><!--/span--> </div><!--/row--> <h4>Fluid prepended and appended inputs</h4> @@ -1131,6 +1179,36 @@ +<!-- Gradients +================================================== --> + +<div class="page-header"> + <h1>Gradients</h1> +</div> + +<h4>Horizontal</h4> +<div class="gradient-horizontal"></div> + +<h4>Vertical</h4> +<div class="gradient-vertical"></div> + +<h4>Directional</h4> +<div class="gradient-directional"></div> + +<h4>Three colors</h4> +<div class="gradient-vertical-three"></div> + +<h4>Radial</h4> +<div class="gradient-radial"></div> + +<h4>Striped</h4> +<div class="gradient-striped"></div> + + + + + + </div><!-- /container --> diff --git a/less/type.less b/less/type.less index 58723f788c98fbddd6fd6bab7fd7185726fb4079..14f65f2fa13d04c51b84556f8cf3b9c141875309 100644 --- a/less/type.less +++ b/less/type.less @@ -116,15 +116,16 @@ dd { } // Horizontal layout (like forms) .dl-horizontal { + .clearfix(); // Ensure dl clears floats if empty dd elements present dt { float: left; - width: 120px; + width: @horizontalComponentOffset - 20; clear: left; text-align: right; .text-overflow(); } dd { - margin-left: 130px; + margin-left: @horizontalComponentOffset; } } diff --git a/less/variables.less b/less/variables.less index a5c8cdd9893841e9dba79ac432d3f76669e881a5..7d6efe00506a47f1fe81d6c468e359766b849679 100644 --- a/less/variables.less +++ b/less/variables.less @@ -57,7 +57,6 @@ @headingsFontWeight: bold; // instead of browser default, bold @headingsColor: inherit; // empty to use BS default, @textColor - // Tables // ------------------------- @tableBackground: transparent; // overall background-color @@ -65,7 +64,6 @@ @tableBackgroundHover: #f5f5f5; // for hover @tableBorder: #ddd; // table and cell border - // Buttons // ------------------------- @btnBackground: @white; @@ -107,12 +105,11 @@ @dropdownDividerBottom: @white; @dropdownLinkColor: @grayDark; - @dropdownLinkColorHover: @white; -@dropdownLinkBackgroundHover: @dropdownLinkBackgroundActive; - @dropdownLinkColorActive: @dropdownLinkColor; + @dropdownLinkBackgroundActive: @linkColor; +@dropdownLinkBackgroundHover: @dropdownLinkBackgroundActive; @@ -147,6 +144,11 @@ @hrBorder: @grayLighter; +// Horizontal forms & lists +// ------------------------- +@horizontalComponentOffset: 180px; + + // Wells // ------------------------- @wellBackground: #f5f5f5; @@ -157,12 +159,12 @@ @navbarCollapseWidth: 979px; @navbarHeight: 40px; -@navbarBackground: darken(@navbarBackgroundHighlight, 5%); @navbarBackgroundHighlight: #ffffff; +@navbarBackground: darken(@navbarBackgroundHighlight, 5%); @navbarBorder: darken(@navbarBackground, 12%); -@navbarText: @gray; -@navbarLinkColor: @gray; +@navbarText: #777; +@navbarLinkColor: #777; @navbarLinkColorHover: @grayDark; @navbarLinkColorActive: @gray; @navbarLinkBackgroundHover: transparent; diff --git a/package.json b/package.json index 1e85f927bd93cc13693e9d7103c9b38b6e69ae52..f0be5d5f4264f09576b50d86a30807523bb35237 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "bootstrap" , "description": "Sleek, intuitive, and powerful front-end framework for faster and easier web development." - , "version": "2.1.0" + , "version": "2.1.1" , "keywords": ["bootstrap", "css"] , "homepage": "http://twitter.github.com/bootstrap/" , "author": "Twitter Inc."