diff --git a/CHANGELOG.md b/CHANGELOG.md index 68e2850bb92b54ead21ccc8c6878d19909d4738b..154fb2c52885522300a92e3503197940e6f938fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +## 2.3.1 (February 28, 2013) + +Patch release for @fat's n00bery + +- fix missing event type in dropdown +- fix delegated data-attrs for popover/tooltip +- make carousel actually pause when you click cycle +- fix jshint ref in makefile +- fix trying to remove backdrop when no backdrop + ## 2.3.0 (February 7, 2013) Minor release to add carousel indicators, improve tooltips, improve dev setup, and fix hella bugs. diff --git a/_config.yml b/_config.yml index df0aece1cf787054102ce0bfeb2225ac644f395d..57a28e0a783450a00cc4badd216d1cb0d24b5350 100644 --- a/_config.yml +++ b/_config.yml @@ -6,7 +6,6 @@ pygments: true permalink: pretty # Server -auto: true source: ./docs destination: ./_gh_pages url: http://bootstrap.dev:9001 diff --git a/docs/_includes/colophon.html b/docs/_includes/colophon.html index ae92db140c5a0b05d1d4fa9d865f6cfc0b173ac3..5c15d7c7874a9b962ee8eb1e941fea3a844ba92a 100644 --- a/docs/_includes/colophon.html +++ b/docs/_includes/colophon.html @@ -1,6 +1,6 @@ <!-- Footer ================================================== --> -<footer class="footer"> +<footer class="bs-docs-footer"> <div class="container"> <div class="bs-docs-social"> diff --git a/docs/_includes/header.html b/docs/_includes/header.html index fe23d008e66d58f304932d63f81a15a884d990b5..f738b9146790f8266ac27b8247d794557f946009 100644 --- a/docs/_includes/header.html +++ b/docs/_includes/header.html @@ -14,9 +14,11 @@ <!-- Bootstrap core CSS --> <link href="/assets/css/bootstrap.css" rel="stylesheet"> +{% if page.layout == "default" %} <!-- Documentation extras --> <link href="/assets/css/docs.css" rel="stylesheet"> <link href="/assets/css/pygments-manni.css" rel="stylesheet"> +{% endif %} <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!--[if lt IE 9]> diff --git a/docs/_includes/masthead.html b/docs/_includes/masthead.html deleted file mode 100644 index 205b244fee598ca72e97b6842a3216739bbed578..0000000000000000000000000000000000000000 --- a/docs/_includes/masthead.html +++ /dev/null @@ -1,8 +0,0 @@ -{% raw %} -<header class="bs-docs-jumbotron subhead"> - <div class="container"> - <h1>{{ page.title }}</h1> - <p class="lead">{{ page.description }}</p> - </div> -</header> -{% endraw %} \ No newline at end of file diff --git a/docs/_includes/navbar.html b/docs/_includes/navbar.html index b9d5f027922933eda461d697bcacf5b3ea352cf7..aa333c35bfee3c2c505208b7553a046c25516171 100644 --- a/docs/_includes/navbar.html +++ b/docs/_includes/navbar.html @@ -1,13 +1,13 @@ <!-- Navbar ================================================== --> -<div class="navbar navbar-inverse navbar-fixed-top"> +<div class="navbar navbar-fixed-top bs-docs-navbar"> <div class="container"> - <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> - <a class="brand" href="/">Bootstrap</a> + <a class="navbar-brand" href="/">Bootstrap</a> <div class="nav-collapse collapse"> <ul class="nav"> <li {% if page.title == "Bootstrap" %}class="active"{% endif %}> diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html index 536dae1ba2facb33cd374329b31c2a44f1d78ae0..acab46de9255b7af48cc51aedf9c6c64224ec119 100644 --- a/docs/_layouts/default.html +++ b/docs/_layouts/default.html @@ -5,7 +5,7 @@ {% include header.html %} <!-- Place anything custom after this. --> </head> - <body data-spy="scroll" data-target=".bs-docs-sidebar"> + <body class="bs-docs-body" data-spy="scroll" data-target=".bs-docs-sidebar"> <!-- Main navbar for all docs pages. --> {% include navbar.html %} @@ -20,4 +20,4 @@ {% include footer.html %} </body> -</html> \ No newline at end of file +</html> diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index b45d7e101ebd36b9ea38f3e591f593a5d8a37af5..501bb7df2ddb98c9d43b90fdb4da3a8188db8145 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -1,18 +1,13 @@ /*! * Bootstrap v3.0.0 * - * Copyright 2012 Twitter, Inc + * Copyright 2013 Twitter, Inc * Licensed under the Apache License v2.0 * http://www.apache.org/licenses/LICENSE-2.0 * * Designed and built with all the love in the world by @mdo and @fat. */ -/*@padding-large-input: 10px 14px; // 44px -// firefox hack since it doesn't accept custom line-height for inputs and automatically sets line-height as font-size + 4 px. -// input-large at 18 + 4 = 22, so I tried to compensate on padding. -*/ - /*! normalize.css v2.1.0 | MIT License | git.io/normalize */ article, @@ -218,6 +213,58 @@ table { border-spacing: 0; } +@media print { + * { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + @page { + margin: 0.5cm; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } +} + html { font-size: 62.5%; -webkit-overflow-scrolling: touch; @@ -283,58 +330,6 @@ img { border-radius: 500px; } -@media print { - * { - color: #000 !important; - text-shadow: none !important; - background: transparent !important; - box-shadow: none !important; - } - a, - a:visited { - text-decoration: underline; - } - a[href]:after { - content: " (" attr(href) ")"; - } - abbr[title]:after { - content: " (" attr(title) ")"; - } - .ir a:after, - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; - } - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - img { - max-width: 100% !important; - } - @page { - margin: 0.5cm; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } -} - p { margin: 0 0 10px; } @@ -975,11 +970,15 @@ th { background-color: #f5f5f5; } -table td[class*="span"], -table th[class*="span"] { +table col[class^="span"] { + display: table-column; + float: none; +} + +table td[class^="span"], +table th[class^="span"] { display: table-cell; float: none; - margin-left: 0; } .table tbody tr.success > td { @@ -1135,10 +1134,6 @@ input[type="file"] { line-height: 34px; } -select { - border: 1px solid #cccccc; -} - select[multiple], select[size] { height: auto; @@ -1550,62 +1545,60 @@ select:focus:invalid:focus { border-left: 0; } -.input-group-btn, -.input-group-btn .btn { +.input-group-btn { + position: relative; white-space: nowrap; } .input-group-btn > .btn { + position: relative; float: left; border-radius: 0; } .input-group-btn > .btn + .btn { - border-left: 0; -} - -.input-group-btn.btn-group { - display: table-cell; -} - -.input-group-btn:first-child > .btn, -.input-group-btn.btn-group:first-child > .btn { - border-right: 0; + margin-left: -1px; } -.input-group-btn:first-child > .btn, -.input-group-btn.btn-group:first-child > .btn { - border-radius: 4px 0 0 4px; +.input-group-btn > .btn:hover, +.input-group-btn > .btn:active { + z-index: 2; } -.input-group-btn:first-child > .btn.btn-large, -.input-group-btn.btn-group:first-child > .btn.btn-large { - border-radius: 6px 0 0 6px; +.input-group-btn:first-child > .btn:first-child, +.input-group-btn:first-child > .dropdown-toggle:first-child { + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; } -.input-group-btn:first-child > .btn.btn-small, -.input-group-btn.btn-group:first-child > .btn.btn-small { - border-radius: 3px 0 0 3px; +.input-group-btn:first-child > .btn:first-child.btn-large, +.input-group-btn:first-child > .dropdown-toggle:first-child.btn-large { + border-bottom-left-radius: 6px; + border-top-left-radius: 6px; } -.input-group-btn:last-child > .btn, -.input-group-btn.btn-group:last-child > .btn:first-child { - border-left: 0; +.input-group-btn:first-child > .btn:first-child.btn-small, +.input-group-btn:first-child > .dropdown-toggle:first-child.btn-small { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; } -.input-group-btn:last-child > .btn, -.input-group-btn.btn-group:last-child > .btn { - border-radius: 0 4px 4px 0; +.input-group-btn:last-child > .btn:last-child, +.input-group-btn:last-child > .dropdown-toggle { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; } -.input-group-btn:last-child > .btn.btn-large, -.input-group-btn.btn-group:last-child > .btn.btn-large { - border-radius: 0 6px 6px 0; +.input-group-btn:last-child > .btn:last-child.btn-large, +.input-group-btn:last-child > .dropdown-toggle.btn-large { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; } -.input-group-btn:last-child > .btn.btn-small, -.input-group-btn.btn-group:last-child > .btn.btn-small { - border-radius: 0 3px 3px 0; +.input-group-btn:last-child > .btn:last-child.btn-small, +.input-group-btn:last-child > .dropdown-toggle.btn-small { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; } @media screen and (min-width: 768px) { @@ -1646,6 +1639,7 @@ select:focus:invalid:focus { font-weight: 500; line-height: 20px; text-align: center; + white-space: nowrap; vertical-align: middle; cursor: pointer; border: 1px solid #a7a9aa; @@ -1694,26 +1688,12 @@ fieldset[disabled] .btn { border-radius: 3px; } -.btn-mini [class^="icon-"], -.btn-mini [class*=" icon-"] { - margin-top: -1px; -} - .btn-mini { padding: 0 6px; font-size: 10.5px; border-radius: 3px; } -.btn [class^="glyphicon-"]::before { - vertical-align: -2px; -} - -.btn-small [class^="glyphicon-"]::before, -.btn-mini [class^="glyphicon-"]::before { - vertical-align: -1px; -} - .btn-block { display: block; width: 100%; @@ -3006,6 +2986,7 @@ button.close { .nav > .disabled > a:hover, .nav > .disabled > a:focus { + color: #999999; text-decoration: none; cursor: default; background-color: transparent; @@ -3034,6 +3015,26 @@ button.close { border-bottom: 1px solid #ffffff; } +.tabbable:before, +.tabbable:after { + display: table; + content: " "; +} + +.tabbable:after { + clear: both; +} + +.tab-content > .tab-pane, +.pill-content > .pill-pane { + display: none; +} + +.tab-content > .active, +.pill-content > .active { + display: block; +} + /* // Prevent IE8 from misplacing imgs // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989 @@ -3093,7 +3094,7 @@ button.close { .nav li.dropdown.open a:hover .caret { border-top-color: #fff; border-bottom-color: #fff; - .opacity(100); + .opacity(1); } // Dropdowns in stacked tabs @@ -3101,30 +3102,11 @@ button.close { border-color: @grayLight; } - - -// Tabbable tabs -// ------------------------- - -// Clear any floats -.tabbable { - .clearfix(); -} - -// Show/hide tabbable areas -.tab-content > .tab-pane, -.pill-content > .pill-pane { - display: none; -} -.tab-content > .active, -.pill-content > .active { - display: block; -} - */ .navbar { - padding: 15px; + position: relative; + padding: 10px 15px; background-color: #eeeeee; border-radius: 4px; } @@ -3163,50 +3145,79 @@ button.close { background-color: #d5d5d5; } +.navbar .nav > .disabled > a, +.navbar .nav > .disabled > a:hover, +.navbar .nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; +} + .navbar-static-top { - position: static; border-radius: 0; } .navbar-fixed-top, .navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; border-radius: 0; } -.navbar .brand { - display: inline-block; +.navbar-fixed-top { + top: 0; +} + +.navbar-fixed-bottom { + bottom: 0; +} + +.navbar-brand { + display: block; + max-width: 200px; padding: 7px 15px; + margin-right: auto; + margin-left: auto; font-size: 18px; font-weight: 500; line-height: 20px; color: #777777; + text-align: center; } -.navbar .brand:hover, -.navbar .brand:focus { +.navbar-brand:hover, +.navbar-brand:focus { color: #5e5e5e; text-decoration: none; background-color: transparent; } -.btn-navbar { - float: right; - padding: 10px 12px; - background-color: #ddd; - border: 0; +.navbar-toggle { + position: absolute; + top: 10px; + right: 10px; + padding: 8px 12px; + background-color: transparent; + border: 1px solid #ddd; border-radius: 4px; } -.btn-navbar .icon-bar { +.navbar-toggle:hover, +.navbar-toggle:focus { + background-color: #ddd; +} + +.navbar-toggle .icon-bar { display: block; - width: 20px; + width: 22px; height: 2px; - background-color: #fff; + background-color: #ccc; border-radius: 1px; } -.btn-navbar .icon-bar + .icon-bar { - margin-top: 3px; +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; } .navbar .nav > .divider { @@ -3268,12 +3279,12 @@ button.close { background-color: #222222; } -.navbar-inverse .brand { +.navbar-inverse .navbar-brand { color: #999999; } -.navbar-inverse .brand:hover, -.navbar-inverse .brand:focus { +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { color: #ffffff; background-color: transparent; } @@ -3299,8 +3310,24 @@ button.close { background-color: #080808; } -.navbar-inverse .btn-navbar { - background-color: #444; +.navbar-inverse .nav > .disabled > a, +.navbar-inverse .nav > .disabled > a:hover, +.navbar-inverse .nav > .disabled > a:focus { + color: #444444; + background-color: transparent; +} + +.navbar-inverse .navbar-toggle { + border-color: #333; +} + +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} + +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; } .navbar-inverse .nav > .divider { @@ -3337,11 +3364,11 @@ button.close { padding-top: 0; padding-bottom: 0; } - .navbar .brand { + .navbar-brand { float: left; padding-top: 15px; padding-bottom: 15px; - margin-left: -15px; + margin-left: -10px; } .navbar .nav { float: left; @@ -3371,20 +3398,10 @@ button.close { .navbar-inverse .nav > .divider { border-right-color: #2f2f2f; } - .navbar-fixed-top, - .navbar-fixed-bottom { - position: fixed; - right: 0; - left: 0; - z-index: 1030; - } - .navbar-fixed-top { - top: 0; - } - .navbar-fixed-bottom { - bottom: 0; - } - .navbar .btn-navbar { + .navbar-toggle { + position: relative; + top: auto; + left: auto; display: none; } .nav-collapse.collapse { @@ -3465,9 +3482,19 @@ button.close { } .btn-group > .btn { + position: relative; float: left; } +.btn-group > .btn + btn { + margin-left: -1px; +} + +.btn-group > .btn:hover, +.btn-group > .btn:active { + z-index: 2; +} + .btn-toolbar:before, .btn-toolbar:after { display: table; @@ -3494,10 +3521,6 @@ button.close { border-radius: 0; } -.btn-group > .btn + .btn { - margin-left: 1px; -} - .btn-group > .btn:first-child { margin-left: 0; border-bottom-left-radius: 4px; @@ -3564,28 +3587,28 @@ button.close { display: block; float: none; max-width: 100%; - border-radius: 0; -} - -.btn-group-vertical > .btn + .btn { - margin-top: 1px; - margin-left: 0; } .btn-group-vertical .btn:first-child { - border-radius: 4px 4px 0 0; + border-radius: 0; + border-top-right-radius: 4px; + border-top-left-radius: 4px; } .btn-group-vertical .btn:last-child { - border-radius: 0 0 4px 4px; + border-radius: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; } .btn-group-vertical .btn-large:first-child { - border-radius: 6px 6px 0 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; } .btn-group-vertical .btn-large:last-child { - border-radius: 0 0 6px 6px; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; } .btn-group-justified { @@ -3663,7 +3686,7 @@ button.close { .pagination > .disabled > a:focus { color: #999999; cursor: default; - background-color: transparent; + background-color: #ffffff; } .pagination > li:first-child > a, @@ -3844,6 +3867,7 @@ button.close { .modal-backdrop.fade { opacity: 0; + filter: alpha(opacity=0); } .modal-backdrop.fade.in { @@ -4268,7 +4292,59 @@ a.thumbnail:focus { list-style: none; } -.counter { +.label { + padding: .25em .6em; + font-size: 75%; + font-weight: 500; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: middle; + background-color: #999999; + border-radius: .25em; +} + +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} + +.label-danger { + background-color: #d9534f; +} + +.label-danger[href] { + background-color: #c9302c; +} + +.label-warning { + background-color: #f0ad4e; +} + +.label-warning[href] { + background-color: #ec971f; +} + +.label-success { + background-color: #5cb85c; +} + +.label-success[href] { + background-color: #449d44; +} + +.label-info { + background-color: #5bc0de; +} + +.label-info[href] { + background-color: #31b0d5; +} + +.badge { display: inline-block; min-width: 10px; padding: 3px 7px; @@ -4283,33 +4359,33 @@ a.thumbnail:focus { border-radius: 10px; } -.counter:empty { +.badge:empty { display: none; } -a.counter:hover, -a.counter:focus { +a.badge:hover, +a.badge:focus { color: #fff; text-decoration: none; cursor: pointer; } -.btn .counter { +.btn .badge { position: relative; top: -1px; } -.btn-mini .counter { +.btn-mini .badge { top: 0; } -.nav-list > .active > a > .counter, -.nav-pills > .active > a > .counter { +.nav-list > .active > a > .badge, +.nav-pills > .active > a > .badge { color: #428bca; background-color: #fff; } -.nav-pills > li > a > .counter { +.nav-pills > li > a > .badge { margin-left: 3px; } diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css index 8a06cbc4573c344982a4376ae8a17f3218430302..196cacb0fb662d3330f1ef6be39b994be41f5e2c 100644 --- a/docs/assets/css/docs.css +++ b/docs/assets/css/docs.css @@ -9,13 +9,14 @@ -------------------------------------------------- */ body { + padding-top: 54px; position: relative; /* For scrollyspy */ /* We add the padding to the body for >768px only */ } /* */ -body > .container, -.footer .container { +.bs-docs-body > .container, +.bs-docs-footer .container { padding-left: 15px; padding-right: 15px; } @@ -41,6 +42,22 @@ section > ul li { +/* Navbar +-------------------------------------------------- */ + +.bs-docs-navbar { + background-color: #fff; + border-bottom: 1px solid #ccc; /* IE8 */ + border-bottom: 1px solid rgba(0,0,0,.1); +} +.bs-docs-navbar .nav > .active > a, +.bs-docs-navbar .nav > .active > a:hover { + font-weight: 500; + background-color: transparent; +} + + + /* Jumbotrons -------------------------------------------------- */ @@ -106,23 +123,23 @@ section > ul li { /* Marketing section of Overview -------------------------------------------------- */ -.marketing { +.bs-docs-marketing { text-align: center; color: #5a5a5a; } -.marketing h1 { +.bs-docs-marketing h1 { margin: 60px 0 10px; font-size: 50px; line-height: 1; } -.marketing h2 { +.bs-docs-marketing h2 { margin-bottom: 5px; } -.marketing p { +.bs-docs-marketing p { font-size: 16px; line-height: 1.4; } -.marketing .marketing-byline { +.bs-docs-marketing .marketing-byline { margin-bottom: 40px; font-size: 21px; font-weight: 300; @@ -242,6 +259,31 @@ section > ul li { margin-bottom: 0; } +/* Typography */ +.bs-docs-example-type .table td { + color: #999; + vertical-align: middle; + border-color: ; +} +.bs-docs-example-type .table td, +.bs-docs-example-type .table th { + padding: 15px 0; + border-color: #eee; +} +.bs-docs-example-type .table tr:first-child td, +.bs-docs-example-type .table tr:first-child th { + border-top: 0; +} +.bs-docs-example-type h1, +.bs-docs-example-type h2, +.bs-docs-example-type h3, +.bs-docs-example-type h4, +.bs-docs-example-type h5, +.bs-docs-example-type h6 { + margin: 0; +} + + /* Navbar examples */ .bs-navbar-top-example, .bs-navbar-bottom-example { @@ -310,6 +352,11 @@ section > ul li { margin-left: 20px; } +/* Example tabbable tabs */ +.bs-docs-example-tabs .nav-tabs { + margin-bottom: 15px; +} + /* Example templates -------------------------------------------------- */ @@ -436,13 +483,13 @@ section > ul li { /* Footer -------------------------------------------------- */ -.footer { +.bs-docs-footer { text-align: center; padding: 30px 0; margin-top: 100px; border-top: 1px solid #e5e5e5; } -.footer p { +.bs-docs-footer p { margin-bottom: 0; color: #777; } @@ -545,6 +592,16 @@ input.focused { /* Responsive variations -------------------------------------------------- */ +/* Hide code snippets on mobile devices */ +@media screen and (max-width: 480px) { + .bs-docs-example { + border-radius: 4px; + } + .highlight { + display: none; + } +} + /* Tablets and up */ @media screen and (min-width: 768px) { diff --git a/docs/assets/img/examples/bootstrap-example-navbar-fixed-top.png b/docs/assets/img/examples/bootstrap-example-navbar-fixed-top.png new file mode 100644 index 0000000000000000000000000000000000000000..30bfebfba25d6639ea95b8b2db46c0a86cc72aff Binary files /dev/null and b/docs/assets/img/examples/bootstrap-example-navbar-fixed-top.png differ diff --git a/docs/assets/img/examples/bootstrap-example-navbar-static-top.png b/docs/assets/img/examples/bootstrap-example-navbar-static-top.png new file mode 100644 index 0000000000000000000000000000000000000000..a965782d4470c71c80413c55a597149e88286510 Binary files /dev/null and b/docs/assets/img/examples/bootstrap-example-navbar-static-top.png differ diff --git a/docs/assets/img/examples/bootstrap-example-navbar.png b/docs/assets/img/examples/bootstrap-example-navbar.png new file mode 100644 index 0000000000000000000000000000000000000000..dd1f7df0d31e89929a9dcf9afe935992af684434 Binary files /dev/null and b/docs/assets/img/examples/bootstrap-example-navbar.png differ diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js index dfe1271648cd655d7b7a7326c581c4af9b1c6273..4b0b59618e0f33ec99f0c0f3854bd05ea0c7c1da 100644 --- a/docs/assets/js/application.js +++ b/docs/assets/js/application.js @@ -34,8 +34,8 @@ }) // add tipsies to grid for scaffolding - if ($('#gridSystem').length) { - $('#gridSystem').tooltip({ + if ($('#grid-system').length) { + $('#grid-system').tooltip({ selector: '.show-grid > [class*="span"]' , title: function () { return $(this).width() + 'px' } }) diff --git a/docs/assets/js/bootstrap-carousel.js b/docs/assets/js/bootstrap-carousel.js index 83cdffd0e88cbbaea9ed85e4a85e98aac90676c0..3a9d980c4e5790435e6dec2a9e943d8b0f3ce4c9 100644 --- a/docs/assets/js/bootstrap-carousel.js +++ b/docs/assets/js/bootstrap-carousel.js @@ -75,7 +75,7 @@ if (!e) this.paused = true if (this.$element.find('.next, .prev').length && $.support.transition.end) { this.$element.trigger($.support.transition.end) - this.cycle() + this.cycle(true) } clearInterval(this.interval) this.interval = null diff --git a/docs/assets/js/bootstrap-dropdown.js b/docs/assets/js/bootstrap-dropdown.js index 605757825c36fecdc02e1e13d21e1f9f7e78a5e4..0b1663f48f0489357a8673b369aae5c93f596157 100644 --- a/docs/assets/js/bootstrap-dropdown.js +++ b/docs/assets/js/bootstrap-dropdown.js @@ -158,7 +158,7 @@ $(document) .on('click.dropdown.data-api', clearMenus) .on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) - .on('.dropdown-menu', function (e) { e.stopPropagation() }) + .on('click.dropdown-menu', function (e) { e.stopPropagation() }) .on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle) .on('keydown.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 23519b3e5367ed9da168f12ca46a0b34c00e7a21..34249a40637e34751bc89972fd1dd7ca75b1546a 100644 --- a/docs/assets/js/bootstrap-modal.js +++ b/docs/assets/js/bootstrap-modal.js @@ -148,7 +148,7 @@ } , removeBackdrop: function () { - this.$backdrop.remove() + this.$backdrop && this.$backdrop.remove() this.$backdrop = null } diff --git a/docs/assets/js/bootstrap-tooltip.js b/docs/assets/js/bootstrap-tooltip.js index 12a082f6f448ff3bb52bd2b600acacf1376ffcc2..03a65e7e1db18768d6c3190c87ec19a60144856b 100644 --- a/docs/assets/js/bootstrap-tooltip.js +++ b/docs/assets/js/bootstrap-tooltip.js @@ -80,7 +80,15 @@ } , enter: function (e) { - var self = $(e.currentTarget)[this.type](this._options).data(this.type) + var defaults = $.fn[this.type].defaults + , options = {} + , self + + this._options && $.each(this._options, function (key, value) { + if (defaults[key] != value) options[key] = value + }, this) + + self = $(e.currentTarget)[this.type](options).data(this.type) if (!self.options.delay || !self.options.delay.show) return self.show() diff --git a/docs/assets/js/bootstrap.js b/docs/assets/js/bootstrap.js index e699b5af8c702dfaf53162207ea6497e8ae95cc5..57ec0419624d23f5ae9963e9074e2d0b286e1049 100644 --- a/docs/assets/js/bootstrap.js +++ b/docs/assets/js/bootstrap.js @@ -336,7 +336,7 @@ if (!e) this.paused = true if (this.$element.find('.next, .prev').length && $.support.transition.end) { this.$element.trigger($.support.transition.end) - this.cycle() + this.cycle(true) } clearInterval(this.interval) this.interval = null @@ -791,7 +791,7 @@ $(document) .on('click.dropdown.data-api', clearMenus) .on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) - .on('.dropdown-menu', function (e) { e.stopPropagation() }) + .on('click.dropdown-menu', function (e) { e.stopPropagation() }) .on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle) .on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) @@ -946,7 +946,7 @@ } , removeBackdrop: function () { - this.$backdrop.remove() + this.$backdrop && this.$backdrop.remove() this.$backdrop = null } @@ -1129,7 +1129,15 @@ } , enter: function (e) { - var self = $(e.currentTarget)[this.type](this._options).data(this.type) + var defaults = $.fn[this.type].defaults + , options = {} + , self + + this._options && $.each(this._options, function (key, value) { + if (defaults[key] != value) options[key] = value + }, this) + + self = $(e.currentTarget)[this.type](options).data(this.type) if (!self.options.delay || !self.options.delay.show) return self.show() diff --git a/docs/assets/js/bootstrap.min.js b/docs/assets/js/bootstrap.min.js index fd6972d2ee78e02e762aed3d9074588a1ce24c59..4066061de0616bb5e3874ab45d6abe5f5ff7e132 100644 --- a/docs/assets/js/bootstrap.min.js +++ b/docs/assets/js/bootstrap.min.js @@ -3,4 +3,4 @@ * Copyright 2012 Twitter, Inc. * http://www.apache.org/licenses/LICENSE-2.0.txt */ -!function(e){"use strict";e(function(){e.support.transition=function(){var e=function(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},n;for(n in t)if(e.style[n]!==undefined)return t[n]}();return e&&{end:e}}()})}(window.jQuery),!function(e){"use strict";var t='[data-dismiss="alert"]',n=function(n){e(n).on("click",t,this.close)};n.prototype.close=function(t){function s(){i.trigger("closed").remove()}var n=e(this),r=n.attr("data-target"),i;r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),i=e(r),t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()};var r=e.fn.alert;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.fn.alert.noConflict=function(){return e.fn.alert=r,this},e(document).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")};var n=e.fn.button;e.fn.button=function(n){return this.each(function(){var r=e(this),i=r.data("button"),s=typeof n=="object"&&n;i||r.data("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.fn.button.noConflict=function(){return e.fn.button=n,this},e(document).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.$indicators=this.$element.find(".carousel-indicators"),this.options=n,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.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},getActiveIndex:function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},to:function(t){var n=this.getActiveIndex(),r=this;if(t>this.$items.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){r.to(t)}):n==t?this.pause().cycle():this.slide(t>n?"next":"prev",e(this.$items[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;this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u](),f=e.Event("slide",{relatedTarget:i[0],direction:o});if(i.hasClass("active"))return;this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var t=e(a.$indicators.children()[a.getActiveIndex()]);t&&t.addClass("active")}));if(e.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(f);if(f.isDefaultPrevented())return;i.addClass(t),i[0].offsetWidth,r.addClass(o),i.addClass(o),this.$element.one(e.support.transition.end,function(){i.removeClass([t,o].join(" ")).addClass("active"),r.removeClass(["active",o].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger("slid")},0)})}else{this.$element.trigger(f);if(f.isDefaultPrevented())return;r.removeClass("active"),i.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return s&&this.cycle(),this}};var n=e.fn.carousel;e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data("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.pause().cycle()})},e.fn.carousel.defaults={interval:5e3,pause:"hover"},e.fn.carousel.Constructor=t,e.fn.carousel.noConflict=function(){return e.fn.carousel=n,this},e(document).on("click.carousel.data-api","[data-slide], [data-slide-to]",function(t){var n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=e.extend({},i.data(),n.data()),o;i.carousel(s),(o=n.attr("data-slide-to"))&&i.data("carousel").pause().to(o).cycle(),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||this.$element.hasClass("in"))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||!this.$element.hasClass("in"))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"]()}};var n=e.fn.collapse;e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=e.extend({},e.fn.collapse.defaults,r.data(),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.fn.collapse.noConflict=function(){return e.fn.collapse=n,this},e(document).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(){e(t).each(function(){i(e(this)).removeClass("open")})}function i(t){var n=t.attr("data-target"),r;n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=n&&e(n);if(!r||!r.length)r=t.parent();return 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(n){var r,s,o,u,a,f;if(!/(38|40|27)/.test(n.keyCode))return;r=e(this),n.preventDefault(),n.stopPropagation();if(r.is(".disabled, :disabled"))return;u=i(r),a=u.hasClass("open");if(!a||a&&n.keyCode==27)return n.which==27&&u.find(t).focus(),r.click();s=e("[role=menu] li:not(.divider):visible a",u);if(!s.length)return;f=s.index(s.filter(":focus")),n.keyCode==38&&f>0&&f--,n.keyCode==40&&f<s.length-1&&f++,~f||(f=0),s.eq(f).focus()}};var s=e.fn.dropdown;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.fn.dropdown.noConflict=function(){return e.fn.dropdown=s,this},e(document).on("click.dropdown.data-api",r).on("click.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on(".dropdown-menu",function(e){e.stopPropagation()}).on("click.dropdown.data-api",t,n.prototype.toggle).on("keydown.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;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),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.focus().trigger("shown")}):t.$element.focus().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,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(){var e=this;this.$element.hide(),this.backdrop(function(){e.removeBackdrop(),e.$element.trigger("hidden")})},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.$backdrop.click(this.options.backdrop=="static"?e.proxy(this.$element[0].focus,this.$element[0]):e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in");if(!t)return;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,t):t()):t&&t()}};var n=e.fn.modal;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.fn.modal.noConflict=function(){return e.fn.modal=n,this},e(document).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()})});var r=e(document.body).on("shown",".modal",function(){r.addClass("modal-open")}).on("hidden",".modal",function(){r.removeClass("modal-open")})}(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,o,u,a;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,o=this.options.trigger.split(" ");for(a=o.length;a--;)u=o[a],u=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):u!="manual"&&(i=u=="hover"?"mouseenter":"focus",s=u=="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,this.$element.data(),t),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 t,n,r,i,s,o,u=e.Event("show");if(this.hasContent()&&this.enabled){this.$element.trigger(u);if(u.isDefaultPrevented())return;t=this.tip(),this.setContent(),this.options.animation&&t.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,t[0],this.$element[0]):this.options.placement,t.detach().css({top:0,left:0,display:"block"}),this.options.container?t.appendTo(this.options.container):t.insertAfter(this.$element),n=this.getPosition(),r=t[0].offsetWidth,i=t[0].offsetHeight;switch(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}}this.applyPlacement(o,s),this.$element.trigger("shown")}},applyPlacement:function(e,t){var n=this.tip(),r=n[0].offsetWidth,i=n[0].offsetHeight,s,o,u,a;n.offset(e).addClass(t).addClass("in"),s=n[0].offsetWidth,o=n[0].offsetHeight,t=="top"&&o!=i&&(e.top=e.top+i-o,a=!0),t=="bottom"||t=="top"?(u=0,e.left<0&&(u=e.left*-2,e.left=0,n.offset(e),s=n[0].offsetWidth,o=n[0].offsetHeight),this.replaceArrow(u-r+s,s,"left")):this.replaceArrow(o-i,o,"top"),a&&n.offset(e)},replaceArrow:function(e,t,n){this.arrow().css(n,e?50*(1-e/t)+"%":"")},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 i(){var t=setTimeout(function(){n.off(e.support.transition.end).detach()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.detach()})}var t=this,n=this.tip(),r=e.Event("hide");this.$element.trigger(r);if(r.isDefaultPrevented())return;return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?i():n.detach(),this.$element.trigger("hidden"),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")||"").attr("title","")},hasContent:function(){return this.getTitle()},getPosition:function(){var t=this.$element[0];return e.extend({},typeof t.getBoundingClientRect=="function"?t.getBoundingClientRect():{width:t.offsetWidth,height:t.offsetHeight},this.$element.offset())},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)},arrow:function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},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(t){var n=t?e(t.currentTarget)[this.type](this._options).data(this.type):this;n.tip().hasClass("in")?n.hide():n.show()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var n=e.fn.tooltip;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 focus",title:"",delay:0,html:!1,container:!1},e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}(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=(typeof n.content=="function"?n.content.call(t[0]):n.content)||t.attr("data-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)}});var n=e.fn.popover;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><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(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 n=e(this),r=n.data("target")||n.attr("href"),i=/^#\w/.test(r)&&e(r);return i&&i.length&&[[i.position().top+(!e.isWindow(t.$scrollElement.get(0))&&t.$scrollElement.scrollTop()),r]]||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")}};var n=e.fn.scrollspy;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.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=n,this},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:last a")[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")}};var n=e.fn.tab;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.fn.tab.noConflict=function(){return e.fn.tab=n,this},e(document).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.source=this.options.source,this.$menu=e(this.options.menu),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.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:t.top+t.height,left:t.left}).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("focus",e.proxy(this.focus,this)).on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this)).on("mouseleave","li",e.proxy(this.mouseleave,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t=typeof this.$element[e]=="function"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()},keydown:function(t){this.suppressKeyPressRepeat=~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:case 16:case 17:case 18: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()},focus:function(e){this.focused=!0},blur:function(e){this.focused=!1,!this.mousedover&&this.shown&&this.hide()},click:function(e){e.stopPropagation(),e.preventDefault(),this.select(),this.$element.focus()},mouseenter:function(t){this.mousedover=!0,this.$menu.find(".active").removeClass("active"),e(t.currentTarget).addClass("active")},mouseleave:function(e){this.mousedover=!1,!this.focused&&this.shown&&this.hide()}};var n=e.fn.typeahead;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.fn.typeahead.noConflict=function(){return e.fn.typeahead=n,this},e(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var n=e(this);if(n.data("typeahead"))return;n.typeahead(n.data())})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=e.extend({},e.fn.affix.defaults,n),this.$window=e(window).on("scroll.affix.data-api",e.proxy(this.checkPosition,this)).on("click.affix.data-api",e.proxy(function(){setTimeout(e.proxy(this.checkPosition,this),1)},this)),this.$element=e(t),this.checkPosition()};t.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.bottom,o=i.top,u="affix affix-top affix-bottom",a;typeof i!="object"&&(s=o=i),typeof o=="function"&&(o=i.top()),typeof s=="function"&&(s=i.bottom()),a=this.unpin!=null&&n+this.unpin<=r.top?!1:s!=null&&r.top+this.$element.height()>=t-s?"bottom":o!=null&&n<=o?"top":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a=="bottom"?r.top-n:null,this.$element.removeClass(u).addClass("affix"+(a?"-"+a:""))};var n=e.fn.affix;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.fn.affix.noConflict=function(){return e.fn.affix=n,this},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 +!function(e){"use strict";e(function(){e.support.transition=function(){var e=function(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},n;for(n in t)if(e.style[n]!==undefined)return t[n]}();return e&&{end:e}}()})}(window.jQuery),!function(e){"use strict";var t='[data-dismiss="alert"]',n=function(n){e(n).on("click",t,this.close)};n.prototype.close=function(t){function s(){i.trigger("closed").remove()}var n=e(this),r=n.attr("data-target"),i;r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),i=e(r),t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()};var r=e.fn.alert;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.fn.alert.noConflict=function(){return e.fn.alert=r,this},e(document).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")};var n=e.fn.button;e.fn.button=function(n){return this.each(function(){var r=e(this),i=r.data("button"),s=typeof n=="object"&&n;i||r.data("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.fn.button.noConflict=function(){return e.fn.button=n,this},e(document).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.$indicators=this.$element.find(".carousel-indicators"),this.options=n,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.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},getActiveIndex:function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},to:function(t){var n=this.getActiveIndex(),r=this;if(t>this.$items.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){r.to(t)}):n==t?this.pause().cycle():this.slide(t>n?"next":"prev",e(this.$items[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(!0)),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;this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u](),f=e.Event("slide",{relatedTarget:i[0],direction:o});if(i.hasClass("active"))return;this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var t=e(a.$indicators.children()[a.getActiveIndex()]);t&&t.addClass("active")}));if(e.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(f);if(f.isDefaultPrevented())return;i.addClass(t),i[0].offsetWidth,r.addClass(o),i.addClass(o),this.$element.one(e.support.transition.end,function(){i.removeClass([t,o].join(" ")).addClass("active"),r.removeClass(["active",o].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger("slid")},0)})}else{this.$element.trigger(f);if(f.isDefaultPrevented())return;r.removeClass("active"),i.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return s&&this.cycle(),this}};var n=e.fn.carousel;e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data("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.pause().cycle()})},e.fn.carousel.defaults={interval:5e3,pause:"hover"},e.fn.carousel.Constructor=t,e.fn.carousel.noConflict=function(){return e.fn.carousel=n,this},e(document).on("click.carousel.data-api","[data-slide], [data-slide-to]",function(t){var n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=e.extend({},i.data(),n.data()),o;i.carousel(s),(o=n.attr("data-slide-to"))&&i.data("carousel").pause().to(o).cycle(),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||this.$element.hasClass("in"))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||!this.$element.hasClass("in"))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"]()}};var n=e.fn.collapse;e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=e.extend({},e.fn.collapse.defaults,r.data(),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.fn.collapse.noConflict=function(){return e.fn.collapse=n,this},e(document).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(){e(t).each(function(){i(e(this)).removeClass("open")})}function i(t){var n=t.attr("data-target"),r;n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=n&&e(n);if(!r||!r.length)r=t.parent();return 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(n){var r,s,o,u,a,f;if(!/(38|40|27)/.test(n.keyCode))return;r=e(this),n.preventDefault(),n.stopPropagation();if(r.is(".disabled, :disabled"))return;u=i(r),a=u.hasClass("open");if(!a||a&&n.keyCode==27)return n.which==27&&u.find(t).focus(),r.click();s=e("[role=menu] li:not(.divider):visible a",u);if(!s.length)return;f=s.index(s.filter(":focus")),n.keyCode==38&&f>0&&f--,n.keyCode==40&&f<s.length-1&&f++,~f||(f=0),s.eq(f).focus()}};var s=e.fn.dropdown;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.fn.dropdown.noConflict=function(){return e.fn.dropdown=s,this},e(document).on("click.dropdown.data-api",r).on("click.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.dropdown-menu",function(e){e.stopPropagation()}).on("click.dropdown.data-api",t,n.prototype.toggle).on("keydown.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;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),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.focus().trigger("shown")}):t.$element.focus().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,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(){var e=this;this.$element.hide(),this.backdrop(function(){e.removeBackdrop(),e.$element.trigger("hidden")})},removeBackdrop:function(){this.$backdrop&&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.$backdrop.click(this.options.backdrop=="static"?e.proxy(this.$element[0].focus,this.$element[0]):e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in");if(!t)return;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,t):t()):t&&t()}};var n=e.fn.modal;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.fn.modal.noConflict=function(){return e.fn.modal=n,this},e(document).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()})});var r=e(document.body).on("shown",".modal",function(){r.addClass("modal-open")}).on("hidden",".modal",function(){r.removeClass("modal-open")})}(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,o,u,a;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,o=this.options.trigger.split(" ");for(a=o.length;a--;)u=o[a],u=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):u!="manual"&&(i=u=="hover"?"mouseenter":"focus",s=u=="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,this.$element.data(),t),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e.fn[this.type].defaults,r={},i;this._options&&e.each(this._options,function(e,t){n[e]!=t&&(r[e]=t)},this),i=e(t.currentTarget)[this.type](r).data(this.type);if(!i.options.delay||!i.options.delay.show)return i.show();clearTimeout(this.timeout),i.hoverState="in",this.timeout=setTimeout(function(){i.hoverState=="in"&&i.show()},i.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 t,n,r,i,s,o,u=e.Event("show");if(this.hasContent()&&this.enabled){this.$element.trigger(u);if(u.isDefaultPrevented())return;t=this.tip(),this.setContent(),this.options.animation&&t.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,t[0],this.$element[0]):this.options.placement,t.detach().css({top:0,left:0,display:"block"}),this.options.container?t.appendTo(this.options.container):t.insertAfter(this.$element),n=this.getPosition(),r=t[0].offsetWidth,i=t[0].offsetHeight;switch(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}}this.applyPlacement(o,s),this.$element.trigger("shown")}},applyPlacement:function(e,t){var n=this.tip(),r=n[0].offsetWidth,i=n[0].offsetHeight,s,o,u,a;n.offset(e).addClass(t).addClass("in"),s=n[0].offsetWidth,o=n[0].offsetHeight,t=="top"&&o!=i&&(e.top=e.top+i-o,a=!0),t=="bottom"||t=="top"?(u=0,e.left<0&&(u=e.left*-2,e.left=0,n.offset(e),s=n[0].offsetWidth,o=n[0].offsetHeight),this.replaceArrow(u-r+s,s,"left")):this.replaceArrow(o-i,o,"top"),a&&n.offset(e)},replaceArrow:function(e,t,n){this.arrow().css(n,e?50*(1-e/t)+"%":"")},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 i(){var t=setTimeout(function(){n.off(e.support.transition.end).detach()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.detach()})}var t=this,n=this.tip(),r=e.Event("hide");this.$element.trigger(r);if(r.isDefaultPrevented())return;return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?i():n.detach(),this.$element.trigger("hidden"),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")||"").attr("title","")},hasContent:function(){return this.getTitle()},getPosition:function(){var t=this.$element[0];return e.extend({},typeof t.getBoundingClientRect=="function"?t.getBoundingClientRect():{width:t.offsetWidth,height:t.offsetHeight},this.$element.offset())},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)},arrow:function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},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(t){var n=t?e(t.currentTarget)[this.type](this._options).data(this.type):this;n.tip().hasClass("in")?n.hide():n.show()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var n=e.fn.tooltip;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 focus",title:"",delay:0,html:!1,container:!1},e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}(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=(typeof n.content=="function"?n.content.call(t[0]):n.content)||t.attr("data-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)}});var n=e.fn.popover;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><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(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 n=e(this),r=n.data("target")||n.attr("href"),i=/^#\w/.test(r)&&e(r);return i&&i.length&&[[i.position().top+(!e.isWindow(t.$scrollElement.get(0))&&t.$scrollElement.scrollTop()),r]]||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")}};var n=e.fn.scrollspy;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.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=n,this},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:last a")[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")}};var n=e.fn.tab;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.fn.tab.noConflict=function(){return e.fn.tab=n,this},e(document).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.source=this.options.source,this.$menu=e(this.options.menu),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.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:t.top+t.height,left:t.left}).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("focus",e.proxy(this.focus,this)).on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this)).on("mouseleave","li",e.proxy(this.mouseleave,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t=typeof this.$element[e]=="function"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()},keydown:function(t){this.suppressKeyPressRepeat=~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:case 16:case 17:case 18: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()},focus:function(e){this.focused=!0},blur:function(e){this.focused=!1,!this.mousedover&&this.shown&&this.hide()},click:function(e){e.stopPropagation(),e.preventDefault(),this.select(),this.$element.focus()},mouseenter:function(t){this.mousedover=!0,this.$menu.find(".active").removeClass("active"),e(t.currentTarget).addClass("active")},mouseleave:function(e){this.mousedover=!1,!this.focused&&this.shown&&this.hide()}};var n=e.fn.typeahead;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.fn.typeahead.noConflict=function(){return e.fn.typeahead=n,this},e(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var n=e(this);if(n.data("typeahead"))return;n.typeahead(n.data())})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=e.extend({},e.fn.affix.defaults,n),this.$window=e(window).on("scroll.affix.data-api",e.proxy(this.checkPosition,this)).on("click.affix.data-api",e.proxy(function(){setTimeout(e.proxy(this.checkPosition,this),1)},this)),this.$element=e(t),this.checkPosition()};t.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.bottom,o=i.top,u="affix affix-top affix-bottom",a;typeof i!="object"&&(s=o=i),typeof o=="function"&&(o=i.top()),typeof s=="function"&&(s=i.bottom()),a=this.unpin!=null&&n+this.unpin<=r.top?!1:s!=null&&r.top+this.$element.height()>=t-s?"bottom":o!=null&&n<=o?"top":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a=="bottom"?r.top-n:null,this.$element.removeClass(u).addClass("affix"+(a?"-"+a:""))};var n=e.fn.affix;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.fn.affix.noConflict=function(){return e.fn.affix=n,this},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/components.html b/docs/components.html index b80eb6e714515180d9429e1423741d7a90f92ffe..5727a1759d52c0f111cf740f380293102bc22e4a 100644 --- a/docs/components.html +++ b/docs/components.html @@ -28,7 +28,8 @@ title: Components <li><a href="#navbar"><i class="glyphicon glyphicon-chevron-right"></i> Navbar</a></li> <li><a href="#breadcrumbs"><i class="glyphicon glyphicon-chevron-right"></i> Breadcrumbs</a></li> <li><a href="#pagination"><i class="glyphicon glyphicon-chevron-right"></i> Pagination</a></li> - <li><a href="#counters"><i class="glyphicon glyphicon-chevron-right"></i> Counters</a></li> + <li><a href="#labels"><i class="glyphicon glyphicon-chevron-right"></i> Labels</a></li> + <li><a href="#badges"><i class="glyphicon glyphicon-chevron-right"></i> Badges</a></li> <li><a href="#typography"><i class="glyphicon glyphicon-chevron-right"></i> Typography</a></li> <li><a href="#thumbnails"><i class="glyphicon glyphicon-chevron-right"></i> Thumbnails</a></li> <li><a href="#alerts"><i class="glyphicon glyphicon-chevron-right"></i> Alerts</a></li> @@ -765,7 +766,7 @@ title: Components <p>To start, navbars are static (not fixed to the top) and include support for a project name and basic navigation. Place one anywhere within a <code>.container</code>, which sets the width of your site and content.</p> <div class="bs-docs-example"> <div class="navbar"> - <a class="brand" href="#">Title</a> + <a class="navbar-brand" href="#">Title</a> <ul class="nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#">Link</a></li> @@ -775,7 +776,7 @@ title: Components </div><!-- /example --> {% highlight html linenos %} <div class="navbar"> - <a class="brand" href="#">Title</a> + <a class="navbar-brand" href="#">Title</a> <ul class="nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#">Link</a></li> @@ -790,11 +791,11 @@ title: Components <p>A simple link to show your brand or project name only requires an anchor tag.</p> <div class="bs-docs-example"> <div class="navbar"> - <a class="brand" href="#">Title</a> + <a class="navbar-brand" href="#">Title</a> </div> </div><!-- /example --> {% highlight html linenos %} -<a class="brand" href="#">Title</a> +<a class="navbar-brand" href="#">Title</a> {% endhighlight %} <h3>Nav links</h3> @@ -804,7 +805,7 @@ title: Components <ul class="nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#">Link</a></li> - <li><a href="#">Link</a></li> + <li class="disabled"><a href="#">Disabled</a></li> </ul> </div> </div><!-- /example --> @@ -812,22 +813,20 @@ title: Components <ul class="nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#">Link</a></li> - <li><a href="#">Link</a></li> + <li class="disabled"><a href="#">Disabled</a></li> </ul> {% endhighlight %} <p>You can easily add dividers to your nav links with an empty list item and a simple class. Just add the appropriate class to <code><li></code> elements between links. Dividers will be horizontal to start, but at resolutions above 768px they become vertical with the navigation.</p> <div class="bs-docs-example"> <div class="navbar"> - <div class="navbar-inner"> - <ul class="nav"> - <li class="active"><a href="#">Home</a></li> - <li class="divider"></li> - <li><a href="#">Link</a></li> - <li class="divider"></li> - <li><a href="#">Link</a></li> - <li class="divider"></li> - </ul> - </div> + <ul class="nav"> + <li class="active"><a href="#">Home</a></li> + <li class="divider"></li> + <li><a href="#">Link</a></li> + <li class="divider"></li> + <li><a href="#">Link</a></li> + <li class="divider"></li> + </ul> </div> </div><!-- /example --> {% highlight html linenos %} @@ -871,9 +870,9 @@ title: Components <h3>Fixed to top</h3> <p>Add <code>.navbar-fixed-top</code> and remember to account for the hidden area underneath it by adding at least 40px <code>padding</code> to the <code><body></code>. Be sure to add this after the core Bootstrap CSS and before the optional responsive CSS.</p> <div class="bs-docs-example bs-navbar-top-example"> - <div class="navbar navbar-fixed-top" style="position: absolute;"> + <div class="navbar navbar-fixed-top" style="position: absolute; top: -1px;"> <div class="container" style="width: auto;"> - <a class="brand" href="#">Title</a> + <a class="navbar-brand" href="#">Title</a> <ul class="nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#">Link</a></li> @@ -891,9 +890,9 @@ title: Components <h3>Fixed to bottom</h3> <p>Add <code>.navbar-fixed-bottom</code> instead.</p> <div class="bs-docs-example bs-navbar-bottom-example"> - <div class="navbar navbar-fixed-bottom" style="position: absolute;"> + <div class="navbar navbar-fixed-bottom" style="position: absolute; bottom: -1px;"> <div class="container" style="width: auto;"> - <a class="brand" href="#">Title</a> + <a class="navbar-brand" href="#">Title</a> <ul class="nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#">Link</a></li> @@ -913,7 +912,7 @@ title: Components <div class="bs-docs-example bs-navbar-top-example"> <div class="navbar navbar-static-top" style="margin: -1px -1px 0;"> <div class="container" style="width: auto;"> - <a class="brand" href="#">Title</a> + <a class="navbar-brand" href="#">Title</a> <ul class="nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#">Link</a></li> @@ -930,16 +929,16 @@ title: Components <h2>Responsive navbar</h2> - <p>To implement a collapsing responsive navbar, wrap your navbar content in a containing div, <code>.nav-collapse.collapse</code>, and add the navbar toggle button, <code>.btn-navbar</code>.</p> + <p>To implement a collapsing responsive navbar, wrap your navbar content in a containing div, <code>.nav-collapse.collapse</code>, and add the navbar toggle button, <code>.navbar-toggle</code>.</p> <div class="bs-docs-example"> <div class="navbar"> <div class="container"> - <a class="btn btn-navbar" data-toggle="collapse" data-target=".navbar-responsive-collapse"> + <a class="navbar-toggle" data-toggle="collapse" data-target=".navbar-responsive-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </a> - <a class="brand" href="#">Title</a> + <a class="navbar-brand" href="#">Title</a> <div class="nav-collapse collapse navbar-responsive-collapse"> <ul class="nav"> <li class="active"><a href="#">Home</a></li> @@ -958,8 +957,8 @@ title: Components </ul> </li> </ul> - <form class="navbar-search pull-left" action=""> - <input type="text" class="search-query span2" placeholder="Search"> + <form class="navbar-form pull-left" action=""> + <input type="text" class="span8" placeholder="Search"> </form> <ul class="nav pull-right"> <li><a href="#">Link</a></li> @@ -983,15 +982,15 @@ title: Components <div class="navbar"> <div class="container"> - <!-- .btn-navbar is used as the toggle for collapsed navbar content --> - <a class="btn btn-navbar" data-toggle="collapse" data-target=".navbar-responsive-collapse"> + <!-- .navbar-toggle is used as the toggle for collapsed navbar content --> + <a class="navbar-toggle" data-toggle="collapse" data-target=".navbar-responsive-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </a> <!-- Be sure to leave the brand out there if you want it shown --> - <a class="brand" href="#">Title</a> + <a class="navbar-brand" href="#">Title</a> <!-- Place everything within .navbar-collapse to hide it until above 768px --> <div class="nav-collapse collapse navbar-responsive-collapse"> @@ -1011,12 +1010,12 @@ title: Components <div class="bs-docs-example"> <div class="navbar navbar-inverse" style="position: static;"> <div class="container"> - <a class="btn btn-navbar" data-toggle="collapse" data-target=".navbar-inverse-collapse"> + <a class="navbar-toggle" data-toggle="collapse" data-target=".navbar-inverse-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </a> - <a class="brand" href="#">Title</a> + <a class="navbar-brand" href="#">Title</a> <div class="nav-collapse collapse navbar-inverse-collapse"> <ul class="nav"> <li class="active"><a href="#">Home</a></li> @@ -1035,8 +1034,8 @@ title: Components </ul> </li> </ul> - <form class="navbar-search pull-left" action=""> - <input type="text" class="search-query span2" placeholder="Search"> + <form class="navbar-form pull-left" action=""> + <input type="text" class="span8" placeholder="Search"> </form> <ul class="nav pull-right"> <li><a href="#">Link</a></li> @@ -1274,44 +1273,122 @@ title: Components - <!-- Counters + <!-- Labels + ================================================== --> + <section id="labels"> + <div class="page-header"> + <h1>Labels</h1> + </div> + <p class="lead"></p> + + <h3>Example</h3> + <div class="bs-docs-example"> + <h1>Example heading <span class="label">New</span></h1> + <h2>Example heading <span class="label">New</span></h2> + <h3>Example heading <span class="label">New</span></h3> + <h4>Example heading <span class="label">New</span></h4> + <h5>Example heading <span class="label">New</span></h5> + <h6>Example heading <span class="label">New</span></h6> + </div> +{% highlight html linenos %} +<h3>Example heading <span class="label">New</span></h3> +{% endhighlight %} + + <h3>Available variations</h3> + <p>Add any of the below mentioned modifier classes to change the appearance of a label.</p> + <table class="table table-bordered table-striped"> + <thead> + <tr> + <th>Labels</th> + <th>Markup</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <span class="label">Default</span> + </td> + <td> + <code><span class="label">Default</span></code> + </td> + </tr> + <tr> + <td> + <span class="label label-success">Success</span> + </td> + <td> + <code><span class="label label-success">Success</span></code> + </td> + </tr> + <tr> + <td> + <span class="label label-warning">Warning</span> + </td> + <td> + <code><span class="label label-warning">Warning</span></code> + </td> + </tr> + <tr> + <td> + <span class="label label-danger">Danger</span> + </td> + <td> + <code><span class="label label-danger">Danger</span></code> + </td> + </tr> + <tr> + <td> + <span class="label label-info">Info</span> + </td> + <td> + <code><span class="label label-info">Info</span></code> + </td> + </tr> + </tbody> + </table> + + </section> + + + + <!-- Badges ================================================== --> - <section id="counters"> + <section id="badges"> <div class="page-header"> - <h1>Counters</h1> + <h1>Badges</h1> </div> - <p class="lead">Easily highlight new or unread items by adding a <code><span class="counter"></code> to links, Bootstrap navs, and more.</p> + <p class="lead">Easily highlight new or unread items by adding a <code><span class="badge"></code> to links, Bootstrap navs, and more.</p> <div class="bs-docs-example"> - <a href="#">Inbox <span class="counter">42</span></a> + <a href="#">Inbox <span class="badge">42</span></a> </div> {% highlight html linenos %} -<a href="#">Inbox <span class="counter">42</span></a> +<a href="#">Inbox <span class="badge">42</span></a> {% endhighlight %} <h4>Self collapsing</h4> - <p>When there are no new or unread items, counters will simply collapse (via CSS's <code>:empty</code> selector) provided no content exists within.</p> + <p>When there are no new or unread items, badges will simply collapse (via CSS's <code>:empty</code> selector) provided no content exists within.</p> <h4>Adapts to active nav states</h4> - <p>Built-in styles are included for placing counters in active states in pill and list navigations.</p> + <p>Built-in styles are included for placing badges in active states in pill and list navigations.</p> <div class="bs-docs-example"> <ul class="nav nav-pills"> - <li class="active"><a href="#">Home <span class="counter">42</span></a></li> + <li class="active"><a href="#">Home <span class="badge">42</span></a></li> <li><a href="#">Profile</a></li> - <li><a href="#">Messages <span class="counter">3</span></a></li> + <li><a href="#">Messages <span class="badge">3</span></a></li> </ul> <br> <ul class="nav nav-list" style="max-width: 260px;"> <li class="active"> <a href="#"> - <span class="counter pull-right">42</span> + <span class="badge pull-right">42</span> Home </a> </li> <li><a href="#">Profile</a></li> <li> <a href="#"> - <span class="counter pull-right">3</span> + <span class="badge pull-right">3</span> Messages </a> </li> @@ -1321,7 +1398,7 @@ title: Components <ul class="nav nav-list"> <li class="active"> <a href="#"> - <span class="counter pull-right">42</span> + <span class="badge pull-right">42</span> Home </a> </li> @@ -1380,7 +1457,7 @@ title: Components <div class="page-header"> <h1>Thumbnails</h1> </div> - <p class="lead">Extend Bootstrap's <a href="./css.html#gridSystem">grid system</a> with the thumbnail component to easily display grids of images, videos, text, and more.</p> + <p class="lead">Extend Bootstrap's <a href="./css/#gridsystem">grid system</a> with the thumbnail component to easily display grids of images, videos, text, and more.</p> <h3>Default thumbnails</h3> <p>By default, Bootstrap's thumbnails are designed to showcase linked images with minimal required markup.</p> diff --git a/docs/css.html b/docs/css.html index 297b4ea336eac58332c57f3d6e647e4b288b01cb..69b132ce0d5b23250cc7b8050526d4141f4097bb 100644 --- a/docs/css.html +++ b/docs/css.html @@ -23,7 +23,7 @@ title: CSS <li><a href="#global"><i class="glyphicon glyphicon-chevron-right"></i> Global settings</a></li> <li><a href="#typography"><i class="glyphicon glyphicon-chevron-right"></i> Typography</a></li> <li><a href="#code"><i class="glyphicon glyphicon-chevron-right"></i> Code</a></li> - <li><a href="#gridSystem"><i class="glyphicon glyphicon-chevron-right"></i> Grid system</a></li> + <li><a href="#grid-system"><i class="glyphicon glyphicon-chevron-right"></i> Grid system</a></li> <li><a href="#tables"><i class="glyphicon glyphicon-chevron-right"></i> Tables</a></li> <li><a href="#forms"><i class="glyphicon glyphicon-chevron-right"></i> Forms</a></li> <li><a href="#buttons"><i class="glyphicon glyphicon-chevron-right"></i> Buttons</a></li> @@ -90,7 +90,39 @@ title: CSS <!-- Headings --> <h2 id="headings">Headings</h2> <p>All HTML headings, <code><h1></code> through <code><h6></code> are available.</p> - <div class="bs-docs-example"> + + <div class="bs-docs-example bs-docs-example-type"> + <table class="table"> + <tbody> + <tr> + <th><h1>Bootstrap heading</h1></th> + <td>Semibold 38px</td> + </tr> + <tr> + <th><h2>Bootstrap heading</h2></th> + <td>Semibold 32px</td> + </tr> + <tr> + <th><h3>Bootstrap heading</h3></th> + <td>Semibold 24px</td> + </tr> + <tr> + <th><h4>Bootstrap heading</h4></th> + <td>Semibold 18px</td> + </tr> + <tr> + <th><h5>Bootstrap heading</h5></th> + <td>Semibold 16px</td> + </tr> + <tr> + <th><h6>Bootstrap heading</h6></th> + <td>Semibold 12px</td> + </tr> + </tbody> + </table> + </div> + +<!-- <div class="bs-docs-example"> <h1>h1. Heading 1</h1> <h2>h2. Heading 2</h2> <h3>h3. Heading 3</h3> @@ -98,7 +130,7 @@ title: CSS <h5>h5. Heading 5</h5> <h6>h6. Heading 6</h6> </div> - + --> <!-- Body copy --> <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 (10px by default).</p> @@ -130,7 +162,7 @@ title: CSS <h2 id="emphasis">Emphasis</h2> <p>Make use of HTML's default emphasis tags with lightweight styles.</p> - <h3><code><small></code></h3> + <h3>Small text</h3> <p>For de-emphasizing inline or blocks of text, <small>use the small tag.</small></p> <div class="bs-docs-example"> <p><small>This line of text is meant to be treated as fine print.</small></p> @@ -182,11 +214,10 @@ title: CSS <p class="text-success">Duis mollis, est non commodo luctus, nisi erat porttitor ligula.</p> </div> {% highlight html linenos %} -<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-error">Donec ullamcorper nulla non metus auctor fringilla.</p> -<p class="text-success">Duis mollis, est non commodo luctus, nisi erat porttitor ligula.</p> +<p class="muted">...</p> +<p class="text-warning">...</p> +<p class="text-error">...</p> +<p class="text-success">...</p> {% endhighlight %} @@ -194,8 +225,8 @@ title: CSS <h2 id="abbreviations">Abbreviations</h2> <p>Stylized implementation of HTML's <code><abbr></code> element for abbreviations and acronyms to show the expanded version on hover. Abbreviations with a <code>title</code> attribute have a light dotted bottom border and a help cursor on hover, providing additional context on hover.</p> - <h3><code><abbr></code></h3> - <p>For expanded text on long hover of an abbreviation, include the <code>title</code> attribute.</p> + <h3>Basic abbreviation</h3> + <p>For expanded text on long hover of an abbreviation, include the <code>title</code> attribute with the <code><abbr></code> element.</p> <div class="bs-docs-example"> <p>An abbreviation of the word attribute is <abbr title="attribute">attr</abbr>.</p> </div> @@ -203,7 +234,7 @@ title: CSS <abbr title="attribute">attr</abbr> {% endhighlight %} - <h3><code><abbr class="initialism"></code></h3> + <h3>Initialism</h3> <p>Add <code>.initialism</code> to an abbreviation for a slightly smaller font-size.</p> <div class="bs-docs-example"> <p><abbr title="HyperText Markup Language" class="initialism">HTML</abbr> is the best thing since sliced bread.</p> @@ -215,10 +246,7 @@ title: CSS <!-- Addresses --> <h2 id="addresses">Addresses</h2> - <p>Present contact information for the nearest ancestor or the entire body of work.</p> - - <h3><code><address></code></h3> - <p>Preserve formatting by ending all lines with <code><br></code>.</p> + <p>Present contact information for the nearest ancestor or the entire body of work. Preserve formatting by ending all lines with <code><br></code>.</p> <div class="bs-docs-example"> <address> <strong>Twitter, Inc.</strong><br> @@ -440,7 +468,7 @@ title: CSS <!-- Grid system ================================================== --> - <section id="gridSystem"> + <section id="grid-system"> <div class="page-header"> <h1>Grid system</h1> </div> @@ -625,8 +653,8 @@ For example, <code><section></code> should be wrapped as inline. <h2>Optional classes</h2> <p>Add any of the following classes to the <code>.table</code> base class.</p> - <h3><code>.table-striped</code></h3> - <p>Adds zebra-striping to any table row within the <code><tbody></code> via the <code>:nth-child</code> CSS selector (not available in IE8).</p> + <h3>Striped</h3> + <p>Use <code>.table-striped</code> to add zebra-striping to any table row within the <code><tbody></code> via the <code>:nth-child</code> CSS selector (not available in IE8).</p> <div class="bs-docs-example"> <table class="table table-striped"> <thead> @@ -665,8 +693,8 @@ For example, <code><section></code> should be wrapped as inline. </table> {% endhighlight %} - <h3><code>.table-bordered</code></h3> - <p>Add borders and rounded corners to the table.</p> + <h3>Bordered</h3> + <p>Add <code>.table-bordered</code> for borders and rounded corners.</p> <div class="bs-docs-example"> <table class="table table-bordered"> <thead> @@ -709,8 +737,8 @@ For example, <code><section></code> should be wrapped as inline. </table> {% endhighlight %} - <h3><code>.table-hover</code></h3> - <p>Enable a hover state on table rows within a <code><tbody></code>.</p> + <h3>Hover rows</h3> + <p>Add <code>.table-hover</code> to enable a hover state on table rows within a <code><tbody></code>.</p> <div class="bs-docs-example"> <table class="table table-hover"> <thead> @@ -749,8 +777,8 @@ For example, <code><section></code> should be wrapped as inline. {% endhighlight %} - <h3><code>.table-condensed</code></h3> - <p>Makes tables more compact by cutting cell padding in half.</p> + <h3>Condensed</h3> + <p>Add <code>.table-condensed</code> to make tables more compact by cutting cell padding in half.</p> <div class="bs-docs-example"> <table class="table table-condensed"> <thead> @@ -1462,7 +1490,7 @@ For example, <code><section></code> should be wrapped as inline. <p></p> <form class="bs-docs-example"> <div class="input-group span7"> - <div class="input-group-btn btn-group"> + <div class="input-group-btn"> <button class="btn dropdown-toggle" data-toggle="dropdown">Action <span class="caret"></span></button> <ul class="dropdown-menu"> <li><a href="#">Action</a></li> @@ -1477,7 +1505,7 @@ For example, <code><section></code> should be wrapped as inline. <br> <div class="input-group span7"> <input type="text"> - <div class="input-group-btn btn-group"> + <div class="input-group-btn"> <button class="btn dropdown-toggle" data-toggle="dropdown">Action <span class="caret"></span></button> <ul class="dropdown-menu"> <li><a href="#">Action</a></li> @@ -1491,7 +1519,7 @@ For example, <code><section></code> should be wrapped as inline. </form> {% highlight html linenos %} <div class="input-group span7"> - <div class="input-group-btn btn-group"> + <div class="input-group-btn"> <button class="btn dropdown-toggle" data-toggle="dropdown">Action <span class="caret"></span></button> <ul class="dropdown-menu"> <li><a href="#">Action</a></li> @@ -1506,7 +1534,7 @@ For example, <code><section></code> should be wrapped as inline. <div class="input-group span7"> <input type="text"> - <div class="input-group-btn btn-group"> + <div class="input-group-btn"> <button class="btn dropdown-toggle" data-toggle="dropdown">Action <span class="caret"></span></button> <ul class="dropdown-menu"> <li><a href="#">Action</a></li> @@ -1522,7 +1550,7 @@ For example, <code><section></code> should be wrapped as inline. <h4>Segmented dropdown groups</h4> <form class="bs-docs-example"> <div class="input-group span7"> - <div class="input-group-btn btn-group"> + <div class="input-group-btn"> <button class="btn" tabindex="-1">Action</button> <button class="btn dropdown-toggle" data-toggle="dropdown" tabindex="-1"> <span class="caret"></span> @@ -1542,7 +1570,7 @@ For example, <code><section></code> should be wrapped as inline. <div class="input-group span7"> <input type="text"> - <div class="input-group-btn btn-group"> + <div class="input-group-btn"> <button class="btn" tabindex="-1">Action</button> <button class="btn dropdown-toggle" data-toggle="dropdown" tabindex="-1"> <span class="caret"></span> @@ -1559,7 +1587,7 @@ For example, <code><section></code> should be wrapped as inline. </form> {% highlight html linenos %} <div class="input-group span7"> - <div class="input-group-btn btn-group"> + <div class="input-group-btn"> <!-- Button and dropdown menu --> </div> <input type="text"> @@ -1722,52 +1750,37 @@ For example, <code><section></code> should be wrapped as inline. <h2>Default buttons</h2> <p>Button styles can be applied to anything with the <code>.btn</code> class applied. However, typically you'll want to apply these to only <code><a></code> and <code><button></code> elements for the best rendering.</p> - <table class="table table-bordered table-striped"> - <thead> - <tr> - <th>Button</th> - <th>class=""</th> - <th>Description</th> - </tr> - </thead> - <tbody> - <tr> - <td><button type="button" class="btn btn-default">Default</button></td> - <td><code>btn</code></td> - <td>Standard gray button with gradient</td> - </tr> - <tr> - <td><button type="button" class="btn btn-primary">Primary</button></td> - <td><code>btn btn-primary</code></td> - <td>Provides extra visual weight and identifies the primary action in a set of buttons</td> - </tr> - <tr> - <td><button type="button" class="btn btn-success">Success</button></td> - <td><code>btn btn-success</code></td> - <td>Indicates a successful or positive action</td> - </tr> - <tr> - <td><button type="button" class="btn btn-info">Info</button></td> - <td><code>btn btn-info</code></td> - <td>Contextual button for informational alert messages</td> - </tr> - <tr> - <td><button type="button" class="btn btn-warning">Warning</button></td> - <td><code>btn btn-warning</code></td> - <td>Indicates caution should be taken with this action</td> - </tr> - <tr> - <td><button type="button" class="btn btn-danger">Danger</button></td> - <td><code>btn btn-danger</code></td> - <td>Indicates a dangerous or potentially negative action</td> - </tr> - <tr> - <td><button type="button" class="btn btn-link">Link</button></td> - <td><code>btn btn-link</code></td> - <td>Deemphasize a button by making it look like a link while maintaining button behavior</td> - </tr> - </tbody> - </table> + <div class="bs-docs-example"> + <button type="button" class="btn btn-default">Default</button> + <button type="button" class="btn btn-primary">Primary</button> + <button type="button" class="btn btn-success">Success</button> + <button type="button" class="btn btn-info">Info</button> + <button type="button" class="btn btn-warning">Warning</button> + <button type="button" class="btn btn-danger">Danger</button> + <button type="button" class="btn btn-link">Link</button> + </div> +{% highlight html linenos %} +<!-- Standard gray button with gradient --> +<button type="button" class="btn btn-default">Default</button> + +<!-- Provides extra visual weight and identifies the primary action in a set of buttons --> +<button type="button" class="btn btn-primary">Primary</button> + +<!-- Indicates a successful or positive action --> +<button type="button" class="btn btn-success">Success</button> + +<!-- Contextual button for informational alert messages --> +<button type="button" class="btn btn-info">Info</button> + +<!-- Indicates caution should be taken with this action --> +<button type="button" class="btn btn-warning">Warning</button> + +<!-- Indicates a dangerous or potentially negative action --> +<button type="button" class="btn btn-danger">Danger</button> + +<!-- Deemphasize a button by making it look like a link while maintaining button behavior --> +<button type="button" class="btn btn-link">Link</button> +{% endhighlight %} <h4>Cross browser compatibility</h4> <p>IE9 doesn't crop background gradients on rounded corners, so we remove it. Related, IE9 jankifies disabled <code>button</code> elements, rendering text gray with a nasty text-shadow that we cannot fix.</p> @@ -2215,7 +2228,7 @@ For example, <code><section></code> should be wrapped as inline. </div> <p class="lead">For faster mobile-friendly development, use these utility classes for showing and hiding content by device via media query.</p> - <table class="table table-bordered table-striped responsive-utilities"> + <table class="table table-bordered table-striped responsive-utilities hidden-phone"> <thead> <tr> <th>Class</th> diff --git a/docs/customize.html b/docs/customize.html index 9a503ff8f40651997493999ead63bd6532263033..014a48f5e4c8161dca2732e89ba9a8ed6872231e 100644 --- a/docs/customize.html +++ b/docs/customize.html @@ -44,6 +44,7 @@ title: Customize and download <div class="span3"> <h3>Scaffolding</h3> <label class="checkbox"><input checked="checked" type="checkbox" value="reset.less"> Normalize and reset</label> + <label class="checkbox"><input checked="checked" type="checkbox" value="print.less"> Print</label> <label class="checkbox"><input checked="checked" type="checkbox" value="scaffolding.less"> Body type and links</label> <label class="checkbox"><input checked="checked" type="checkbox" value="grid.less"> Grid system</label> <label class="checkbox"><input checked="checked" type="checkbox" value="layouts.less"> Layouts</label> diff --git a/docs/examples/grid.html b/docs/examples/grid.html new file mode 100644 index 0000000000000000000000000000000000000000..4fc724a5a844939b24f5ea927abc611457485991 --- /dev/null +++ b/docs/examples/grid.html @@ -0,0 +1,64 @@ +--- +layout: example +title: Grid template +--- + +<!-- Custom styles for this template --> +<style> + + /* Show grid styles from docs.css + -------------------------------------------------- */ + + .show-grid { + margin-bottom: 15px; + } + .show-grid [class^="span"] { + padding-top: 10px; + padding-bottom: 10px; + background-color: #eee; + border: 1px solid #ddd; + } + .show-grid [class*="span"]:hover { + background-color: #ddd; + } + +</style> + + +<div class="container"> + + <div class="page-header"> + <h1>Grids</h1> + </div> + + <h2>Default grid columns</h2> + <div class="bs-docs-grid"> + <div class="row show-grid"> + <div class="span1">1</div> + <div class="span1">1</div> + <div class="span1">1</div> + <div class="span1">1</div> + <div class="span1">1</div> + <div class="span1">1</div> + <div class="span1">1</div> + <div class="span1">1</div> + <div class="span1">1</div> + <div class="span1">1</div> + <div class="span1">1</div> + <div class="span1">1</div> + </div> + <div class="row show-grid"> + <div class="span4">4</div> + <div class="span4">4</div> + <div class="span4">4</div> + </div> + <div class="row show-grid"> + <div class="span6">6</div> + <div class="span6">6</div> + </div> + <div class="row show-grid"> + <div class="span12">12</div> + </div> + </div> + +</div> <!-- /container --> diff --git a/docs/examples/jumbotron-narrow.html b/docs/examples/jumbotron-narrow.html index 6a73900457328dacf4381a819119df5ef8487f08..b9a26c757868ad4b1cedb1daf61ebc4bc7ae7097 100644 --- a/docs/examples/jumbotron-narrow.html +++ b/docs/examples/jumbotron-narrow.html @@ -12,7 +12,7 @@ title: Narrow page template } /* Everything but the jumbotron gets side spacing for mobile-first views */ - .masthead, + .header, .marketing, .footer { padding-left: 15px; @@ -20,17 +20,24 @@ title: Narrow page template } /* Custom page header */ - .masthead { + .header { border-bottom: 1px solid #e5e5e5; } /* Make the masthead heading the same height as the navigation */ - .masthead h3 { + .header h3 { margin-top: 0; margin-bottom: 0; line-height: 40px; padding-bottom: 19px; } + /* Custom page footer */ + .footer { + padding-top: 19px; + color: #777; + border-top: 1px solid #e5e5e5; + } + /* Custom container */ .container-narrow { margin: 0 auto; @@ -43,10 +50,7 @@ title: Narrow page template /* Main marketing message and sign up button */ .jumbotron { text-align: center; - } - .jumbotron h1 { - font-size: 72px; - line-height: 1; + border-bottom: 1px solid #e5e5e5; } .jumbotron .btn { font-size: 21px; @@ -64,23 +68,27 @@ title: Narrow page template /* Responsive: Portrait tablets and up */ @media screen and (min-width: 768px) { /* Remove the padding we set earlier */ - .masthead, + .header, .marketing, .footer { padding-left: 0; padding-right: 0; } /* Space out the masthead */ - .masthead { + .header { margin-bottom: 30px; } + /* Remove the bottom border on the jumbotron for visual effect */ + .jumbotron { + border-bottom: 0; + } } </style> <div class="container-narrow"> - <div class="masthead"> + <div class="header"> <ul class="nav nav-pills pull-right"> <li class="active"><a href="#">Home</a></li> <li><a href="#">About</a></li> @@ -90,7 +98,7 @@ title: Narrow page template </div> <div class="jumbotron"> - <h1>Super awesome marketing speak!</h1> + <h1>Jumbotron heading</h1> <p class="lead">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p> <p><a class="btn btn-large btn-success" href="#">Sign up today</a></p> </div> @@ -119,8 +127,6 @@ title: Narrow page template </div> </div> - <hr> - <div class="footer"> <p>© Company 2013</p> </div> diff --git a/docs/examples/navbar-fixed-top.html b/docs/examples/navbar-fixed-top.html new file mode 100644 index 0000000000000000000000000000000000000000..e1f1c882adb09ce37b122224720f57992c8d44cc --- /dev/null +++ b/docs/examples/navbar-fixed-top.html @@ -0,0 +1,67 @@ +--- +layout: example +title: Fixed navbar template +--- + +<!-- Custom styles for this template --> +<style> + + body { + padding-top: 60px; + } + + .jumbotron { + margin-top: 20px; + } + +</style> + + + <!-- Fixed navbar --> + <div class="navbar navbar-fixed-top"> + <div class="container"> + <a class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse"> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </a> + <a class="navbar-brand" href="#">Project name</a> + <div class="nav-collapse collapse"> + <ul class="nav"> + <li class="active"><a href="#">Home</a></li> + <li><a href="#about">About</a></li> + <li><a href="#contact">Contact</a></li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> + <ul class="dropdown-menu"> + <li><a href="#">Action</a></li> + <li><a href="#">Another action</a></li> + <li><a href="#">Something else here</a></li> + <li class="divider"></li> + <li class="nav-header">Nav header</li> + <li><a href="#">Separated link</a></li> + <li><a href="#">One more separated link</a></li> + </ul> + </li> + </ul> + <ul class="nav pull-right"> + <li><a href="/examples/navbar/">Default</a></li> + <li><a href="/examples/navbar-static-top/">Static top</a></li> + <li class="active"><a href="/examples/navbar-fixed-top/">Fixed top</a></li> + </ul> + </div><!--/.nav-collapse --> + </div> + </div> + + <div class="container"> + + <!-- Main component for a primary marketing message or call to action --> + <div class="jumbotron"> + <h1>Navbar example</h1> + <p>This example is a quick exercise to illustrate how the default, static navbar and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.</p> + <p> + <a class="btn btn-large btn-primary" href="../../components/#navbar">View navbar docs »</a> + </p> + </div> + + </div> <!-- /container --> diff --git a/docs/examples/navbar-static-top.html b/docs/examples/navbar-static-top.html new file mode 100644 index 0000000000000000000000000000000000000000..2679a670b802c00f6df712857f9e32c6b14b0d19 --- /dev/null +++ b/docs/examples/navbar-static-top.html @@ -0,0 +1,64 @@ +--- +layout: example +title: Static navbar template +--- + +<!-- Custom styles for this template --> +<style> + + .jumbotron { + margin-top: 30px; + } + +</style> + + +<!-- Static navbar --> +<div class="navbar navbar-static-top"> + <div class="container"> + <a class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse"> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </a> + <a class="navbar-brand" href="#">Project name</a> + <div class="nav-collapse collapse"> + <ul class="nav"> + <li class="active"><a href="#">Home</a></li> + <li><a href="#about">About</a></li> + <li><a href="#contact">Contact</a></li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> + <ul class="dropdown-menu"> + <li><a href="#">Action</a></li> + <li><a href="#">Another action</a></li> + <li><a href="#">Something else here</a></li> + <li class="divider"></li> + <li class="nav-header">Nav header</li> + <li><a href="#">Separated link</a></li> + <li><a href="#">One more separated link</a></li> + </ul> + </li> + </ul> + <ul class="nav pull-right"> + <li><a href="/examples/navbar/">Default</a></li> + <li class="active"><a href="/examples/navbar-static-top/">Static top</a></li> + <li><a href="/examples/navbar-fixed-top/">Fixed top</a></li> + </ul> + </div><!--/.nav-collapse --> + </div> +</div> + + +<div class="container"> + + <!-- Main component for a primary marketing message or call to action --> + <div class="jumbotron"> + <h1>Navbar example</h1> + <p>This example is a quick exercise to illustrate how the default, static navbar and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.</p> + <p> + <a class="btn btn-large btn-primary" href="../../components/#navbar">View navbar docs »</a> + </p> + </div> + +</div> <!-- /container --> diff --git a/docs/examples/navbar.html b/docs/examples/navbar.html new file mode 100644 index 0000000000000000000000000000000000000000..6cba51dc537d30285e316bd5efea23ef10bbf419 --- /dev/null +++ b/docs/examples/navbar.html @@ -0,0 +1,67 @@ +--- +layout: example +title: Navbar template +--- + +<!-- Custom styles for this template --> +<style> + + body { + padding: 30px; + } + + .navbar { + margin-bottom: 30px; + } + +</style> + + +<div class="container"> + + <!-- Static navbar --> + <div class="navbar"> + <div class="container"> + <a class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse"> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </a> + <a class="navbar-brand" href="#">Project name</a> + <div class="nav-collapse collapse"> + <ul class="nav"> + <li class="active"><a href="#">Home</a></li> + <li><a href="#about">About</a></li> + <li><a href="#contact">Contact</a></li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> + <ul class="dropdown-menu"> + <li><a href="#">Action</a></li> + <li><a href="#">Another action</a></li> + <li><a href="#">Something else here</a></li> + <li class="divider"></li> + <li class="nav-header">Nav header</li> + <li><a href="#">Separated link</a></li> + <li><a href="#">One more separated link</a></li> + </ul> + </li> + </ul> + <ul class="nav pull-right"> + <li class="active"><a href="/examples/navbar/">Default</a></li> + <li><a href="/examples/navbar-static-top/">Static top</a></li> + <li><a href="/examples/navbar-fixed-top/">Fixed top</a></li> + </ul> + </div><!--/.nav-collapse --> + </div> + </div> + + <!-- Main component for a primary marketing message or call to action --> + <div class="jumbotron"> + <h1>Navbar example</h1> + <p>This example is a quick exercise to illustrate how the default, static navbar and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.</p> + <p> + <a class="btn btn-large btn-primary" href="../../components/#navbar">View navbar docs »</a> + </p> + </div> + +</div> <!-- /container --> diff --git a/docs/gallery.html b/docs/gallery.html index ea8ad632a8231d79a477c6b807ff9016f2e857d7..d80e6bdae5ff0ea30fd1b93b738551e5731c1d04 100644 --- a/docs/gallery.html +++ b/docs/gallery.html @@ -69,7 +69,7 @@ title: Gallery </div> <div class="span4"> <a class="thumbnail" href="http://www.gathercontent.com/" target="_blank"> - <img src="assets/img/example-sites/example-gathercontent.jpg" alt="Gather Content"> + <img src="/assets/img/example-sites/example-gathercontent.jpg" alt="Gather Content"> </a> </div> <div class="span4"> diff --git a/docs/getting-started.html b/docs/getting-started.html index 08a51ee103ce3d438cad78e3f1508aadc46b15cc..e8cecc2fc3dd978a1690e03cf82d5363b65a6b3f 100644 --- a/docs/getting-started.html +++ b/docs/getting-started.html @@ -175,61 +175,91 @@ description: Overview of the project, its contents, and how to get started with <p class="lead">Move beyond the base template with a few example layouts. We encourage folks to iterate on these examples and not simply use them as an end result.</p> <div class="row bs-docs-examples"> <div class="span4"> - <a class="thumbnail" href="/examples/starter-template/"> + <a class="thumbnail" href="/examples/starter-template/" target="_blank"> <img src="/assets/img/examples/bootstrap-example-starter.png" alt=""> </a> <h4>Starter template</h4> <p>A barebones HTML document with all the Bootstrap CSS and JavaScript included.</p> </div> <div class="span4"> - <a class="thumbnail" href="/examples/jumbotron/"> + <a class="thumbnail" href="/examples/jumbotron/" target="_blank"> <img src="/assets/img/examples/bootstrap-example-marketing.png" alt=""> </a> <h4>Basic marketing site</h4> <p>Featuring a hero unit for a primary message and three supporting elements.</p> </div> <div class="span4"> - <a class="thumbnail" href="/examples/jumbotron-narrow/"> + <a class="thumbnail" href="/examples/jumbotron-narrow/" target="_blank"> <img src="/assets/img/examples/bootstrap-example-jumbotron-narrow.png" alt=""> </a> <h4>Narrow marketing</h4> <p>Slim, lightweight marketing template for small projects or teams.</p> </div> <div class="span4"> - <a class="thumbnail" href="/examples/justified-nav/"> + <a class="thumbnail" href="/examples/justified-nav/" target="_blank"> <img src="/assets/img/examples/bootstrap-example-justified-nav.png" alt=""> </a> <h4>Justified nav</h4> <p>Marketing page with equal-width navigation links in a modified navbar.</p> </div> <div class="span4"> - <a class="thumbnail" href="/examples/signin/"> + <a class="thumbnail" href="/examples/signin/" target="_blank"> <img src="/assets/img/examples/bootstrap-example-signin.png" alt=""> </a> <h4>Sign in</h4> <p>Barebones sign in form with custom, larger form controls and a flexible layout.</p> </div> <div class="span4"> - <a class="thumbnail" href="/examples/sticky-footer/"> + <a class="thumbnail" href="/examples/sticky-footer/" target="_blank"> <img src="/assets/img/examples/bootstrap-example-sticky-footer.png" alt=""> </a> <h4>Sticky footer</h4> <p>Pin a fixed-height footer to the bottom of the user's viewport.</p> </div> <div class="span4"> - <a class="thumbnail" href="/examples/sticky-footer-navbar/"> + <a class="thumbnail" href="/examples/sticky-footer-navbar/" target="_blank"> <img src="/assets/img/examples/bootstrap-example-sticky-footer-navbar.png" alt=""> </a> <h4>Sticky footer w/ navbar</h4> <p>Add a fixed navbar to the default sticky footer template.</p> </div> <div class="span4"> - <a class="thumbnail" href="/examples/carousel/"> + <a class="thumbnail" href="/examples/carousel/" target="_blank"> <img src="/assets/img/examples/bootstrap-example-carousel.png" alt=""> </a> <h4>Carousel jumbotron</h4> <p>An interactive riff on the basic marketing site featuring a prominent carousel.</p> </div> + + + <div class="span4"> + <a class="thumbnail" href="/examples/navbar/" target="_blank"> + <img src="/assets/img/examples/bootstrap-example-navbar.png" alt=""> + </a> + <h4>Navbar</h4> + <p>Basic template for showcasing how the navbar works.</p> + </div> + <div class="span4"> + <a class="thumbnail" href="/examples/navbar-static-top/" target="_blank"> + <img src="/assets/img/examples/bootstrap-example-navbar-static-top.png" alt=""> + </a> + <h4>Static top navbar</h4> + <p>Basic template for showcasing the static navbar variation.</p> + </div> + <div class="span4"> + <a class="thumbnail" href="/examples/navbar-fixed-top/" target="_blank"> + <img src="/assets/img/examples/bootstrap-example-navbar-fixed-top.png" alt=""> + </a> + <h4>Fixed top navbar</h4> + <p>Basic template for showcasing the fixed navbar variation.</p> + </div> + <div class="span4"> + <a class="thumbnail" href="/examples/grid/" target="_blank"> + <img src="/assets/img/examples/bootstrap-example-.png" alt=""> + </a> + <h4>Grid examples</h4> + <p></p> + </div> </div> </section> diff --git a/docs/index.html b/docs/index.html index fda34426450dd6af013f402c1dc761b394b13bd0..fff655973334eda07f9a33528207ba3734219e28 100644 --- a/docs/index.html +++ b/docs/index.html @@ -15,7 +15,7 @@ title: Bootstrap <a href="http://github.com/twitter/bootstrap" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'GitHub project']);">GitHub project</a> </li> <li> - <a href="./getting-started.html#examples" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'Examples']);">Examples</a> + <a href="./getting-started/#examples" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'Examples']);">Examples</a> </li> <li>Version 3.0.0</li> </ul> @@ -24,7 +24,7 @@ title: Bootstrap <div class="container"> - <div class="marketing"> + <div class="bs-docs-marketing"> <h1>Introducing Bootstrap.</h1> <p class="marketing-byline">Need reasons to love Bootstrap? Look no further.</p> @@ -43,12 +43,12 @@ title: Bootstrap <div class="span4"> <img class="marketing-img" src="assets/img/bs-docs-bootstrap-features.png"> <h2>Packed with features.</h2> - <p>A 12-column responsive <a href="./scaffolding.html#gridSystem">grid</a>, dozens of components, <a href="./javascript.html">JavaScript plugins</a>, typography, form controls, and even a <a href="./customize.html">web-based Customizer</a> to make Bootstrap your own.</p> + <p>A 12-column responsive <a href="./css/#grid-system">grid</a>, dozens of components, <a href="./javascript/">JavaScript plugins</a>, typography, form controls, and even a <a href="./customize/">web-based Customizer</a> to make Bootstrap your own.</p> </div> </div> <h1>Built with Bootstrap.</h1> - <p class="marketing-byline">For more sites built with Bootstrap, <a href="./gallery.html">visit the gallery</a> or <a href="./getting-started.html#examples">browse the examples</a>.</p> + <p class="marketing-byline">For more sites built with Bootstrap, <a href="./gallery/">visit the gallery</a> or <a href="./getting-started/#examples">browse the examples</a>.</p> <div class="row bs-docs-gallery"> <div class="span3"> <a class="thumbnail" href="http://delicious.com"> diff --git a/docs/javascript.html b/docs/javascript.html index 875563f50580acf15229fd455760af51e3e4474f..3194ce8bcf49bd38a8847e8588d3a6c454987ab4 100644 --- a/docs/javascript.html +++ b/docs/javascript.html @@ -622,7 +622,7 @@ $('[data-spy="scroll"]').each(function () { <h2>Example tabs</h2> <p>Add quick, dynamic tab functionality to transition through panes of local content, even via dropdown menus.</p> - <div class="bs-docs-example"> + <div class="bs-docs-example bs-docs-example-tabs"> <ul id="myTab" class="nav nav-tabs"> <li class="active"><a href="#home" data-toggle="tab">Home</a></li> <li><a href="#profile" data-toggle="tab">Profile</a></li> diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js index 83cdffd0e88cbbaea9ed85e4a85e98aac90676c0..3a9d980c4e5790435e6dec2a9e943d8b0f3ce4c9 100644 --- a/js/bootstrap-carousel.js +++ b/js/bootstrap-carousel.js @@ -75,7 +75,7 @@ if (!e) this.paused = true if (this.$element.find('.next, .prev').length && $.support.transition.end) { this.$element.trigger($.support.transition.end) - this.cycle() + this.cycle(true) } clearInterval(this.interval) this.interval = null diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js index 605757825c36fecdc02e1e13d21e1f9f7e78a5e4..0b1663f48f0489357a8673b369aae5c93f596157 100644 --- a/js/bootstrap-dropdown.js +++ b/js/bootstrap-dropdown.js @@ -158,7 +158,7 @@ $(document) .on('click.dropdown.data-api', clearMenus) .on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) - .on('.dropdown-menu', function (e) { e.stopPropagation() }) + .on('click.dropdown-menu', function (e) { e.stopPropagation() }) .on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle) .on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js index 23519b3e5367ed9da168f12ca46a0b34c00e7a21..34249a40637e34751bc89972fd1dd7ca75b1546a 100644 --- a/js/bootstrap-modal.js +++ b/js/bootstrap-modal.js @@ -148,7 +148,7 @@ } , removeBackdrop: function () { - this.$backdrop.remove() + this.$backdrop && this.$backdrop.remove() this.$backdrop = null } diff --git a/js/bootstrap-tooltip.js b/js/bootstrap-tooltip.js index 12a082f6f448ff3bb52bd2b600acacf1376ffcc2..03a65e7e1db18768d6c3190c87ec19a60144856b 100644 --- a/js/bootstrap-tooltip.js +++ b/js/bootstrap-tooltip.js @@ -80,7 +80,15 @@ } , enter: function (e) { - var self = $(e.currentTarget)[this.type](this._options).data(this.type) + var defaults = $.fn[this.type].defaults + , options = {} + , self + + this._options && $.each(this._options, function (key, value) { + if (defaults[key] != value) options[key] = value + }, this) + + self = $(e.currentTarget)[this.type](options).data(this.type) if (!self.options.delay || !self.options.delay.show) return self.show() diff --git a/js/tests/unit/bootstrap-modal.js b/js/tests/unit/bootstrap-modal.js index 98aa990a67a14b47f07604c1316fcfd364b3ce78..b0096f8ed3932b86bafea552842f03a23c73e542 100644 --- a/js/tests/unit/bootstrap-modal.js +++ b/js/tests/unit/bootstrap-modal.js @@ -117,4 +117,21 @@ $(function () { }) .modal("toggle") }) + + test("should allow modal close with 'backdrop:false'", function () { + stop() + $.support.transition = false + var div = $("<div>", { id: 'modal-test', "data-backdrop": false }) + div + .bind("shown", function () { + ok($('#modal-test').is(":visible"), 'modal visible') + div.modal("hide") + }) + .bind("hidden", function() { + ok(!$('#modal-test').is(":visible"), 'modal hidden') + div.remove() + start() + }) + .modal("show") + }) }) \ No newline at end of file diff --git a/less/counters.less b/less/badges.less similarity index 81% rename from less/counters.less rename to less/badges.less index e4e44ab79fec5d71926ecf53a52b7d4853ce4c98..4f1e71edae7b5c461751d49d61732b3c4752832c 100644 --- a/less/counters.less +++ b/less/badges.less @@ -1,10 +1,10 @@ // -// Labels and badges +// Badges // -------------------------------------------------- // Base classes -.counter { +.badge { display: inline-block; min-width: 10px; padding: 3px 7px; @@ -25,7 +25,7 @@ } // Hover state, but only for links -a.counter { +a.badge { &:hover, &:focus { color: #fff; @@ -36,23 +36,23 @@ a.counter { // Quick fix for labels/badges in buttons .btn { - .counter { + .badge { position: relative; top: -1px; } } .btn-mini { - .counter { + .badge { top: 0; } } // Account for counters in navs -.nav-list > .active > a > .counter, -.nav-pills > .active > a > .counter { +.nav-list > .active > a > .badge, +.nav-pills > .active > a > .badge { color: @link-color; background-color: #fff; } -.nav-pills > li > a > .counter { +.nav-pills > li > a > .badge { margin-left: 3px; } diff --git a/less/bootstrap.less b/less/bootstrap.less index 0a4dd9ca5a9838454285962718531ca4b26bf654..461f9eceac15868dd1420c4014f77ef03935b359 100644 --- a/less/bootstrap.less +++ b/less/bootstrap.less @@ -1,7 +1,7 @@ /*! * Bootstrap v3.0.0 * - * Copyright 2012 Twitter, Inc + * Copyright 2013 Twitter, Inc * Licensed under the Apache License v2.0 * http://www.apache.org/licenses/LICENSE-2.0 * @@ -9,11 +9,12 @@ */ // Core variables and mixins -@import "variables.less"; // Modify this for custom colors, font-sizes, etc +@import "variables.less"; @import "mixins.less"; // Reset @import "normalize.less"; +@import "print.less"; // Core CSS @import "scaffolding.less"; @@ -49,7 +50,8 @@ @import "alerts.less"; @import "thumbnails.less"; @import "media.less"; -@import "counters.less"; +@import "labels.less"; +@import "badges.less"; @import "progress-bars.less"; @import "accordion.less"; @import "carousel.less"; diff --git a/less/button-groups.less b/less/button-groups.less index b6c052ca41a101ad9db146c132d4ecde675baede..ddb549e4b6bff123f97b4829a26c89b27a0407fa 100644 --- a/less/button-groups.less +++ b/less/button-groups.less @@ -16,7 +16,17 @@ display: inline-block; vertical-align: middle; // match .btn alignment given font-size hack above > .btn { + position: relative; float: left; + // Prevent double borders when buttons are next to each other + + btn { + margin-left: -1px; + } + // Bring the "active" button to the front + &:hover, + &:active { + z-index: 2; + } } } @@ -41,32 +51,26 @@ position: relative; border-radius: 0; } -.btn-group > .btn + .btn { - margin-left: 1px; -} + // Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match .btn-group > .btn:first-child { margin-left: 0; - border-top-left-radius: @border-radius-base; - border-bottom-left-radius: @border-radius-base; + .border-left-radius(@border-radius-base); } // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it .btn-group > .btn:last-child, .btn-group > .dropdown-toggle { - border-top-right-radius: @border-radius-base; - border-bottom-right-radius: @border-radius-base; + .border-right-radius(@border-radius-base); } // Reset corners for large buttons .btn-group > .btn.large:first-child { margin-left: 0; - border-top-left-radius: @border-radius-large; - border-bottom-left-radius: @border-radius-large; + .border-left-radius(@border-radius-large); } .btn-group > .btn.large:last-child, .btn-group > .large.dropdown-toggle { - border-top-right-radius: @border-radius-large; - border-bottom-right-radius: @border-radius-large; + .border-right-radius(@border-radius-large); } // On active and open, don't show outline @@ -119,29 +123,24 @@ // Vertical button groups // ---------------------- -.btn-group-vertical { -} .btn-group-vertical > .btn { display: block; float: none; - border-radius: 0; max-width: 100%; } -.btn-group-vertical > .btn + .btn { - margin-left: 0; - margin-top: 1px; -} .btn-group-vertical .btn:first-child { - border-radius: @border-radius-base @border-radius-base 0 0; + border-radius: 0; // Needs to be here for specificity since we're not zeroing them out again + .border-top-radius(@border-radius-base); } .btn-group-vertical .btn:last-child { - border-radius: 0 0 @border-radius-base @border-radius-base; + border-radius: 0; // Needs to be here for specificity since we're not zeroing them out again + .border-bottom-radius(@border-radius-base); } .btn-group-vertical .btn-large:first-child { - border-radius: @border-radius-large @border-radius-large 0 0; + .border-top-radius(@border-radius-large); } .btn-group-vertical .btn-large:last-child { - border-radius: 0 0 @border-radius-large @border-radius-large; + .border-bottom-radius(@border-radius-large); } diff --git a/less/buttons.less b/less/buttons.less index 4b278383fac8fdb68b63389a79f679a23e95b519..7eaaeb13fa0b3f3c15b1c44944b660e5ee4e28b3 100644 --- a/less/buttons.less +++ b/less/buttons.less @@ -19,6 +19,7 @@ cursor: pointer; border: 1px solid @btn-border; border-radius: @border-radius-base; + white-space: nowrap; &:focus { .tab-focus(); @@ -41,7 +42,7 @@ &[disabled], fieldset[disabled] & { cursor: default; - .opacity(65); + .opacity(.65); .box-shadow(none); } @@ -64,10 +65,6 @@ font-size: @font-size-small; border-radius: @border-radius-small; } -.btn-mini [class^="icon-"], -.btn-mini [class*=" icon-"] { - margin-top: -1px; -} // Mini .btn-mini { @@ -80,10 +77,7 @@ // Icons in buttons // ------------------------- -.btn [class^="glyphicon-"]::before { vertical-align: -2px; } -.btn-small [class^="glyphicon-"]::before, -.btn-mini [class^="glyphicon-"]::before { vertical-align: -1px; } - +// TODO: figure this shit out // Block button // ------------------------- diff --git a/less/carousel.less b/less/carousel.less index b95a582c6299e360b743a705f48772617d6650a2..7c75a519b61456c7087601b9e85976c1a2475567 100644 --- a/less/carousel.less +++ b/less/carousel.less @@ -75,7 +75,7 @@ left: 0; bottom: 0; width: 15%; - .opacity(50); + .opacity(.5); font-size: 20px; color: #fff; text-align: center; @@ -105,7 +105,7 @@ &:focus { color: #fff; text-decoration: none; - .opacity(90); + .opacity(.9); } // Toggles diff --git a/less/close.less b/less/close.less index de6560ec1f8695bcd0afa4c7475137648b51ab5f..2bfe9c40ff8e32f9f4cfbda5540a9f92a0da6903 100644 --- a/less/close.less +++ b/less/close.less @@ -10,13 +10,13 @@ line-height: @line-height-base; color: #000; text-shadow: 0 1px 0 rgba(255,255,255,1); - .opacity(20); + .opacity(.2); &:hover, &:focus { color: #000; text-decoration: none; cursor: pointer; - .opacity(50); + .opacity(.5); } } diff --git a/less/forms.less b/less/forms.less index 883bf1cf21ba881534f1f27152ab9ce4c40bd6e2..1aba99ce015df78572c67febd341375b331b3bd5 100644 --- a/less/forms.less +++ b/less/forms.less @@ -138,12 +138,6 @@ input[type="file"] { line-height: @input-height-base; } -// Make select elements obey height by applying a border -// TODO: See if this can be part of the above selector stack -select { - border: 1px solid @input-border; -} - // Make multiple select elements height not fixed select[multiple], select[size] { @@ -231,7 +225,6 @@ textarea { } // Radios and checkboxes on same line -// TODO v3: Convert .inline to .control-inline .radio-inline, .checkbox-inline { display: inline-block; @@ -510,52 +503,43 @@ select:focus:invalid { // Button input groups // ------------------------- -.input-group-btn, -.input-group-btn .btn { +.input-group-btn { + position: relative; white-space: nowrap; } .input-group-btn > .btn { + position: relative; float: left; // Collapse white-space border-radius: 0; + .btn { - border-left: 0; + margin-left: -1px; } -} -.input-group-btn.btn-group { - display: table-cell; -} -// Prepend -.input-group-btn { - &:first-child > .btn, - &.btn-group:first-child > .btn { - border-right: 0; - } - &:first-child > .btn, - &.btn-group:first-child > .btn { - border-radius: @border-radius-base 0 0 @border-radius-base; - &.btn-large { - border-radius:@border-radius-large 0 0 @border-radius-large; - } - &.btn-small { - border-radius:@border-radius-small 0 0 @border-radius-small; - } + // Bring the "active" button to the front + &:hover, + &:active { + z-index: 2; } } -// Append -.input-group-btn { - &:last-child > .btn, - &.btn-group:last-child > .btn:first-child { - border-left: 0; + +// Prepended buttons +.input-group-btn:first-child { + // Round the left corners only + > .btn:first-child, + > .dropdown-toggle:first-child { + .border-left-radius(@border-radius-base); + &.btn-large { .border-left-radius(@border-radius-large); } + &.btn-small { .border-left-radius(@border-radius-small); } } - &:last-child > .btn, - &.btn-group:last-child > .btn { - border-radius: 0 @border-radius-base @border-radius-base 0; - &.btn-large { - border-radius: 0 @border-radius-large @border-radius-large 0; - } - &.btn-small { - border-radius: 0 @border-radius-small @border-radius-small 0; - } +} + +// Appended buttons +.input-group-btn:last-child { + // Round the right corners only + > .btn:last-child, + > .dropdown-toggle { + .border-right-radius(@border-radius-base); + &.btn-large { .border-right-radius(@border-radius-large); } + &.btn-small { .border-right-radius(@border-radius-small); } } } @@ -564,7 +548,6 @@ select:focus:invalid { // Horizontal forms // -------------------------------------------------- - @media screen and (min-width: 768px) { .form-horizontal { diff --git a/less/labels.less b/less/labels.less new file mode 100644 index 0000000000000000000000000000000000000000..2592d044468139d3c705665d324fab4b36333aa2 --- /dev/null +++ b/less/labels.less @@ -0,0 +1,46 @@ +// +// Labels +// -------------------------------------------------- + + +// Base classes +.label { + padding: .25em .6em; + font-size: 75%; + font-weight: 500; + color: #fff; + line-height: 1; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: @grayLight; + border-radius: .25em; +} + +// Hover state, but only for links +a.label { + &:hover, + &:focus { + color: #fff; + text-decoration: none; + cursor: pointer; + } +} + +// Colors +// Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute) +.label { + // Danger (red) + &-danger { background-color: @label-danger-background; } + &-danger[href] { background-color: darken(@label-danger-background, 10%); } + // Warnings (orange) + &-warning { background-color: @label-warning-background; } + &-warning[href] { background-color: darken(@label-warning-background, 10%); } + // Success (green) + &-success { background-color: @label-success-background; } + &-success[href] { background-color: darken(@label-success-background, 10%); } + // Info (turquoise) + &-info { background-color: @label-info-background; } + &-info[href] { background-color: darken(@label-info-background, 10%); } +} + diff --git a/less/mixins.less b/less/mixins.less index ad1597121785c1644b484f2e38c61c1ae388a12e..67e2ed689a8d7af4c597283c9517296a4004c0b9 100644 --- a/less/mixins.less +++ b/less/mixins.less @@ -291,8 +291,10 @@ // Opacity .opacity(@opacity) { - opacity: @opacity / 100; - filter: ~"alpha(opacity=@{opacity})"; // IE8 + opacity: @opacity; + // IE8 filter + @opacity-ie: @opacity * 100; + filter: ~"alpha(opacity=@{opacity-ie})"; } diff --git a/less/modals.less b/less/modals.less index 9c0d0c7b0375c55f0a8733be77c12f26edadcb5a..076c39be3594ec7713b0f7ae2ae8ba23d0998ede 100644 --- a/less/modals.less +++ b/less/modals.less @@ -67,8 +67,8 @@ z-index: @zindex-modal-background - 10; background-color: #000; // Fade for backdrop - &.fade { opacity: 0; } - &.fade.in { .opacity(50);} + &.fade { .opacity(0); } + &.fade.in { .opacity(.5); } } // Modal header diff --git a/less/navbar.less b/less/navbar.less index b82534e4304fe109e1e93adbf3f2f61e76ab007a..6c385332f02daee2b45b64eee996d2d2ea07285b 100644 --- a/less/navbar.less +++ b/less/navbar.less @@ -4,7 +4,8 @@ // Wrapper and base class .navbar { - padding: 15px; + position: relative; + padding: 10px 15px; background-color: @navbar-bg; border-radius: @border-radius-base; // Prevent floats from breaking the navbar @@ -16,7 +17,8 @@ .navbar { .nav { - margin-top: 15px; // space out from .navbar .brand and .btn-navbar + // space out from .navbar .brand and .btn-navbar + margin-top: 15px; } .nav > li > a { padding-top: (@navbar-height - @line-height-base) / 2; @@ -35,6 +37,12 @@ color: @navbar-link-color-active; background-color: @navbar-link-bg-active; } + .nav > .disabled > a, + .nav > .disabled > a:hover, + .nav > .disabled > a:focus { + color: @navbar-link-color-disabled; + background-color: @navbar-link-bg-disabled; + } } @@ -45,15 +53,20 @@ // Static navbar .navbar-static-top { - position: static; border-radius: 0; } -// Fixed navbars aren't fixed to start; that comes at >768px +// Fix the top/bottom navbars when screen real estate supports it .navbar-fixed-top, .navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: @zindex-navbar-fixed; border-radius: 0; } +.navbar-fixed-top { top: 0; } +.navbar-fixed-bottom { bottom: 0; } @@ -62,13 +75,17 @@ // -------------------------------------------------- // Brand/project name -.navbar .brand { - display: inline-block; +.navbar-brand { + display: block; + max-width: 200px; + margin-left: auto; + margin-right: auto; padding: 7px 15px; font-size: 18px; font-weight: 500; line-height: @line-height-base; color: @navbar-brand-color; + text-align: center; &:hover, &:focus { color: @navbar-brand-color-hover; @@ -78,23 +95,30 @@ } // Collapsible navbar toggle -.btn-navbar { - float: right; - padding: 10px 12px; - background-color: #ddd; - border: 0; +.navbar-toggle { + position: absolute; + top: 10px; + right: 10px; + padding: 8px 12px; + background-color: transparent; + border: 1px solid #ddd; border-radius: 4px; + &:hover, + &:focus { + background-color: #ddd; + } + // Bars .icon-bar { display: block; - width: 20px; + width: 22px; height: 2px; - background-color: #fff; + background-color: #ccc; border-radius: 1px; } .icon-bar + .icon-bar { - margin-top: 3px; + margin-top: 4px; } } @@ -165,7 +189,7 @@ .navbar-inverse { background-color: @navbar-inverse-bg; - .brand { + .navbar-brand { color: @navbar-inverse-brand-color; &:hover, &:focus { @@ -192,10 +216,23 @@ color: @navbar-inverse-link-color-active; background-color: @navbar-inverse-link-bg-active; } + .nav > .disabled > a, + .nav > .disabled > a:hover, + .nav > .disabled > a:focus { + color: @navbar-inverse-link-color-disabled; + background-color: @navbar-inverse-link-bg-disabled; + } // Darken the responsive nav toggle - .btn-navbar { - background-color: #444; + .navbar-toggle { + border-color: #333; + &:hover, + &:focus { + background-color: #333; + } + .icon-bar { + background-color: #fff; + } } // Darken dividers @@ -237,11 +274,11 @@ padding-top: 0; padding-bottom: 0; } - .navbar .brand { + .navbar-brand { float: left; padding-top: (@navbar-height - @line-height-base) / 2; padding-bottom: (@navbar-height - @line-height-base) / 2; - margin-left: -15px; + margin-left: -10px; } .navbar .nav { float: left; @@ -270,19 +307,11 @@ border-right-color: lighten(@navbar-inverse-bg, 5%); } - // Fix the top/bottom navbars when screen real estate supports it - .navbar-fixed-top, - .navbar-fixed-bottom { - position: fixed; - right: 0; - left: 0; - z-index: @zindex-navbar-fixed; - } - .navbar-fixed-top { top: 0; } - .navbar-fixed-bottom { bottom: 0; } - // Required to make the collapsing navbar work on regular desktops - .navbar .btn-navbar { + .navbar-toggle { + position: relative; + top: auto; + left: auto; display: none; } .nav-collapse.collapse { diff --git a/less/navs.less b/less/navs.less index 6eb12d76b4df97c14bfc2420046fe6a0555b8073..33b5ec3fe8aaebbffad915fed973513c18656808 100644 --- a/less/navs.less +++ b/less/navs.less @@ -156,6 +156,7 @@ // Nuke hover effects .nav > .disabled > a:hover, .nav > .disabled > a:focus { + color: @grayLight; text-decoration: none; background-color: transparent; cursor: default; @@ -186,6 +187,26 @@ +// Tabbable tabs +// ------------------------- + +// Clear any floats +.tabbable { + .clearfix(); +} + +// Show/hide tabbable areas +.tab-content > .tab-pane, +.pill-content > .pill-pane { + display: none; +} +.tab-content > .active, +.pill-content > .active { + display: block; +} + + + /* // Prevent IE8 from misplacing imgs // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989 @@ -245,7 +266,7 @@ .nav li.dropdown.open a:hover .caret { border-top-color: #fff; border-bottom-color: #fff; - .opacity(100); + .opacity(1); } // Dropdowns in stacked tabs @@ -253,24 +274,4 @@ border-color: @grayLight; } - - -// Tabbable tabs -// ------------------------- - -// Clear any floats -.tabbable { - .clearfix(); -} - -// Show/hide tabbable areas -.tab-content > .tab-pane, -.pill-content > .pill-pane { - display: none; -} -.tab-content > .active, -.pill-content > .active { - display: block; -} - */ diff --git a/less/pagination.less b/less/pagination.less index 037c4754582e598ec2ef3189e40206eaa0d54ea6..4cb4767cff36bcee2a7f4d0b082dbf60195a5975 100644 --- a/less/pagination.less +++ b/less/pagination.less @@ -35,7 +35,7 @@ .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { color: @grayLight; - background-color: transparent; + background-color: @pagination-background; cursor: default; } .pagination > li:first-child > a, diff --git a/less/print.less b/less/print.less new file mode 100644 index 0000000000000000000000000000000000000000..c7e78e234dd0875d82c03a37852a397790f9b1b9 --- /dev/null +++ b/less/print.less @@ -0,0 +1,69 @@ +// +// Basic print styles +// -------------------------------------------------- +// Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css + +@media print { + + * { + text-shadow: none !important; + color: #000 !important; // Black prints faster: h5bp.com/s + background: transparent !important; + box-shadow: none !important; + } + + a, + a:visited { + text-decoration: underline; + } + + a[href]:after { + content: " (" attr(href) ")"; + } + + abbr[title]:after { + content: " (" attr(title) ")"; + } + + // Don't show links for images, or javascript/internal links + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + + thead { + display: table-header-group; // h5bp.com/t + } + + tr, + img { + page-break-inside: avoid; + } + + img { + max-width: 100% !important; + } + + @page { + margin: 0.5cm; + } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { + page-break-after: avoid; + } +} diff --git a/less/scaffolding.less b/less/scaffolding.less index d885c765edbf6df473f05e8aee2632d3ab3d5c57..eee9cc93c6a03a3d204ccde1ed50e86a1b9f6b11 100644 --- a/less/scaffolding.less +++ b/less/scaffolding.less @@ -85,73 +85,3 @@ img { .img-circle { border-radius: 500px; // crank the border-radius so it works with most reasonably sized images } - - -// Printing -// ------------------------- -// Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css - -@media print { - - * { - text-shadow: none !important; - color: #000 !important; // Black prints faster: h5bp.com/s - background: transparent !important; - box-shadow: none !important; - } - - a, - a:visited { - text-decoration: underline; - } - - a[href]:after { - content: " (" attr(href) ")"; - } - - abbr[title]:after { - content: " (" attr(title) ")"; - } - - // Don't show links for images, or javascript/internal links - .ir a:after, - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; - } - - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; - } - - thead { - display: table-header-group; // h5bp.com/t - } - - tr, - img { - page-break-inside: avoid; - } - - img { - max-width: 100% !important; - } - - @page { - margin: 0.5cm; - } - - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - - h2, - h3 { - page-break-after: avoid; - } -} diff --git a/less/tables.less b/less/tables.less index 67f7cd7658031d9c25c3c7affb0356db1058e9d6..6a4e5e4fda1b10d5444587d26b3ad6b6779b637c 100644 --- a/less/tables.less +++ b/less/tables.less @@ -177,12 +177,15 @@ th { // TABLE CELL SIZING // ----------------- -// Reset default grid behavior -table td[class*="span"], -table th[class*="span"] { +// Reset default table behavior +table col[class^="span"] { + float: none; + display: table-column; +} +table td[class^="span"], +table th[class^="span"] { + float: none; display: table-cell; - float: none; // undo default grid column styles - margin-left: 0; // undo default grid column styles } // TABLE BACKGROUNDS diff --git a/less/tests/buttons.html b/less/tests/buttons.html deleted file mode 100644 index f73877b058f178f652ad279608c9a626408d5c64..0000000000000000000000000000000000000000 --- a/less/tests/buttons.html +++ /dev/null @@ -1,210 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Buttons · Bootstrap</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content=""> - <meta name="author" content=""> - - <!-- Le styles --> - <link href="../../docs/assets/css/bootstrap.css" rel="stylesheet"> - <style> - body { - padding-top: 30px; - padding-bottom: 30px; - } - </style> - <link href="../../docs/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="apple-touch-icon-precomposed" sizes="144x144" href="../../docs/assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../docs/assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../docs/assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../../docs/assets/ico/apple-touch-icon-57-precomposed.png"> - <link rel="shortcut icon" href="../../docs/assets/ico/favicon.png"> - </head> - - <body> - - <div class="container"> - - <h2>Icons in buttons</h2> - <p> - <button class="btn btn-large" type="button"> - Profile - </button> - <button class="btn btn-large" type="button"> - <span class="glyphicon glyphicon-user"></span> Profile - </button> - <button class="btn btn-large" type="button"> - <span class="glyphicon glyphicon-home"></span> Home - </button> - <button class="btn btn-large" type="button"> - <span class="glyphicon glyphicon-link"></span> Link - </button> - </p> - <p> - <button class="btn" type="button"> - Profile - </button> - <button class="btn" type="button"> - <span class="glyphicon glyphicon-user"></span> Profile - </button> - <button class="btn" type="button"> - <span class="glyphicon glyphicon-home"></span> Home - </button> - <button class="btn" type="button"> - <span class="glyphicon glyphicon-link"></span> Link - </button> - </p> - <p> - <button class="btn btn-small" type="button"> - Profile - </button> - <button class="btn btn-small" type="button"> - <span class="glyphicon glyphicon-user"></span> Profile - </button> - <button class="btn btn-small" type="button"> - <span class="glyphicon glyphicon-home"></span> Home - </button> - <button class="btn btn-small" type="button"> - <span class="glyphicon glyphicon-link"></span> Link - </button> - </p> - <p> - <button class="btn btn-mini" type="button"> - Profile - </button> - <button class="btn btn-mini" type="button"> - <span class="glyphicon glyphicon-user"></span> Profile - </button> - <button class="btn btn-mini" type="button"> - <span class="glyphicon glyphicon-home"></span> Home - </button> - <button class="btn btn-mini" type="button"> - <span class="glyphicon glyphicon-link"></span> Link - </button> - </p> - - <div class="btn-toolbar"> - <div class="btn-group"> - <a class="btn" href="#"><i class="glyphicon glyphicon-align-left"></i></a> - <a class="btn" href="#"><i class="glyphicon glyphicon-align-center"></i></a> - <a class="btn" href="#"><i class="glyphicon glyphicon-align-right"></i></a> - <a class="btn" href="#"><i class="glyphicon glyphicon-align-justify"></i></a> - </div> - </div> - - - <hr> - - - <h2>Dropups</h2> - <div class="btn-toolbar"> - <div class="btn-group dropup"> - <button class="btn">Dropup</button> - <button class="btn dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> - <ul class="dropdown-menu"> - <li><a href="#">Action</a></li> - <li><a href="#">Another action</a></li> - <li><a href="#">Something else here</a></li> - <li class="divider"></li> - <li><a href="#">Separated link</a></li> - </ul> - </div><!-- /btn-group --> - <div class="btn-group dropup"> - <button class="btn btn-primary">Dropup</button> - <button class="btn btn-primary dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> - <ul class="dropdown-menu"> - <li><a href="#">Action</a></li> - <li><a href="#">Another action</a></li> - <li><a href="#">Something else here</a></li> - <li class="divider"></li> - <li><a href="#">Separated link</a></li> - </ul> - </div><!-- /btn-group --> - <div class="btn-group dropup"> - <button class="btn btn-danger">Dropup</button> - <button class="btn btn-danger dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> - <ul class="dropdown-menu"> - <li><a href="#">Action</a></li> - <li><a href="#">Another action</a></li> - <li><a href="#">Something else here</a></li> - <li class="divider"></li> - <li><a href="#">Separated link</a></li> - </ul> - </div><!-- /btn-group --> - <div class="btn-group dropup"> - <button class="btn btn-warning">Dropup</button> - <button class="btn btn-warning dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> - <ul class="dropdown-menu"> - <li><a href="#">Action</a></li> - <li><a href="#">Another action</a></li> - <li><a href="#">Something else here</a></li> - <li class="divider"></li> - <li><a href="#">Separated link</a></li> - </ul> - </div><!-- /btn-group --> - <div class="btn-group dropup"> - <button class="btn btn-success">Dropup</button> - <button class="btn btn-success dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> - <ul class="dropdown-menu"> - <li><a href="#">Action</a></li> - <li><a href="#">Another action</a></li> - <li><a href="#">Something else here</a></li> - <li class="divider"></li> - <li><a href="#">Separated link</a></li> - </ul> - </div><!-- /btn-group --> - <div class="btn-group dropup"> - <button class="btn btn-info">Dropup</button> - <button class="btn btn-info dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> - <ul class="dropdown-menu"> - <li><a href="#">Action</a></li> - <li><a href="#">Another action</a></li> - <li><a href="#">Something else here</a></li> - <li class="divider"></li> - <li><a href="#">Separated link</a></li> - </ul> - </div><!-- /btn-group --> - <div class="btn-group dropup"> - <button class="btn btn-inverse">Dropup</button> - <button class="btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> - <ul class="dropdown-menu"> - <li><a href="#">Action</a></li> - <li><a href="#">Another action</a></li> - <li><a href="#">Something else here</a></li> - <li class="divider"></li> - <li><a href="#">Separated link</a></li> - </ul> - </div><!-- /btn-group --> - </div><!-- /btn-toolbar --> - - - </div> <!-- /container --> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="../../docs/assets/js/jquery.js"></script> - <script src="../../docs/assets/js/bootstrap-transition.js"></script> - <script src="../../docs/assets/js/bootstrap-alert.js"></script> - <script src="../../docs/assets/js/bootstrap-modal.js"></script> - <script src="../../docs/assets/js/bootstrap-dropdown.js"></script> - <script src="../../docs/assets/js/bootstrap-scrollspy.js"></script> - <script src="../../docs/assets/js/bootstrap-tab.js"></script> - <script src="../../docs/assets/js/bootstrap-tooltip.js"></script> - <script src="../../docs/assets/js/bootstrap-popover.js"></script> - <script src="../../docs/assets/js/bootstrap-button.js"></script> - <script src="../../docs/assets/js/bootstrap-collapse.js"></script> - <script src="../../docs/assets/js/bootstrap-carousel.js"></script> - <script src="../../docs/assets/js/bootstrap-typeahead.js"></script> - - </body> -</html> diff --git a/less/tests/css-tests.css b/less/tests/css-tests.css deleted file mode 100644 index 2ca3770023d80943eb418fb8e157135e8a24cdb9..0000000000000000000000000000000000000000 --- a/less/tests/css-tests.css +++ /dev/null @@ -1,128 +0,0 @@ -/*! - * Bootstrap CSS Tests - */ - - -/* Remove background image */ -body { - background-image: none; -} - -/* Space out subhead */ -.subhead { - margin-bottom: 36px; -} -/*h4 { - margin-bottom: 5px; -} -*/ - -.type-test { - margin-bottom: 20px; - padding: 0 20px 20px; - background: url(../../docs/assets/img/grid-baseline-20px.png); -} -.type-test h1, -.type-test h2, -.type-test h3, -.type-test h4, -.type-test h5, -.type-test h6 { - background-color: rgba(255,0,0,.2); -} - - -/* colgroup tests */ -.col1 { - background-color: rgba(255,0,0,.1); -} -.col2 { - background-color: rgba(0,255,0,.1); -} -.col3 { - background-color: rgba(0,0,255,.1); -} - - - -/* 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); -} - -.gradient-horizontal-three { - background-color: #00b3ee; - background-image: -webkit-gradient(left, linear, 0 0, 0 100%, from(#00b3ee), color-stop(50%, #7a43b6), to(#c3325f)); - background-image: -webkit-linear-gradient(left, #00b3ee, #7a43b6 50%, #c3325f); - background-image: -moz-linear-gradient(left, #00b3ee, #7a43b6 50%, #c3325f); - background-image: -o-linear-gradient(left, #00b3ee, #7a43b6 50%, #c3325f); - background-image: linear-gradient(to right, #00b3ee, #7a43b6 50%, #c3325f); - background-repeat: no-repeat; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00b3ee', endColorstr='#c3325f', GradientType=0); -} diff --git a/less/tests/css-tests.html b/less/tests/css-tests.html deleted file mode 100644 index fd71ce82d443f200b967c8704f19a33553f90efd..0000000000000000000000000000000000000000 --- a/less/tests/css-tests.html +++ /dev/null @@ -1,1099 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>CSS Tests · Twitter Bootstrap</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content=""> - <meta name="author" content=""> - - <!-- Le styles --> - <link href="../../docs/assets/css/bootstrap.css" rel="stylesheet"> - <link href="../../docs/assets/css/bootstrap-responsive.css" rel="stylesheet"> - <link href="../../docs/assets/css/docs.css" rel="stylesheet"> - <link href="../../docs/assets/js/google-code-prettify/prettify.css" rel="stylesheet"> - - <!-- CSS just for the tests page --> - <link href="css-tests.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="apple-touch-icon-precomposed" sizes="144x144" href="../../docs/assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../docs/assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../docs/assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../../docs/assets/ico/apple-touch-icon-57-precomposed.png"> - <link rel="shortcut icon" href="../../docs/assets/ico/favicon.png"> - </head> - - <body> - - - <!-- Navbar - ================================================== --> - <div class="navbar navbar-inverse navbar-fixed-top"> - <div class="navbar-inner"> - <div class="container"> - <a class="brand" href="../../docs/index.html">Bootstrap</a> - </div> - </div> - </div> - - -<!-- Masthead -================================================== --> -<header class="jumbotron subhead" id="overview"> - <div class="container"> - <h1>CSS Tests</h1> - <p class="lead">One stop shop for quick debugging and edge-case tests of CSS.</p> - </div> -</header> - - - - <div class="container"> - - - - - -<div class="bs-docs-grid"> - <div class="row show-grid"> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - </div> - <div class="row show-grid"> - <div class="span4">4</div> - <div class="span4">4</div> - <div class="span4">4</div> - </div> - <div class="row show-grid"> - <div class="span6">6</div> - <div class="span6">6</div> - </div> - <div class="row show-grid"> - <div class="span12">12</div> - </div> -</div> - -<form class="controls-row"> - <input class="span1" type="text" placeholder=".span1"> - <input class="span1" type="text" placeholder=".span1"> - <input class="span1" type="text" placeholder=".span1"> - <input class="span1" type="text" placeholder=".span1"> - <input class="span1" type="text" placeholder=".span1"> - <input class="span1" type="text" placeholder=".span1"> - <input class="span1" type="text" placeholder=".span1"> - <input class="span1" type="text" placeholder=".span1"> - <input class="span1" type="text" placeholder=".span1"> - <input class="span1" type="text" placeholder=".span1"> - <input class="span1" type="text" placeholder=".span1"> - <input class="span1" type="text" placeholder=".span1"> -</form> - -<form class="controls-row"> - <input class="span4" type="text" placeholder=".span4"> - <input class="span4" type="text" placeholder=".span4"> - <input class="span4" type="text" placeholder=".span4"> -</form> - -<form class="controls-row"> - <input class="span6" type="text" placeholder=".span6"> - <input class="span6" type="text" placeholder=".span6"> -</form> - -<form class="controls-row"> - <input class="span12" type="text" placeholder=".span12"> -</form> - -<form class="clearfix"> - <input class="span4" type="text" placeholder=".span4"> - <input class="span4 offset4" type="text" placeholder=".span4"> -</form> - - -<form class="bs-docs-example form-horizontal"> - <legend>Horizontal form example</legend> - <div class="control-group"> - <label class="control-label">Name</label> - <div class="controls"> - <input type="text" class="span3" placeholder="First"> - <input type="text" class="span3" placeholder="Last"> - </div> - </div> - <div class="control-group"> - <label class="control-label">Email</label> - <div class="controls"> - <input type="text" class="span6" placeholder="First"> - </div> - </div> - <div class="control-group"> - <label class="control-label">Password</label> - <div class="controls"> - <input type="password" class="span6" placeholder="Password"> - </div> - </div> - <div class="control-group"> - <div class="controls"> - <label class="checkbox"> - <input type="checkbox"> Remember me - </label> - <button type="submit" class="btn">Sign in</button> - </div> - </div> -</form> - -<style> -.container { background-color: rgba(255,0,0,.1); } -</style> - - -<br><br><br> - - - - -<!-- Typography -================================================== --> - -<div class="page-header"> - <h1>Typography</h1> -</div> - -<div class="row"> - <div class="span6"> - <div class="type-test"> - <h1>h1. Heading 1</h1> - <h2>h2. Heading 2</h2> - <h3>h3. Heading 3</h3> - <h4>h4. Heading 4</h4> - <h5>h5. Heading 5</h5> - <h6>h6. Heading 6</h6> - <p>Sed posuere consectetur est at lobortis. Maecenas sed diam eget risus varius blandit sit amet non magna. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> - </div> - </div> - <div class="span6"> - <div class="type-test"> - <h1>h1. Heading 1</h1> - <p>Sed posuere consectetur est at lobortis. Maecenas sed diam eget risus varius blandit sit amet non magna. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> - <h2>h2. Heading 2</h2> - <p>Sed posuere consectetur est at lobortis. Maecenas sed diam eget risus varius blandit sit amet non magna. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> - <h3>h3. Heading 3</h3> - <p>Sed posuere consectetur est at lobortis. Maecenas sed diam eget risus varius blandit sit amet non magna. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> - <h4>h4. Heading 4</h4> - <p>Sed posuere consectetur est at lobortis. Maecenas sed diam eget risus varius blandit sit amet non magna. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> - <h5>h5. Heading 5</h5> - <p>Sed posuere consectetur est at lobortis. Maecenas sed diam eget risus varius blandit sit amet non magna. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> - <h6>h6. Heading 6</h6> - <p>Sed posuere consectetur est at lobortis. Maecenas sed diam eget risus varius blandit sit amet non magna. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> - </div> - </div> -</div> - - - -<!-- Responsive images -================================================== --> - -<div class="page-header"> - <h1>Responsive images</h1> -</div> - -<div class="row"> - <div class="span4"> - <img data-src="holder.js/600x600" height="200"> - </div> - <div class="span4"> - <img data-src="holder.js/600x600"> - </div> - <div class="span4"> - <img data-src="holder.js/600x600"> - </div> -</div> - -<br> - -<div class="row"> - <div class="span4"> - <img data-src="holder.js/600x900" style="width: 200px;"> - </div> - <div class="span4"> - <img data-src="holder.js/200x300"> - </div> - <div class="span4"> - <img data-src="holder.js/600x600"> - </div> -</div> - -<br><br> - - - - - -<!-- Tables -================================================== --> - -<div class="page-header"> - <h1>Tables</h1> -</div> - -<div class="row"> - <div class="span6"> - <h4>Bordered without thead</h4> - <table class="table table-bordered"> - <tbody> - <tr> - <td>1</td> - <td>2</td> - <td>3</td> - </tr> - <tr> - <td>1</td> - <td>2</td> - <td>3</td> - </tr> - <tr> - <td>1</td> - <td>2</td> - <td>3</td> - </tr> - </tbody> - </table> - <h4>Bordered without thead, with caption</h4> - <table class="table table-bordered"> - <caption>Table caption</caption> - <tbody> - <tr> - <td>1</td> - <td>2</td> - <td>3</td> - </tr> - <tr> - <td>1</td> - <td>2</td> - <td>3</td> - </tr> - <tr> - <td>1</td> - <td>2</td> - <td>3</td> - </tr> - </tbody> - </table> - <h4>Bordered without thead, with colgroup</h4> - <table class="table table-bordered"> - <colgroup> - <col class="col1"> - <col class="col2"> - <col class="col3"> - </colgroup> - <tbody> - <tr> - <td>1</td> - <td>2</td> - <td>3</td> - </tr> - <tr> - <td>1</td> - <td>2</td> - <td>3</td> - </tr> - <tr> - <td>1</td> - <td>2</td> - <td>3</td> - </tr> - </tbody> - <tfoot> - <tr> - <td>3</td> - <td>6</td> - <td>9</td> - </tr> - </tfoot> - </table> - <h4>Bordered with thead, with colgroup</h4> - <table class="table table-bordered"> - <colgroup> - <col class="col1"> - <col class="col2"> - <col class="col3"> - </colgroup> - <thead> - <tr> - <th>A</th> - <th>B</th> - <th>C</th> - </tr> - </thead> - <tbody> - <tr> - <td>1</td> - <td>2</td> - <td>3</td> - </tr> - <tr> - <td>1</td> - <td>2</td> - <td>3</td> - </tr> - <tr> - <td>1</td> - <td>2</td> - <td>3</td> - </tr> - </tbody> - <tfoot> - <tr> - <td>3</td> - <td>6</td> - <td>9</td> - </tr> - </tfoot> - </table> - </div><!--/span--> - <div class="span6"> - <h4>Bordered with thead and caption</h4> - <table class="table table-bordered"> - <caption>Table caption</caption> - <thead> - <tr> - <th>1</th> - <th>2</th> - <th>3</th> - </tr> - </thead> - <tbody> - <tr> - <td>1</td> - <td>2</td> - <td>3</td> - </tr> - <tr> - <td>1</td> - <td>2</td> - <td>3</td> - </tr> - <tr> - <td>1</td> - <td>2</td> - <td>3</td> - </tr> - </tbody> - <tfoot> - <tr> - <td>3</td> - <td>6</td> - <td>9</td> - </tr> - </tfoot> - </table> - <h4>Bordered with rowspan and colspan</h4> - <table class="table table-bordered"> - <thead> - <tr> - <th>1</th> - <th>2</th> - <th>3</th> - </tr> - </thead> - <tbody> - <tr> - <td colspan="2">1 and 2</td> - <td>3</td> - </tr> - <tr> - <td>1</td> - <td rowspan="2">2</td> - <td>3</td> - </tr> - <tr> - <td rowspan="2">1</td> - <td>3</td> - </tr> - <tr> - <td colspan="2">2 and 3</td> - </tr> - </tbody> - </table> - </div><!--/span--> -</div><!--/row--> - - -<h4>Grid sizing</h4> -<div class="row"> - <div class="span12"> - <table class="table table-bordered"> - <thead> - <tr> - <th class="span3">1</th> - <th class="span4">2</th> - <th>3</th> - </tr> - </thead> - <tbody> - <tr> - <td colspan="2">1 and 2</td> - <td>3</td> - </tr> - <tr> - <td>1</td> - <td rowspan="2">2</td> - <td>3</td> - </tr> - <tr> - <td rowspan="2">1</td> - <td>3</td> - </tr> - <tr> - <td colspan="2">2 and 3</td> - </tr> - </tbody> - </table> - </div> -</div><!--/row--> - -<h4>Nesting and striping</h4> -<table class="table table-bordered table-striped"> - <thead> - <tr> - <th>Test</th> - </tr> - </thead> - <tbody> - <tr> - <td> - <table class="table table-bordered table-striped"> - <thead> - <tr> - <th>Test</th> - <th>Test</th> - </tr> - </thead> - <tbody> - <tr> - <td> - test - </td> - <td> - test - </td> - </tr> - <tr> - <td> - test - </td> - <td> - test - </td> - </tr> - <tr> - <td> - test - </td> - <td> - test - </td> - </tr> - </tbody> - </table> - </td> - </tr> - </tbody> -</table> - - -<!-- Forms -================================================== --> - -<div class="page-header"> - <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> - <form> - <div class="controls"> - <div class="input-prepend"> - <span class="add-on">@</span> - <input class="span2" id="prependedInput" size="16" type="text"> - </div> - </div> - <div class="controls"> - <div class="input-append"> - <input class="span2" id="prependedInput" size="16" type="text"> - <span class="add-on">@</span> - </div> - </div> - <div class="controls"> - <div class="input-prepend input-append"> - <span class="add-on">$</span> - <input class="span2" id="prependedInput" size="16" type="text"> - <span class="add-on">.00</span> - </div> - </div> - </form> - </div><!--/span--> - <div class="span4"> - <h4>Prepend and append with uneditable</h4> - <form> - <div class="input-prepend"> - <span class="add-on">$</span> - <span class="span2 uneditable-input">Some value here</span> - </div> - <div class="input-append"> - <span class="span2 uneditable-input">Some value here</span> - <span class="add-on">.00</span> - </div> - <div class="input-prepend input-append"> - <span class="add-on">$</span> - <span class="span2 uneditable-input">Some value here</span> - <span class="add-on">.00</span> - </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>Fixed row with inputs</h4> -<p>Inputs should not extend past the light red background, set on their parent, a <code>.span*</code> column.</p> - -<div class="rowInputs"> - <div class="row"> - <div class="span12"> - <input type="text" class="span1" placeholder="span1"> - </div><!--/span--> - </div><!--/row--> - <div class="row"> - <div class="span12"> - <input type="text" class="span2" placeholder="span2"> - </div><!--/span--> - </div><!--/row--> - <div class="row"> - <div class="span12"> - <input type="text" class="span3" placeholder="span3"> - </div><!--/span--> - </div><!--/row--> - <div class="row"> - <div class="span12"> - <input type="text" class="span4" placeholder="span4"> - </div><!--/span--> - </div><!--/row--> - <div class="row"> - <div class="span12"> - <input type="text" class="span5" placeholder="span5"> - </div><!--/span--> - </div><!--/row--> - <div class="row"> - <div class="span12"> - <input type="text" class="span6" placeholder="span6"> - </div><!--/span--> - </div><!--/row--> - <div class="row"> - <div class="span12"> - <input type="text" class="span7" placeholder="span7"> - </div><!--/span--> - </div><!--/row--> - <div class="row"> - <div class="span12"> - <input type="text" class="span8" placeholder="span8"> - </div><!--/span--> - </div><!--/row--> - <div class="row"> - <div class="span12"> - <input type="text" class="span9" placeholder="span9"> - </div><!--/span--> - </div><!--/row--> - <div class="row"> - <div class="span12"> - <input type="text" class="span10" placeholder="span10"> - </div><!--/span--> - </div><!--/row--> - <div class="row"> - <div class="span12"> - <input type="text" class="span11" placeholder="span11"> - </div><!--/span--> - </div><!--/row--> - <div class="row"> - <div class="span12"> - <input type="text" class="span12" placeholder="span12"> - </div><!--/span--> - </div><!--/row--> -</div> -<br> - - -<br> - - -<h4>Selects</h4> -<form> - <select class="span4"> - <option>Option</option> - </select> -</form> - - -<br> - - - - -<!-- Dropdowns -================================================== --> - -<div class="page-header"> - <h1>Dropdowns</h1> -</div> - -<h4>Dropdown link with hash URL</h4> -<ul class="nav nav-pills"> - <li class="active"><a href="#">Link</a></li> - <li><a href="#">Example link</a></li> - <li class="dropdown"> - <a class="dropdown-toggle" data-toggle="dropdown" href="#"> - Dropdown <span class="caret"></span> - </a> - <ul class="dropdown-menu"> - <li><a href="#">Action</a></li> - <li><a href="#">Another action</a></li> - <li><a href="#">Something else here</a></li> - <li class="divider"></li> - <li><a href="#">Separated link</a></li> - </ul> - </li> -</ul> - -<h4>Dropdown link with custom URL and data-target</h4> -<ul class="nav nav-pills"> - <li class="active"><a href="#">Link</a></li> - <li><a href="#">Example link</a></li> - <li class="dropdown"> - <a class="dropdown-toggle" data-toggle="dropdown" data-target="#" href="path/to/page.html"> - Dropdown <span class="caret"></span> - </a> - <ul class="dropdown-menu"> - <li><a href="#">Action</a></li> - <li><a href="#">Another action</a></li> - <li><a href="#">Something else here</a></li> - <li class="divider"></li> - <li><a href="#">Separated link</a></li> - </ul> - </li> -</ul> - -<h4>Dropdown on a button</h4> -<div style="position: relative;"> - <button class="btn" type="button" data-toggle="dropdown">Dropdown <span class="caret"></span></button> - <ul class="dropdown-menu"> - <li><a href="#">Action</a></li> - <li><a href="#">Another action</a></li> - <li><a href="#">Something else here</a></li> - <li class="divider"></li> - <li><a href="#">Separated link</a></li> - </ul> -</div> - -<br> - - -<!-- Thumbnails -================================================== --> - -<div class="page-header"> - <h1>Thumbnails</h1> -</div> - -<h4>Default thumbnails (no grid sizing)</h4> -<ul class="thumbnails"> - <li class="thumbnail"> - <img data-src="holder.js/260x180" alt=""> - </li> - <li class="thumbnail"> - <img data-src="holder.js/260x180" alt=""> - </li> - <li class="thumbnail"> - <img data-src="holder.js/260x180" alt=""> - </li> - <li class="thumbnail"> - <img data-src="holder.js/260x180" alt=""> - </li> -</ul> - -<!-- NOT CURRENTLY SUPPORTED -<h4>Offset thumbnails</h4> -<ul class="thumbnails"> - <li class="span3 offset3"> - <a href="#" class="thumbnail"> - <img data-src="holder.js/260x180" alt=""> - </a> - </li> - <li class="span3"> - <a href="#" class="thumbnail"> - <img data-src="holder.js/260x180" alt=""> - </a> - </li> - <li class="span3"> - <a href="#" class="thumbnail"> - <img data-src="holder.js/260x180" alt=""> - </a> - </li> -</ul> ---> - -<h4>Standard grid sizing</h4> -<ul class="thumbnails"> - <li class="span3"> - <a href="#" class="thumbnail"> - <img data-src="holder.js/260x180" alt=""> - </a> - </li> - <li class="span3 offset3"> - <a href="#" class="thumbnail"> - <img data-src="holder.js/260x180" alt=""> - </a> - </li> - <li class="span3"> - <a href="#" class="thumbnail"> - <img data-src="holder.js/260x180" alt=""> - </a> - </li> -</ul> - - -<!-- Tabs -================================================== --> - -<div class="page-header"> - <h1>Tabs</h1> -</div> - -<div class="tabbable tabs-left" style="margin-bottom: 18px;"> - <ul class="nav nav-tabs"> - <li class="active"><a href="#tab1" data-toggle="tab">Section 1</a></li> - <li><a href="#tab2" data-toggle="tab">Section 2</a></li> - <li><a href="#tab3" data-toggle="tab">Section 3</a></li> - </ul> - <div class="tab-content" style="padding-bottom: 9px; border-bottom: 1px solid #ddd;"> - <div class="tab-pane active" id="tab1"> - <p>I'm in Section 1.</p> - - <div class="tabbable" style="background: #f5f5f5; padding: 20px;"> - <ul class="nav nav-tabs"> - <li class="active"><a href="#tab1-1" data-toggle="tab">1.1</a></li> - <li><a href="#tab1-2" data-toggle="tab">1.2</a></li> - <li><a href="#tab1-3" data-toggle="tab">1.3</a></li> - </ul> - <div class="tab-content" style="padding-bottom: 9px; border-bottom: 1px solid #ddd;"> - <div class="tab-pane active" id="tab1-1"> - <p>I'm in Section 1.1.</p> - </div> - <div class="tab-pane" id="tab1-2"> - <p>I'm in Section 1.2.</p> - </div> - <div class="tab-pane" id="tab1-3"> - <p>I'm in Section 1.3.</p> - </div> - </div> - </div> - </div> - <div class="tab-pane" id="tab2"> - <p>Howdy, I'm in Section 2.</p> - </div> - <div class="tab-pane" id="tab3"> - <p>What up girl, this is Section 3.</p> - </div> - </div> -</div> <!-- /tabbable --> - -<br> - - -<!-- Labels -================================================== --> - -<div class="page-header"> - <h1>Labels</h1> -</div> - -<div class="row"> - <div class="span4"> - <h4>Inline label</h4> - <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Maecenas sed diam <span class="label label-warning">Label name</span> eget risus varius blandit sit amet non magna. Fusce <code>.class-name</code> dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p> - </div><!--/span--> - <div class="span4"> - <form class="form-horizontal"> - <label>Example label</label> - <input type="text" placeholder="Input"> <span class="help-inline"><span class="label">Hey!</span> Read this.</span> - </form> - </div><!--/span--> - <div class="span4"> - <button class="btn">Action <span class="badge">2</span></button> - <button class="btn">Action <span class="label">2</span></button> - </div><!--/span--> -</div><!--/row--> - -<br> - - -<!-- Button groups -================================================== --> - -<div class="page-header"> - <h1>Buttons</h1> -</div> - -<table class="table table-bordered"> - <tbody> - <tr> - <td> - Maecenas faucibus mollis interdum. Nulla vitae elit libero, a pharetra augue. Donec ullamcorper nulla non metus auctor fringilla. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. - </td> - <td> - <div class="btn-group"> - <button class="btn">1</button> - <button class="btn">2</button> - <button class="btn">3</button> - <button class="btn">4</button> - </div> - </td> - </tr> - </tbody> -</table> - -<h4>Mini buttons: text and icon</h4> -<div class="btn-group"> - <button class="btn btn-mini">Button text</button> - <button class="btn btn-mini"><i class="icon-cog"></i></button> -</div> - -<br> - - - -<!-- Responsive utility classes -================================================== --> - -<div class="page-header"> - <h1>Responsive utility classes</h1> -</div> - -<h4>Visible on...</h4> -<ul class="responsive-utilities-test visible-on"> - <li>Phone<span class="visible-phone">✔ Phone</span></li> - <li>Tablet<span class="visible-tablet">✔ Tablet</span></li> - <li>Desktop<span class="visible-desktop">✔ Desktop</span></li> -</ul> -<ul class="responsive-utilities-test visible-on"> - <li>Phone + Tablet<span class="visible-phone visible-tablet">✔ Phone + Tablet</span></li> - <li>Tablet + Desktop<span class="visible-tablet visible-desktop">✔ Tablet + Desktop</span></li> - <li>All<span class="visible-phone visible-tablet visible-desktop">✔ All</span></li> -</ul> - -<h4>Hidden on...</h4> -<ul class="responsive-utilities-test hidden-on"> - <li>Phone<span class="hidden-phone">✔ Phone</span></li> - <li>Tablet<span class="hidden-tablet">✔ Tablet</span></li> - <li>Desktop<span class="hidden-desktop">✔ Desktop</span></li> -</ul> -<ul class="responsive-utilities-test hidden-on"> - <li>Phone + Tablet<span class="hidden-phone hidden-tablet">✔ Phone + Tablet</span></li> - <li>Tablet + Desktop<span class="hidden-tablet hidden-desktop">✔ Tablet + Desktop</span></li> - <li>All<span class="hidden-phone hidden-tablet hidden-desktop">✔ All</span></li> -</ul> - - - -<!-- 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> - -<h4>Horizontal three colors</h4> -<div class="gradient-horizontal-three"></div> - - - -<div class="page-header"> - <h1>Alerts</h1> -</div> - -<h4>Alert default</h4> -<div class="alert"> - <button type="button" class="close" data-dismiss="alert">×</button> - <strong>Alert!</strong> Best check yourself, you're not looking too good. -</div> -<div class="alert alert-block"> - <button type="button" class="close" data-dismiss="alert">×</button> - <p><strong>Alert!</strong> Best check yourself, you're not looking too good.</p> -</div> - -<h4>Success</h4> -<div class="alert alert-success"> - <button type="button" class="close" data-dismiss="alert">×</button> - <strong>Success!</strong> Best check yourself, you're not looking too good. -</div> -<div class="alert alert-block alert-success"> - <button type="button" class="close" data-dismiss="alert">×</button> - <p><strong>Success!</strong> Best check yourself, you're not looking too good.</p> -</div> - -<h4>Info</h4> -<div class="alert alert-info"> - <button type="button" class="close" data-dismiss="alert">×</button> - <strong>Info!</strong> Best check yourself, you're not looking too good. -</div> -<div class="alert alert-block alert-info"> - <button type="button" class="close" data-dismiss="alert">×</button> - <p><strong>Info!</strong> Best check yourself, you're not looking too good.</p> -</div> - -<h4>Warning</h4> -<div class="alert "> - <button type="button" class="close" data-dismiss="alert">×</button> - <strong>Warning!</strong> Best check yourself, you're not looking too good. -</div> -<div class="alert alert-block alert-warning"> - <button type="button" class="close" data-dismiss="alert">×</button> - <p><strong>Warning!</strong> Best check yourself, you're not looking too good.</p> -</div> - -<h4>Error</h4> -<div class="alert alert-error"> - <button type="button" class="close" data-dismiss="alert">×</button> - <strong>Error!</strong> Best check yourself, you're not looking too good. -</div> -<div class="alert alert-block alert-error"> - <button type="button" class="close" data-dismiss="alert">×</button> - <p><strong>Error!</strong> Best check yourself, you're not looking too good.</p> -</div> - - - </div><!-- /container --> - - - - <!-- Footer - ================================================== --> - <footer class="footer"> - <div class="container"> - <p class="pull-right"><a href="#">Back to top</a></p> - <p>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p> - <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p> - <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p> - <ul class="footer-links"> - <li><a href="http://blog.getbootstrap.com">Read the blog</a></li> - <li><a href="https://github.com/twitter/bootstrap/issues?state=open">Submit issues</a></li> - <li><a href="https://github.com/twitter/bootstrap/wiki">Roadmap and changelog</a></li> - </ul> - </div> - </footer> - - - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script> - <script src="../../docs/assets/js/jquery.js"></script> - <script src="../../docs/assets/js/google-code-prettify/prettify.js"></script> - <script src="../../docs/assets/js/bootstrap-transition.js"></script> - <script src="../../docs/assets/js/bootstrap-alert.js"></script> - <script src="../../docs/assets/js/bootstrap-modal.js"></script> - <script src="../../docs/assets/js/bootstrap-dropdown.js"></script> - <script src="../../docs/assets/js/bootstrap-scrollspy.js"></script> - <script src="../../docs/assets/js/bootstrap-tab.js"></script> - <script src="../../docs/assets/js/bootstrap-tooltip.js"></script> - <script src="../../docs/assets/js/bootstrap-popover.js"></script> - <script src="../../docs/assets/js/bootstrap-button.js"></script> - <script src="../../docs/assets/js/bootstrap-collapse.js"></script> - <script src="../../docs/assets/js/bootstrap-carousel.js"></script> - <script src="../../docs/assets/js/bootstrap-typeahead.js"></script> - <script src="../../docs/assets/js/application.js"></script> - - - </body> -</html> diff --git a/less/tests/forms-responsive.html b/less/tests/forms-responsive.html deleted file mode 100644 index ee9c6822e9d6ec870301e62e390c793cc149de03..0000000000000000000000000000000000000000 --- a/less/tests/forms-responsive.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="../../docs/assets/css/bootstrap.css" rel="stylesheet"> - <link href="../../docs/assets/css/bootstrap-responsive.css" rel="stylesheet"> - <style> - body { - padding-top: 30px; - padding-bottom: 30px; - } - </style> - - <!-- 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="apple-touch-icon-precomposed" sizes="144x144" href="../../docs/assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../docs/assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../docs/assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../../docs/assets/ico/apple-touch-icon-57-precomposed.png"> - <link rel="shortcut icon" href="../../docs/assets/ico/favicon.png"> - </head> - - <body> - - <form class="container"> - - <div class="page-header"> - <h1>Fixed grid</h1> - </div> - - <h3>Vertical alignment</h3> - <input type="text" class="span2" placeholder="span2"> - <select class="span2"><option>span2</option></select> - <span class="uneditable-input span2">span1</span> - - <h3>Width across elements</h3> - <div> - <input type="text" class="span2" placeholder="span2"> - </div> - <div> - <select class="span2"><option>span2</option></select> - </div> - <div> - <span class="uneditable-input span2">span2</span> - </div> - - </form> <!-- /container --> - - </body> -</html> diff --git a/less/tests/forms.html b/less/tests/forms.html deleted file mode 100644 index ea85411c96c33f4db9dd1cd7dcf827a5f7ff8d24..0000000000000000000000000000000000000000 --- a/less/tests/forms.html +++ /dev/null @@ -1,199 +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="../../docs/assets/css/bootstrap.css" rel="stylesheet"> - <link href="../../docs/assets/css/bootstrap-responsive.css" rel="stylesheet"> - <style> - body { - padding-top: 30px; - padding-bottom: 30px; - } - </style> - - <!-- 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="../../docs/assets/ico/favicon.ico"> - <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../../docs/assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../docs/assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../docs/assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../../docs/assets/ico/apple-touch-icon-57-precomposed.png"> - </head> - - <body> - - <form class="container"> - - <div class="page-header"> - <h1>Form controls</h1> - </div> - - <div class="row"> - <div class="span4"> - - <label>Select</label> - <select> - <option>Select</option> - <option>Option 2</option> - <option>Option 3</option> - </select> - - <hr> - - <label>textarea</label> - <textarea>Textarea</textarea> - - <hr> - - <label>text</label> - <input type="text" value="Text input"> - - <hr> - - <label>password</label> - <input type="password" value="Password input"> - - <hr> - - <label>checkbox</label> - <input type="checkbox" value=""> - - <hr> - - <label>radio</label> - <input type="radio" value=""> - - <hr> - - <label>button</label> - <input type="button" value="Button"> - - <hr> - - <label>submit</label> - <input type="submit" value="Submit"> - - <hr> - - <label>reset</label> - <input type="reset" value="Reset"> - - </div><!-- /span4 --> - <div class="span4"> - - <label>file</label> - <input type="file" value=""> - - <hr> - - <label>hidden</label> - <input type="hidden" value="hidden"> - - <hr> - - <label>image</label> - <input type="image" value=""> - - <hr> - - <label>datetime</label> - <input type="datetime" value=""> - - <hr> - - <label>datetime-local</label> - <input type="datetime-local" value=""> - - <hr> - - <label>date</label> - <input type="date" value=""> - - <hr> - - <label>month</label> - <input type="month" value=""> - - <hr> - - <label>time</label> - <input type="time" value=""> - - <hr> - - <label>week</label> - <input type="week" value=""> - - </div><!-- /span4 --> - <div class="span4"> - - <label>number</label> - <input type="number" value=""> - - <hr> - - <label>range</label> - <input type="range" value=""> - - <hr> - - <label>email</label> - <input type="email" value=""> - - <hr> - - <label>url</label> - <input type="url" value=""> - - <hr> - - <label>search</label> - <input type="search" value=""> - - <hr> - - <label>tel</label> - <input type="tel" value=""> - - <hr> - - <label>color</label> - <input type="color" value=""> - - </div><!-- /span4 --> - </div><!-- /row --> - - - - <div class="page-header"> - <h1>Form components</h1> - </div> - - <fieldset> - <legend>Legend</legend> - <label>Label name</label> - <input type="text" placeholder="Type something…"> - <p class="help-block">Example block-level help text here.</p> - <div class="checkbox"> - <label> - <input type="checkbox"> Check me out - </label> - </div> - <button type="submit" class="btn">Submit</button> - </fieldset> - - - </form> <!-- /container --> - - </body> -</html> diff --git a/less/tests/grid.html b/less/tests/grid.html deleted file mode 100644 index a8832c40ae6e8721aa3a2f48c5c6344514175a97..0000000000000000000000000000000000000000 --- a/less/tests/grid.html +++ /dev/null @@ -1,108 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <title>Bootstrap</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content=""> - <meta name="author" content=""> - - <!-- Le styles --> - <link href="../../docs/assets/css/bootstrap.css" rel="stylesheet"> - <link href="../../docs/assets/css/bootstrap-responsive.css" rel="stylesheet"> - <link href="../../docs/assets/css/docs.css" rel="stylesheet"> - <style> - body { - padding-top: 30px; - padding-bottom: 30px; - } - - .container { - background-color: rgba(255,0,0,.1); - } - </style> - - <!-- 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="../../docs/assets/ico/favicon.ico"> - <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../../docs/assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../docs/assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../docs/assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../../docs/assets/ico/apple-touch-icon-57-precomposed.png"> - </head> - - <body> - - <form class="container"> - - <div class="page-header"> - <h1>Grids</h1> - </div> - - - <h2>Default grid columns</h2> - <div class="bs-docs-grid"> - <div class="row show-grid"> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - <div class="span1">1</div> - </div> - <div class="row show-grid"> - <div class="span4">4</div> - <div class="span4">4</div> - <div class="span4">4</div> - </div> - <div class="row show-grid"> - <div class="span6">6</div> - <div class="span6">6</div> - </div> - <div class="row show-grid"> - <div class="span12">12</div> - </div> - </div> - - - - <h2>Inputs</h2> -<!-- <input type="text" class="span1" placeholder=".span1"> - <input type="text" class="span2" placeholder=".span2"> - <input type="text" class="span4" placeholder=".span4"> - <input type="text" class="span5" placeholder=".span5"> - - <div class="row"> - <input type="text" class="span1" placeholder=".span1"> - <input type="text" class="span2" placeholder=".span2"> - <input type="text" class="span4" placeholder=".span4"> - <input type="text" class="span5" placeholder=".span5"> - </div> - - <div class="controls-row"> - <input type="text" class="span1" placeholder=".span1"> - <input type="text" class="span2" placeholder=".span2"> - <input type="text" class="span4" placeholder=".span4"> - <input type="text" class="span5" placeholder=".span5"> - </div> - --> - <div class="controls-row"> - <input type="text" class="span4" placeholder=".span4"> - <input type="text" class="span4" placeholder=".span4"> - <input type="text" class="span4" placeholder=".span4"> - </div> - - </form> <!-- /container --> - - </body> -</html> diff --git a/less/tests/navbar-fixed-top.html b/less/tests/navbar-fixed-top.html deleted file mode 100644 index a4765474b88edc4f86444749f1aee49b083bd42a..0000000000000000000000000000000000000000 --- a/less/tests/navbar-fixed-top.html +++ /dev/null @@ -1,102 +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="../../docs/assets/css/bootstrap.css" rel="stylesheet"> - <style> - body { - padding-top: 60px; - padding-bottom: 30px; - } - </style> - <link href="../../docs/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="apple-touch-icon-precomposed" sizes="144x144" href="../../docs/assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../docs/assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../docs/assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../../docs/assets/ico/apple-touch-icon-57-precomposed.png"> - <link rel="shortcut icon" href="../../docs/assets/ico/favicon.png"> - </head> - - <body> - - <!-- Fixed navbar --> - <div class="navbar navbar-fixed-top"> - <div class="container"> - <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </a> - <a class="brand" href="#">Project name</a> - <div class="nav-collapse collapse"> - <ul class="nav"> - <li class="active"><a href="#">Home</a></li> - <li><a href="#about">About</a></li> - <li><a href="#contact">Contact</a></li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="#">Action</a></li> - <li><a href="#">Another action</a></li> - <li><a href="#">Something else here</a></li> - <li class="divider"></li> - <li class="nav-header">Nav header</li> - <li><a href="#">Separated link</a></li> - <li><a href="#">One more separated link</a></li> - </ul> - </li> - </ul> - <ul class="nav pull-right"> - <li><a href="./navbar.html">Default</a></li> - <li><a href="./navbar-static-top.html">Static top</a></li> - <li class="active"><a href="./navbar-fixed-top.html">Fixed top</a></li> - </ul> - </div><!--/.nav-collapse --> - </div> - </div> - - <div class="container"> - - <!-- Main hero unit for a primary marketing message or call to action --> - <div class="hero-unit"> - <h1>Navbar example</h1> - <p>This example is a quick exercise to illustrate how the default, static navbar and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.</p> - <p> - <a class="btn btn-large btn-primary" href="../../docs/components.html#navbar">View navbar docs »</a> - </p> - </div> - - </div> <!-- /container --> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="../../docs/assets/js/jquery.js"></script> - <script src="../../docs/assets/js/bootstrap-transition.js"></script> - <script src="../../docs/assets/js/bootstrap-alert.js"></script> - <script src="../../docs/assets/js/bootstrap-modal.js"></script> - <script src="../../docs/assets/js/bootstrap-dropdown.js"></script> - <script src="../../docs/assets/js/bootstrap-scrollspy.js"></script> - <script src="../../docs/assets/js/bootstrap-tab.js"></script> - <script src="../../docs/assets/js/bootstrap-tooltip.js"></script> - <script src="../../docs/assets/js/bootstrap-popover.js"></script> - <script src="../../docs/assets/js/bootstrap-button.js"></script> - <script src="../../docs/assets/js/bootstrap-collapse.js"></script> - <script src="../../docs/assets/js/bootstrap-carousel.js"></script> - <script src="../../docs/assets/js/bootstrap-typeahead.js"></script> - - </body> -</html> diff --git a/less/tests/navbar-static-top.html b/less/tests/navbar-static-top.html deleted file mode 100644 index 5ba47824152ab2b4bef70d14cdaeb4c0ef24265a..0000000000000000000000000000000000000000 --- a/less/tests/navbar-static-top.html +++ /dev/null @@ -1,105 +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="../../docs/assets/css/bootstrap.css" rel="stylesheet"> - <style> - body { - padding-bottom: 30px; - } - .hero-unit { - margin-top: 20px; - } - </style> - <link href="../../docs/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="apple-touch-icon-precomposed" sizes="144x144" href="../../docs/assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../docs/assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../docs/assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../../docs/assets/ico/apple-touch-icon-57-precomposed.png"> - <link rel="shortcut icon" href="../../docs/assets/ico/favicon.png"> - </head> - - <body> - - <!-- Static navbar --> - <div class="navbar navbar-static-top"> - <div class="container"> - <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </a> - <a class="brand" href="#">Project name</a> - <div class="nav-collapse collapse"> - <ul class="nav"> - <li class="active"><a href="#">Home</a></li> - <li><a href="#about">About</a></li> - <li><a href="#contact">Contact</a></li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="#">Action</a></li> - <li><a href="#">Another action</a></li> - <li><a href="#">Something else here</a></li> - <li class="divider"></li> - <li class="nav-header">Nav header</li> - <li><a href="#">Separated link</a></li> - <li><a href="#">One more separated link</a></li> - </ul> - </li> - </ul> - <ul class="nav pull-right"> - <li><a href="./navbar.html">Default</a></li> - <li class="active"><a href="./navbar-static-top.html">Static top</a></li> - <li><a href="./navbar-fixed-top.html">Fixed top</a></li> - </ul> - </div><!--/.nav-collapse --> - </div> - </div> - - - <div class="container"> - - <!-- Main hero unit for a primary marketing message or call to action --> - <div class="hero-unit"> - <h1>Navbar example</h1> - <p>This example is a quick exercise to illustrate how the default, static navbar and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.</p> - <p> - <a class="btn btn-large btn-primary" href="../../docs/components.html#navbar">View navbar docs »</a> - </p> - </div> - - </div> <!-- /container --> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="../../docs/assets/js/jquery.js"></script> - <script src="../../docs/assets/js/bootstrap-transition.js"></script> - <script src="../../docs/assets/js/bootstrap-alert.js"></script> - <script src="../../docs/assets/js/bootstrap-modal.js"></script> - <script src="../../docs/assets/js/bootstrap-dropdown.js"></script> - <script src="../../docs/assets/js/bootstrap-scrollspy.js"></script> - <script src="../../docs/assets/js/bootstrap-tab.js"></script> - <script src="../../docs/assets/js/bootstrap-tooltip.js"></script> - <script src="../../docs/assets/js/bootstrap-popover.js"></script> - <script src="../../docs/assets/js/bootstrap-button.js"></script> - <script src="../../docs/assets/js/bootstrap-collapse.js"></script> - <script src="../../docs/assets/js/bootstrap-carousel.js"></script> - <script src="../../docs/assets/js/bootstrap-typeahead.js"></script> - - </body> -</html> diff --git a/less/tests/navbar.html b/less/tests/navbar.html deleted file mode 100644 index 3399ccf139454d1087ec5a4076d4d896b9487cfd..0000000000000000000000000000000000000000 --- a/less/tests/navbar.html +++ /dev/null @@ -1,105 +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="../../docs/assets/css/bootstrap.css" rel="stylesheet"> - <style> - body { - padding-top: 0; - padding-bottom: 30px; - } - .navbar { - margin-top: 20px; - } - </style> - <link href="../../docs/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="apple-touch-icon-precomposed" sizes="144x144" href="../../docs/assets/ico/apple-touch-icon-144-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../docs/assets/ico/apple-touch-icon-114-precomposed.png"> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../docs/assets/ico/apple-touch-icon-72-precomposed.png"> - <link rel="apple-touch-icon-precomposed" href="../../docs/assets/ico/apple-touch-icon-57-precomposed.png"> - <link rel="shortcut icon" href="../../docs/assets/ico/favicon.png"> - </head> - - <body> - - <div class="container"> - - <!-- Static navbar --> - <div class="navbar"> - <div class="container"> - <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </a> - <a class="brand" href="#">Project name</a> - <div class="nav-collapse collapse"> - <ul class="nav"> - <li class="active"><a href="#">Home</a></li> - <li><a href="#about">About</a></li> - <li><a href="#contact">Contact</a></li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li><a href="#">Action</a></li> - <li><a href="#">Another action</a></li> - <li><a href="#">Something else here</a></li> - <li class="divider"></li> - <li class="nav-header">Nav header</li> - <li><a href="#">Separated link</a></li> - <li><a href="#">One more separated link</a></li> - </ul> - </li> - </ul> - <ul class="nav pull-right"> - <li class="active"><a href="./navbar.html">Default</a></li> - <li><a href="./navbar-static-top.html">Static top</a></li> - <li><a href="./navbar-fixed-top.html">Fixed top</a></li> - </ul> - </div><!--/.nav-collapse --> - </div> - </div> - - <!-- Main hero unit for a primary marketing message or call to action --> - <div class="hero-unit"> - <h1>Navbar example</h1> - <p>This example is a quick exercise to illustrate how the default, static navbar and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.</p> - <p> - <a class="btn btn-large btn-primary" href="../../docs/components.html#navbar">View navbar docs »</a> - </p> - </div> - - </div> <!-- /container --> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="../../docs/assets/js/jquery.js"></script> - <script src="../../docs/assets/js/bootstrap-transition.js"></script> - <script src="../../docs/assets/js/bootstrap-alert.js"></script> - <script src="../../docs/assets/js/bootstrap-modal.js"></script> - <script src="../../docs/assets/js/bootstrap-dropdown.js"></script> - <script src="../../docs/assets/js/bootstrap-scrollspy.js"></script> - <script src="../../docs/assets/js/bootstrap-tab.js"></script> - <script src="../../docs/assets/js/bootstrap-tooltip.js"></script> - <script src="../../docs/assets/js/bootstrap-popover.js"></script> - <script src="../../docs/assets/js/bootstrap-button.js"></script> - <script src="../../docs/assets/js/bootstrap-collapse.js"></script> - <script src="../../docs/assets/js/bootstrap-carousel.js"></script> - <script src="../../docs/assets/js/bootstrap-typeahead.js"></script> - - </body> -</html> diff --git a/less/tooltip.less b/less/tooltip.less index e262e3ba58e6dbeed2805050d80df3e33ed68309..5eb6413de3be2a532ece568d52315b19a20ad9ba 100644 --- a/less/tooltip.less +++ b/less/tooltip.less @@ -13,7 +13,7 @@ line-height: 1.4; .opacity(0); - &.in { .opacity(100); } + &.in { .opacity(1); } &.top { margin-top: -3px; padding: 5px 0; } &.right { margin-left: 3px; padding: 0 5px; } &.bottom { margin-top: 3px; padding: 5px 0; } diff --git a/less/variables.less b/less/variables.less index 9eb84ddaaa620f01c7ec9d7c27690a50d9b8709f..47a02256a51892f61217ce42ce704038009199b5 100644 --- a/less/variables.less +++ b/less/variables.less @@ -64,11 +64,6 @@ @padding-small: 2px 10px; // 26px @padding-mini: 0 6px; // 22px -/*@padding-large-input: 10px 14px; // 44px -// firefox hack since it doesn't accept custom line-height for inputs and automatically sets line-height as font-size + 4 px. -// input-large at 18 + 4 = 22, so I tried to compensate on padding. -*/ - @border-radius-base: 4px; @border-radius-large: 6px; @border-radius-small: 3px; @@ -189,9 +184,11 @@ // Navbar links @navbar-link-color: #777; @navbar-link-color-hover: #333; -@navbar-link-color-active: #555; @navbar-link-bg-hover: transparent; +@navbar-link-color-active: #555; @navbar-link-bg-active: darken(@navbar-bg, 10%); +@navbar-link-color-disabled: #ccc; +@navbar-link-bg-disabled: transparent; // Inverted navbar @navbar-inverse-text: @grayLight; @@ -205,9 +202,11 @@ // Inverted navbar links @navbar-inverse-link-color: @grayLight; @navbar-inverse-link-color-hover: #fff; -@navbar-inverse-link-color-active: @navbar-inverse-link-color-hover; @navbar-inverse-link-bg-hover: transparent; +@navbar-inverse-link-color-active: @navbar-inverse-link-color-hover; @navbar-inverse-link-bg-active: darken(@navbar-inverse-bg, 10%); +@navbar-inverse-link-color-disabled: #444; +@navbar-inverse-link-bg-disabled: transparent; // Inverted navbar search // Normal navbar needs no special styles or vars @@ -271,6 +270,14 @@ @popover-arrow-outer-color: rgba(0,0,0,.25); +// Labels +// ------------------------- +@label-success-background: @brand-success; +@label-info-background: @brand-info; +@label-warning-background: @brand-warning; +@label-danger-background: @brand-danger; + + // Modals // -------------------------