diff --git a/Makefile b/Makefile
index e854e056b31b..3d6ac401dcae 100644
--- a/Makefile
+++ b/Makefile
@@ -28,7 +28,7 @@ build:
@echo "Compiling documentation... ${CHECK} Done"
@cat js/bootstrap-transition.js js/bootstrap-alert.js js/bootstrap-button.js js/bootstrap-carousel.js js/bootstrap-collapse.js js/bootstrap-dropdown.js js/bootstrap-modal.js js/bootstrap-tooltip.js js/bootstrap-popover.js js/bootstrap-scrollspy.js js/bootstrap-tab.js js/bootstrap-typeahead.js js/bootstrap-affix.js > docs/assets/js/bootstrap.js
@uglifyjs -nc docs/assets/js/bootstrap.js > docs/assets/js/bootstrap.min.tmp.js
- @echo "/**\n* Bootstrap.js by @fat & @mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > docs/assets/js/copyright.js
+ @echo "/**\n* Bootstrap.js v2.1.1 by @fat & @mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > docs/assets/js/copyright.js
@cat docs/assets/js/copyright.js docs/assets/js/bootstrap.min.tmp.js > docs/assets/js/bootstrap.min.js
@rm docs/assets/js/copyright.js docs/assets/js/bootstrap.min.tmp.js
@echo "Compiling and minifying javascript... ${CHECK} Done"
@@ -50,6 +50,13 @@ test:
kill -9 `cat js/tests/pid.txt`
rm js/tests/pid.txt
+#
+# CLEANS THE ROOT DIRECTORY OF PRIOR BUILDS
+#
+
+clean:
+ rm -r bootstrap
+
#
# BUILD SIMPLE BOOTSTRAP DIRECTORY
# recess & uglifyjs are required
diff --git a/README.md b/README.md
index f6f1b54633a9..d9850fda0860 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. Read more in our docs »
+ **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 daafa9180839..9259d26dca91 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;
}
@@ -814,8 +817,11 @@
.row-fluid [class*="span"] {
display: block;
float: none;
- width: auto;
+ width: 100%;
margin-left: 0;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
}
.span12,
.row-fluid .span12 {
@@ -845,6 +851,9 @@
display: inline-block;
width: auto;
}
+ .controls-row [class*="span"] + [class*="span"] {
+ margin-left: 0;
+ }
.modal {
position: fixed;
top: 20px;
@@ -870,7 +879,7 @@
input[type="radio"] {
border: 1px solid #ccc;
}
- .form-horizontal .control-group > label {
+ .form-horizontal .control-label {
float: none;
width: auto;
padding-top: 0;
@@ -944,14 +953,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 +1012,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 +1027,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 0664207aeebb..9fa6f766fc8a 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
@@ -67,6 +67,7 @@ sub {
}
img {
+ width: auto\9;
height: auto;
max-width: 100%;
vertical-align: middle;
@@ -215,6 +216,7 @@ a:hover {
[class*="span"] {
float: left;
+ min-height: 1px;
margin-left: 20px;
}
@@ -583,7 +585,7 @@ p {
.lead {
margin-bottom: 20px;
- font-size: 20px;
+ font-size: 21px;
font-weight: 200;
line-height: 30px;
}
@@ -608,6 +610,22 @@ cite {
color: #999999;
}
+.text-warning {
+ color: #c09853;
+}
+
+.text-error {
+ color: #b94a48;
+}
+
+.text-info {
+ color: #3a87ad;
+}
+
+.text-success {
+ color: #468847;
+}
+
h1,
h2,
h3,
@@ -725,9 +743,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 +769,7 @@ dd {
}
.dl-horizontal dd {
- margin-left: 130px;
+ margin-left: 180px;
}
hr {
@@ -945,8 +978,9 @@ input[type="color"],
}
input,
-textarea {
- width: 210px;
+textarea,
+.uneditable-input {
+ width: 206px;
}
textarea {
@@ -1039,7 +1073,7 @@ input[type="file"] {
select {
width: 220px;
background-color: #ffffff;
- border: 1px solid #bbb;
+ border: 1px solid #cccccc;
}
select[multiple],
@@ -1301,14 +1335,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 +1374,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 +1413,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 +1440,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 +1585,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 +1617,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 +1792,7 @@ legend + .control-group {
.form-horizontal .control-label {
float: left;
- width: 140px;
+ width: 160px;
padding-top: 5px;
text-align: right;
}
@@ -1714,21 +1800,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 +1944,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,
@@ -1873,145 +1964,145 @@ table [class*=span],
margin-left: 0;
}
-table .span1 {
+.table .span1 {
float: none;
width: 44px;
margin-left: 0;
}
-table .span2 {
+.table .span2 {
float: none;
width: 124px;
margin-left: 0;
}
-table .span3 {
+.table .span3 {
float: none;
width: 204px;
margin-left: 0;
}
-table .span4 {
+.table .span4 {
float: none;
width: 284px;
margin-left: 0;
}
-table .span5 {
+.table .span5 {
float: none;
width: 364px;
margin-left: 0;
}
-table .span6 {
+.table .span6 {
float: none;
width: 444px;
margin-left: 0;
}
-table .span7 {
+.table .span7 {
float: none;
width: 524px;
margin-left: 0;
}
-table .span8 {
+.table .span8 {
float: none;
width: 604px;
margin-left: 0;
}
-table .span9 {
+.table .span9 {
float: none;
width: 684px;
margin-left: 0;
}
-table .span10 {
+.table .span10 {
float: none;
width: 764px;
margin-left: 0;
}
-table .span11 {
+.table .span11 {
float: none;
width: 844px;
margin-left: 0;
}
-table .span12 {
+.table .span12 {
float: none;
width: 924px;
margin-left: 0;
}
-table .span13 {
+.table .span13 {
float: none;
width: 1004px;
margin-left: 0;
}
-table .span14 {
+.table .span14 {
float: none;
width: 1084px;
margin-left: 0;
}
-table .span15 {
+.table .span15 {
float: none;
width: 1164px;
margin-left: 0;
}
-table .span16 {
+.table .span16 {
float: none;
width: 1244px;
margin-left: 0;
}
-table .span17 {
+.table .span17 {
float: none;
width: 1324px;
margin-left: 0;
}
-table .span18 {
+.table .span18 {
float: none;
width: 1404px;
margin-left: 0;
}
-table .span19 {
+.table .span19 {
float: none;
width: 1484px;
margin-left: 0;
}
-table .span20 {
+.table .span20 {
float: none;
width: 1564px;
margin-left: 0;
}
-table .span21 {
+.table .span21 {
float: none;
width: 1644px;
margin-left: 0;
}
-table .span22 {
+.table .span22 {
float: none;
width: 1724px;
margin-left: 0;
}
-table .span23 {
+.table .span23 {
float: none;
width: 1804px;
margin-left: 0;
}
-table .span24 {
+.table .span24 {
float: none;
width: 1884px;
margin-left: 0;
@@ -2025,10 +2116,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 +2157,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 +2876,7 @@ table .span24 {
.navbar-fixed-bottom .dropdown .caret {
border-top: 0;
border-bottom: 4px solid #000000;
- content: "\2191";
+ content: "";
}
.dropup .dropdown-menu,
@@ -2783,7 +2900,7 @@ table .span24 {
border-radius: 0 6px 6px 6px;
}
-.dropdown-submenu:hover .dropdown-menu {
+.dropdown-submenu:hover > .dropdown-menu {
display: block;
}
@@ -2866,7 +2983,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 +3146,7 @@ button.close {
.btn-mini {
padding: 2px 6px;
font-size: 11px;
- line-height: 16px;
+ line-height: 17px;
}
.btn-block {
@@ -3047,6 +3163,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,
@@ -3284,7 +3406,8 @@ input[type="submit"].btn.btn-mini {
}
.btn-link,
-.btn-link:active {
+.btn-link:active,
+.btn-link[disabled] {
background-color: transparent;
background-image: none;
-webkit-box-shadow: none;
@@ -3307,11 +3430,17 @@ input[type="submit"].btn.btn-mini {
background-color: transparent;
}
+.btn-link[disabled]:hover {
+ color: #333333;
+ text-decoration: none;
+}
+
.btn-group {
position: relative;
*margin-left: .3em;
font-size: 0;
white-space: nowrap;
+ vertical-align: middle;
}
.btn-group:first-child {
@@ -4018,7 +4147,7 @@ input[type="submit"].btn.btn-mini {
*z-index: 2;
margin-bottom: 20px;
overflow: visible;
- color: #555555;
+ color: #777777;
}
.navbar-inner {
@@ -4037,11 +4166,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 +4198,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 +4212,7 @@ input[type="submit"].btn.btn-mini {
}
.navbar-link {
- color: #555555;
+ color: #777777;
}
.navbar-link:hover {
@@ -4087,11 +4228,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 +4325,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 +4379,7 @@ input[type="submit"].btn.btn-mini {
.navbar .nav.pull-right {
float: right;
+ margin-right: 0;
}
.navbar .nav > li {
@@ -4242,7 +4389,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 +4519,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 +4746,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 +4761,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 +4826,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 +4842,8 @@ input[type="submit"].btn.btn-mini {
background-color: #f5f5f5;
}
-.pager .next a {
+.pager .next a,
+.pager .next span {
float: right;
}
@@ -4703,25 +4852,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 66c4a6f04eb6..a6fff3c3a76f 100644
--- a/docs/assets/css/docs.css
+++ b/docs/assets/css/docs.css
@@ -132,16 +132,6 @@ hr.soften {
}
/* Download button */
-@-webkit-keyframes downloadButton {
- from { box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25), 0 2px 10px rgba(0,68,204,.5); }
- 50% { box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25), 0 2px 25px rgba(0,68,204,.9); }
- to { box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25), 0 2px 10px rgba(0,68,204,.5); }
-}
-@-moz-keyframes downloadButton {
- from { box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25), 0 2px 10px rgba(0,68,204,.5); }
- 50% { box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25), 0 2px 25px rgba(0,68,204,.9); }
- to { box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25), 0 2px 10px rgba(0,68,204,.5); }
-}
.masthead .btn {
padding: 14px 24px;
font-size: 24px;
@@ -151,19 +141,17 @@ hr.soften {
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
- -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25), 0 2px 10px rgba(0,68,204,.01);
- -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25), 0 2px 10px rgba(0,68,204,.01);
- box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25), 0 2px 10px rgba(0,68,204,.01);
- -webkit-animation-name: downloadButton;
- -moz-animation-name: downloadButton;
- -webkit-animation-duration: 1.5s;
- -moz-animation-duration: 1.5s;
- -webkit-animation-iteration-count: infinite;
- -moz-animation-iteration-count: infinite;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
+ -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
+ box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
-webkit-transition: none;
-moz-transition: none;
transition: none;
-
+}
+.masthead .btn:hover {
+ -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
+ -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
+ box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
}
.masthead .btn:active {
-webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.1);
@@ -541,7 +529,7 @@ h2 + .row {
background-color: rgba(255,0,0,.25);
}
-/* Eaxmples page
+/* Example page
------------------------- */
.bootstrap-examples p {
font-size: 13px;
@@ -647,10 +635,6 @@ h2 + .row {
form.bs-docs-example {
padding-bottom: 19px;
}
-.bs-docs-example .lead {
- font-size: 18px;
- line-height: 24px;
-}
/* Images */
.bs-docs-example-images img {
@@ -756,11 +740,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 +871,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 c6b8208a6ef9..c49d6e9dac09 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 4dd31adb22f6..51273ab9d2d8 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 d0413d6efbc7..a0ab0bfad521 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 0b87eb8a2459..5c194b4287ba 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 391d91281bc2..8116f2255388 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 ab601e9e5bf7..42370dfbef26 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 62fbc951b5dd..f1622b1c65f7 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 4ce7a16d3f3c..941372285cb3 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 df70ebdd715d..e740ac01f710 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 df2a7f7a06fa..070deb8f4dda 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 4d06dfcc9b16..ed6288531604 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 f0913d861a06..fedc90a83e1b 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 ae57221c11a7..c2ccdea21838 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.
@@ -174,7 +174,7 @@
.on('keypress', $.proxy(this.keypress, this))
.on('keyup', $.proxy(this.keyup, this))
- if ($.browser.webkit || $.browser.msie) {
+ if ($.browser.chrome || $.browser.webkit || $.browser.msie) {
this.$element.on('keydown', $.proxy(this.keydown, this))
}
diff --git a/docs/assets/js/bootstrap.js b/docs/assets/js/bootstrap.js
index 7f303eb88a10..f73fcb8e7005 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.
@@ -1797,7 +1797,7 @@
.on('keypress', $.proxy(this.keypress, this))
.on('keyup', $.proxy(this.keyup, this))
- if ($.browser.webkit || $.browser.msie) {
+ if ($.browser.chrome || $.browser.webkit || $.browser.msie) {
this.$element.on('keydown', $.proxy(this.keydown, this))
}
@@ -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 9e4ac0425ca7..760afbdf0ba3 100644
--- a/docs/assets/js/bootstrap.min.js
+++ b/docs/assets/js/bootstrap.min.js
@@ -1,6 +1,6 @@
/**
-* Bootstrap.js by @fat & @mdo
+* Bootstrap.js v2.1.1 by @fat & @mdo
* 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
Bootstrap's global default font-size
is 14px, with a line-height
of 20px. This is applied to the <body>
and all paragraphs. In addition, <p>
(paragraphs) receive a bottom margin of half their line-height (9px by default).
Bootstrap's global default font-size
is 14px, with a line-height
of 20px. This is applied to the <body>
and all paragraphs. In addition, <p>
(paragraphs) receive a bottom margin of half their line-height (10px by default).
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.
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.
@@ -154,14 +154,14 @@<small>
<strong>
For emphasizing a snippet of text with important
The following snippet of text is rendered as bold text.
<strong>rendered as bold text</strong>-
<em>
For emphasizing a snippet of text with stress
The following snippet of text is rendered as italicized text.
@@ -170,6 +170,23 @@<em>
Heads up! Feel free to use <b>
and <i>
in HTML5. <b>
is meant to highlight words or phrases without conveying additional importance while <i>
is mostly for voice, technical terms, etc.
Convey meaning through color with a handful of emphasis utility classes.
+Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.
+Etiam porta sem malesuada magna mollis euismod.
+Donec ullamcorper nulla non metus auctor fringilla.
+Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis.
+Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
++<p class="muted">Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.</p> +<p class="text-warning">Etiam porta sem malesuada magna mollis euismod.</p> +<p class="text-error">Donec ullamcorper nulla non metus auctor fringilla.</p> +<p class="text-info">Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis.</p> +<p class="text-success">Duis mollis, est non commodo luctus, nisi erat porttitor ligula.</p> ++
<abbr class="initialism">
HTML is the best thing since sliced bread.
<abbr title="attribute" class="initialism">attr</abbr>+
<abbr title="HyperText Markup Language" class="initialism">HTML</abbr>
<address>
For quoting blocks of content from another source within your document.
-Wrap <blockquote>
around any HTML as the quote. For straight quotes we recommend a <p>
.
@@ -686,6 +703,12 @@Optional row classes
Indicates a dangerous or potentially negative action. ++ + +.warning
+Indicates a warning that might need attention. +- .info
@@ -717,12 +740,18 @@Optional row classes
02/04/2012 Declined + + 3 TB - Monthly 03/04/2012 Pending + 4 +TB - Monthly +04/04/2012 +Call in to confirm +
Form control which supports multiple lines of text. Change row
attribute as necessary.
Form control which supports multiple lines of text. Change rows
attribute as necessary.
Bootstrap includes validation styles for error, warning, and success messages. To use, add the appropriate class to the surrounding .control-group
.
Bootstrap includes validation styles for error, warning, info, and success messages. To use, add the appropriate class to the surrounding .control-group
.
Heads up!
- We use .disabled
as a utility class here, similar to the common .active
class, so no prefix is required.
+ We use .disabled
as a utility class here, similar to the common .active
class, so no prefix is required. Also, this class is only for aesthetic; you must use custom JavaScript to disable links here.
Glyphicons 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 Glyphicons whenever practical.
+Glyphicons 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 Glyphicons whenever practical.
-<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> ++
You can optionally swap out active or disabled anchors for spans to remove click functionality while retaining intended styles.
++<div class="pagination"> + <ul> + <li class="disabled"><span>Prev</span></li> + <li class="active"><span>1</span></li> + ... + </ul> +</div>
<div class="page-header"> - <h1>Example page header</h1> + <h1>Example page header <small>Subtext for header</small></h1> </div>@@ -1941,7 +1951,7 @@
Mobile Safari and Mobile Opera browsers, in addition to the data-dismiss="alert"
attribute, require an href="#"
for the dismissal of alerts when using an <a>
tag.
<a href="#" class="close" data-dismiss="alert">×</button>+
<a href="#" class="close" data-dismiss="alert">×</a>
Alternatively, you may use a <button>
element with the data attribute, which we have opted to do for our docs. When using <button>
, you must include type="button"
or your forms may not submit.
<button type="button" class="close" data-dismiss="alert">×</button>diff --git a/docs/components/alert.html b/docs/components/alert.html deleted file mode 100644 index 3e7d935e55db..000000000000 --- a/docs/components/alert.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - -
Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
- - - - -One fine body...
-# | -First Name | -Last Name | -Username | -
---|---|---|---|
1 | -Mark | -Otto | -@mdo | -
2 | -Jacob | -Thornton | -@fat | -
3 | -Larry | -the Bird | -
Tight pants next level keffiyeh you probably haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown.
- - - - -Overview of the project, it's contents, and how to get started with a simple template.
+Overview of the project, its contents, and how to get started with a simple template.
Before downloading, be sure to have a code editor (we recommend Sublime Text 2) and some working knowledge of HTML and CSS. We won't walk through the source files here, but they are available for download. We'll focus on getting started with our the compiled Bootstrap files.
+Before downloading, be sure to have a code editor (we recommend Sublime Text 2) and some working knowledge of HTML and CSS. We won't walk through the source files here, but they are available for download. We'll focus on getting started with the compiled Bootstrap files.
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.
+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.
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 (bootstrap.*
), as well as compiled and minified CSS and JS (bootstrap.min.*
). The image files are compressed using ImageOptim, a Mac app for compressing PNGs.
Please note that all JavaScript plugins require jQuery to be included.
@@ -201,17 +202,20 @@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 File structure.
Now, here's a look at a typical HTML file:
+<!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>
To make this a Bootstrapped template, just include the appropriate CSS and JS files:
+<!DOCTYPE html> <html> <head> <title>Bootstrap 101 Template</title> @@ -220,6 +224,7 @@4. Basic HTML template
</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 74a45aa6dfd5..c6103995462b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -77,7 +77,7 @@Bootstrap
Add data-toggle="dropdown"
to a link or button to toggle a dropdown.
<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 @@Alert messages bootstrap-alert.js
Example alerts
-Add dismiss functionality to all alerge messages with this plugin.
+Add dismiss functionality to all alert messages with this plugin.
@@ -1261,6 +1261,36 @@Example accordion
+<div class="accordion" id="accordion2"> + <div class="accordion-group"> + <div class="accordion-heading"> + <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne"> + Collapsible Group Item #1 + </a> + </div> + <div id="collapseOne" class="accordion-body collapse in"> + <div class="accordion-inner"> + Anim pariatur cliche... + </div> + </div> + </div> + <div class="accordion-group"> + <div class="accordion-heading"> + <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo"> + Collapsible Group Item #2 + </a> + </div> + <div id="collapseTwo" class="accordion-body collapse"> + <div class="accordion-inner"> + Anim pariatur cliche... + </div> + </div> + </div> +</div> +... ++You can also use the plugin without the accordion markup. Make a button toggle the expanding and collapsing of another element.
+<button type="button" class="btn btn-danger" data-toggle="collapse" data-target="#demo"> simple collapsible </button> @@ -1606,11 +1636,11 @@Usage
Via data attributes
To easily add affix behavior to any element, just add
-data-spy="affix"
to the element you want to spy on. Then use offsets to define when to toggle the pinning of an element on and off.<div data-spy="affix" data-offset-top="200">...</body>+<div data-spy="affix" data-offset-top="200">...</div>Heads up! - It's up to you to manage the position of a pinned element. This is done by stylingaffix
,affix-top
, andaffix-bottom
. + You must manage the position of a pinned element and the behavior of its immediate parent. Position is controlled byaffix
,affix-top
, andaffix-bottom
. 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.Via JavaScript
diff --git a/docs/scaffolding.html b/docs/scaffolding.html index a8edd1705b1e..75cb761d53e3 100644 --- a/docs/scaffolding.html +++ b/docs/scaffolding.html @@ -117,7 +117,7 @@Typography and links
margin
on the bodybackground-color: white;
on the body
@baseFontFamily
, @baseFontSize
, and @baseLineHeight
attributes as our typographyic base@baseFontFamily
, @baseFontSize
, and @baseLineHeight
attributes as our typographic base@linkColor
and apply link underlines only on :hover
These styles can be found within scaffolding.less.
@@ -138,7 +138,7 @@The default Bootstrap grid system utilizes 12 columns, making for a 940px wide container without responsive features 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.
+The default Bootstrap grid system utilizes 12 columns, making for a 940px wide container without responsive features 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.
Given this example, we have .span4
and .span8
, making for 12 total columns and a complete row.
Move columns to the left using .offset*
classes. Each class increases the left margin of a column by a whole column. For example, .offset4
moves .span4
over four columns.
Move columns to the right using .offset*
classes. Each class increases the left margin of a column by a whole column. For example, .offset4
moves .span4
over four columns.
To nest your content with the default grid, add a new .row
and set of .span*
columns within an existing .span*
column. Nested rows should include a set of columns that add up to the number of columns of its parent.
Here two nested .span4
columns are placed within a .span8
.
-/* Landscape phones and down */ -@media (max-width: 480px) { ... } - -/* Landscape phone to portrait tablet */ -@media (max-width: 767px) { ... } +/* Large desktop */ +@media (min-width: 1200px) { ... } /* Portrait tablet to landscape and desktop */ @media (min-width: 768px) and (max-width: 979px) { ... } -/* Large desktop */ -@media (min-width: 1200px) { ... } +/* Landscape phone to portrait tablet */ +@media (max-width: 767px) { ... } + +/* Landscape phones and down */ +@media (max-width: 480px) { ... }diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache index 46b155234339..cc83e0d733ed 100644 --- a/docs/templates/pages/base-css.mustache +++ b/docs/templates/pages/base-css.mustache @@ -49,7 +49,7 @@ {{! Body copy }}
{{_i}}Bootstrap's global default font-size
is 14px, with a line-height
of 20px. This is applied to the <body>
and all paragraphs. In addition, <p>
(paragraphs) receive a bottom margin of half their line-height (9px by default).{{/i}}
{{_i}}Bootstrap's global default font-size
is 14px, with a line-height
of 20px. This is applied to the <body>
and all paragraphs. In addition, <p>
(paragraphs) receive a bottom margin of half their line-height (10px by default).{{/i}}
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.
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.
@@ -88,14 +88,14 @@ </p> -<strong>
{{_i}}For emphasizing a snippet of text with important{{/i}}
The following snippet of text is rendered as bold text.
<strong>rendered as bold text</strong>-
<em>
{{_i}}For emphasizing a snippet of text with stress{{/i}}
The following snippet of text is rendered as italicized text.
@@ -104,6 +104,23 @@{{_i}}Heads up!{{/i}} {{_i}}Feel free to use <b>
and <i>
in HTML5. <b>
is meant to highlight words or phrases without conveying additional importance while <i>
is mostly for voice, technical terms, etc.{{/i}}
{{_i}}Convey meaning through color with a handful of emphasis utility classes.{{/i}}
+Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.
+Etiam porta sem malesuada magna mollis euismod.
+Donec ullamcorper nulla non metus auctor fringilla.
+Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis.
+Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
++<p class="muted">Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.</p> +<p class="text-warning">Etiam porta sem malesuada magna mollis euismod.</p> +<p class="text-error">Donec ullamcorper nulla non metus auctor fringilla.</p> +<p class="text-info">Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis.</p> +<p class="text-success">Duis mollis, est non commodo luctus, nisi erat porttitor ligula.</p> ++
{{_i}}HTML is the best thing since sliced bread.{{/i}}
<abbr title="attribute" class="initialism">attr</abbr>+
<abbr title="HyperText Markup Language" class="initialism">HTML</abbr>
{{_i}}For quoting blocks of content from another source within your document.{{/i}}
-{{_i}}Wrap <blockquote>
around any HTML as the quote. For straight quotes we recommend a <p>
.{{/i}}
@@ -623,6 +640,12 @@{{_i}}Indicates a dangerous or potentially negative action.{{/i}} ++ + +.warning
+{{_i}}Indicates a warning that might need attention.{{/i}} +- .info
@@ -654,12 +677,18 @@02/04/2012 Declined + + 3 TB - Monthly 03/04/2012 Pending + 4 +TB - Monthly +04/04/2012 +Call in to confirm +
{{_i}}Form control which supports multiple lines of text. Change row
attribute as necessary.{{/i}}
{{_i}}Form control which supports multiple lines of text. Change rows
attribute as necessary.{{/i}}
{{_i}}Bootstrap includes validation styles for error, warning, and success messages. To use, add the appropriate class to the surrounding .control-group
.{{/i}}
{{_i}}Bootstrap includes validation styles for error, warning, info, and success messages. To use, add the appropriate class to the surrounding .control-group
.{{/i}}
{{_i}}Heads up!{{/i}}
- {{_i}}We use .disabled
as a utility class here, similar to the common .active
class, so no prefix is required.{{/i}}
+ {{_i}}We use .disabled
as a utility class here, similar to the common .active
class, so no prefix is required. Also, this class is only for aesthetic; you must use custom JavaScript to disable links here.{{/i}}
{{_i}}Glyphicons 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 Glyphicons whenever practical.{{/i}}
+{{_i}}Glyphicons 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 Glyphicons whenever practical.{{/i}}
-<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> ++
{{_i}}You can optionally swap out active or disabled anchors for spans to remove click functionality while retaining intended styles.{{/i}}
++<div class="pagination"> + <ul> + <li class="disabled"><span>Prev</span></li> + <li class="active"><span>1</span></li> + ... + </ul> +</div>
<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>@@ -1870,7 +1880,7 @@
{{_i}}Mobile Safari and Mobile Opera browsers, in addition to the data-dismiss="alert"
attribute, require an href="#"
for the dismissal of alerts when using an <a>
tag.{{/i}}
<a href="#" class="close" data-dismiss="alert">×</button>+
<a href="#" class="close" data-dismiss="alert">×</a>
{{_i}}Alternatively, you may use a <button>
element with the data attribute, which we have opted to do for our docs. When using <button>
, you must include type="button"
or your forms may not submit.{{/i}}
<button type="button" class="close" data-dismiss="alert">×</button>diff --git a/docs/templates/pages/getting-started.mustache b/docs/templates/pages/getting-started.mustache index 8b58e62b72c8..513124c27f2e 100644 --- a/docs/templates/pages/getting-started.mustache +++ b/docs/templates/pages/getting-started.mustache @@ -3,7 +3,7 @@
{{_i}}Overview of the project, it's contents, and how to get started with a simple template.{{/i}}
+{{_i}}Overview of the project, its contents, and how to get started with a simple template.{{/i}}
{{_i}}Before downloading, be sure to have a code editor (we recommend Sublime Text 2) and some working knowledge of HTML and CSS. We won't walk through the source files here, but they are available for download. We'll focus on getting started with our the compiled Bootstrap files.{{/i}}
+{{_i}}Before downloading, be sure to have a code editor (we recommend Sublime Text 2) and some working knowledge of HTML and CSS. We won't walk through the source files here, but they are available for download. We'll focus on getting started with the compiled Bootstrap files.{{/i}}
Fastest way to get started: get the compiled and minified versions of our CSS, JS, and images. No docs or original source files.
- +{{_i}}Fastest way to get started: get the compiled and minified versions of our CSS, JS, and images. No docs or original source files.{{/i}}
+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.
- +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.
+{{_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 (bootstrap.*
), as well as compiled and minified CSS and JS (bootstrap.min.*
). The image files are compressed using ImageOptim, a Mac app for compressing PNGs.{{/i}}
{{_i}}Please note that all JavaScript plugins require jQuery to be included.{{/i}}
@@ -130,17 +131,20 @@{{_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 File structure.{{/i}}
{{_i}}Now, here's a look at a typical HTML file:{{/i}}
+<!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>
{{_i}}To make this a Bootstrapped template, just include the appropriate CSS and JS files:{{/i}}
+<!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 @@-{{_i}}What next?{{/i}}
Head to the docs for information, examples, and code snippets, or take the next leap and customize Bootstrap for any upcoming project.
- Visit the Bootstrap docs - Customize Bootstrap +{{_i}}Head to the docs for information, examples, and code snippets, or take the next leap and customize Bootstrap for any upcoming project.{{/i}}
+ {{_i}}Visit the Bootstrap docs{{/i}} + {{_i}}Customize Bootstrap{{/i}} diff --git a/docs/templates/pages/index.mustache b/docs/templates/pages/index.mustache index 654a988469d5..f02b8d505db7 100644 --- a/docs/templates/pages/index.mustache +++ b/docs/templates/pages/index.mustache @@ -2,11 +2,11 @@Bootstrap
Sleek, intuitive, and powerful front-end framework for faster and easier web development.
-{{_i}}Download Bootstrap{{/i}}
+{{_i}}Download Bootstrap{{/i}}
- GitHub project
- Extend
-- Version 2.1.0
+- Version 2.1.1
{{_i}}Add data-toggle="dropdown"
to a link or button to toggle a dropdown.{{/i}}
<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) {{{_i}}Example alerts{{/i}}
-{{_i}}Add dismiss functionality to all alerge messages with this plugin.{{/i}}
+{{_i}}Add dismiss functionality to all alert messages with this plugin.{{/i}}
{{! /example }}@@ -1191,6 +1191,36 @@ $('#my-alert').bind('closed', function () {+<div class="accordion" id="accordion2"> + <div class="accordion-group"> + <div class="accordion-heading"> + <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne"> + {{_i}}Collapsible Group Item #1{{/i}} + </a> + </div> + <div id="collapseOne" class="accordion-body collapse in"> + <div class="accordion-inner"> + Anim pariatur cliche... + </div> + </div> + </div> + <div class="accordion-group"> + <div class="accordion-heading"> + <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo"> + {{_i}}Collapsible Group Item #2{{/i}} + </a> + </div> + <div id="collapseTwo" class="accordion-body collapse"> + <div class="accordion-inner"> + Anim pariatur cliche... + </div> + </div> + </div> +</div> +... ++{{_i}}You can also use the plugin without the accordion markup. Make a button toggle the expanding and collapsing of another element.{{/i}}
+<button type="button" class="btn btn-danger" data-toggle="collapse" data-target="#demo"> {{_i}}simple collapsible{{/i}} </button> @@ -1536,11 +1566,11 @@ $('.carousel').carousel({{{_i}}Via data attributes{{/i}}
{{_i}}To easily add affix behavior to any element, just add
-data-spy="affix"
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}}<div data-spy="affix" data-offset-top="200">...</body>+<div data-spy="affix" data-offset-top="200">...</div>{{_i}}Heads up!{{/i}} - {{_i}}It's up to you to manage the position of a pinned element. This is done by stylingaffix
,affix-top
, andaffix-bottom
.{{/i}} + {{_i}}You must manage the position of a pinned element and the behavior of its immediate parent. Position is controlled byaffix
,affix-top
, andaffix-bottom
. 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}}{{_i}}Via JavaScript{{/i}}
diff --git a/docs/templates/pages/scaffolding.mustache b/docs/templates/pages/scaffolding.mustache index 724ab5e53eed..0d9c191e3664 100644 --- a/docs/templates/pages/scaffolding.mustache +++ b/docs/templates/pages/scaffolding.mustache @@ -46,7 +46,7 @@
margin
on the body{{/i}}background-color: white;
on the body
{{/i}}@baseFontFamily
, @baseFontSize
, and @baseLineHeight
attributes as our typographyic base{{/i}}@baseFontFamily
, @baseFontSize
, and @baseLineHeight
attributes as our typographic base{{/i}}@linkColor
and apply link underlines only on :hover
{{/i}}{{_i}}These styles can be found within scaffolding.less.{{/i}}
@@ -67,7 +67,7 @@{{_i}}The default Bootstrap grid system utilizes 12 columns, making for a 940px wide container without responsive features 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}}
+{{_i}}The default Bootstrap grid system utilizes 12 columns, making for a 940px wide container without responsive features 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}}
{{_i}}Given this example, we have .span4
and .span8
, making for 12 total columns and a complete row.{{/i}}
{{_i}}Move columns to the left using .offset*
classes. Each class increases the left margin of a column by a whole column. For example, .offset4
moves .span4
over four columns.{{/i}}
{{_i}}Move columns to the right using .offset*
classes. Each class increases the left margin of a column by a whole column. For example, .offset4
moves .span4
over four columns.{{/i}}
{{_i}}To nest your content with the default grid, add a new .row
and set of .span*
columns within an existing .span*
column. Nested rows should include a set of columns that add up to the number of columns of its parent.{{/i}}
{{_i}}Here two nested .span4
columns are placed within a .span8
.{{/i}}
-/* {{_i}}Landscape phones and down{{/i}} */ -@media (max-width: 480px) { ... } - -/* {{_i}}Landscape phone to portrait tablet{{/i}} */ -@media (max-width: 767px) { ... } +/* {{_i}}Large desktop{{/i}} */ +@media (min-width: 1200px) { ... } /* {{_i}}Portrait tablet to landscape and desktop{{/i}} */ @media (min-width: 768px) and (max-width: 979px) { ... } -/* {{_i}}Large desktop{{/i}} */ -@media (min-width: 1200px) { ... } +/* {{_i}}Landscape phone to portrait tablet{{/i}} */ +@media (max-width: 767px) { ... } + +/* {{_i}}Landscape phones and down{{/i}} */ +@media (max-width: 480px) { ... }diff --git a/js/bootstrap-affix.js b/js/bootstrap-affix.js index c6b8208a6ef9..c49d6e9dac09 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 4dd31adb22f6..51273ab9d2d8 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 d0413d6efbc7..a0ab0bfad521 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 0b87eb8a2459..5c194b4287ba 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 391d91281bc2..8116f2255388 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 ab601e9e5bf7..42370dfbef26 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 62fbc951b5dd..f1622b1c65f7 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 4ce7a16d3f3c..941372285cb3 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 df70ebdd715d..e740ac01f710 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 df2a7f7a06fa..070deb8f4dda 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 4d06dfcc9b16..ed6288531604 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 f0913d861a06..fedc90a83e1b 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 ae57221c11a7..c2ccdea21838 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. @@ -174,7 +174,7 @@ .on('keypress', $.proxy(this.keypress, this)) .on('keyup', $.proxy(this.keyup, this)) - if ($.browser.webkit || $.browser.msie) { + if ($.browser.chrome || $.browser.webkit || $.browser.msie) { this.$element.on('keydown', $.proxy(this.keydown, this)) } diff --git a/js/tests/unit/bootstrap-button.js b/js/tests/unit/bootstrap-button.js index 03c4a8e9d57e..b5d08349993c 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 = $('') , btn = $('') , inner = $('') @@ -74,4 +74,23 @@ $(function () { ok(btn.hasClass('active'), 'btn has class active') }) + test("should check for closest matching toggle", function () { + var group = $("") + , btn1 = $("") + , btn2 = $("") + , wrap = $("") + + 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 4e52c8485e71..3a617692b380 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 = '