mirror of
https://github.com/twbs/bootstrap.git
synced 2024-11-29 11:24:18 +01:00
Merge branch 'master' into pr/11414
Conflicts: dist/css/bootstrap.min.css
This commit is contained in:
commit
b5f9cc2057
1
.gitignore
vendored
1
.gitignore
vendored
@ -39,3 +39,4 @@ validation-report.json
|
||||
|
||||
# Folders to ignore
|
||||
node_modules
|
||||
bower_components
|
||||
|
@ -59,3 +59,21 @@ We only accept issues that are bug reports or feature requests. Bugs must be iso
|
||||
With v3.1, we're moving from the Apache 2 to the MIT license for the Bootstrap code (not the docs). We're in the process of collecting permissions from all Bootstrap contributors with code still part of the project to make this happen. For details, please see [#2054](https://github.com/twbs/bootstrap/issues/2054).
|
||||
|
||||
By contributing your code, you agree to dual-license your contribution under the [Apache 2](https://github.com/twbs/bootstrap/blob/master/LICENSE) and [MIT](https://github.com/twbs/bootstrap/blob/master/MIT) licenses.
|
||||
|
||||
|
||||
|
||||
## Release checklist
|
||||
|
||||
1. Close ship list issue for the release.
|
||||
2. Close the milestone for the release.
|
||||
3. Open new release issue that includes this checklist.
|
||||
4. Ping folks to coordinate release (mainly @jdorfman for BootstrapCDN).
|
||||
5. Update version numbers using `grunt change-version-number --oldver=A.B.C --newver=X.Y.Z`. Review the changes and stage them manually.
|
||||
6. Run `grunt` one last time.
|
||||
7. Push to `master` branch.
|
||||
8. Merge `master` into `gh-pages`.
|
||||
9. Generate `bootstrap-X.Y.Z-dist.zip` file for release.
|
||||
10. Create release on GitHub with `/dist/` folder and release notes.
|
||||
11. Push `gh-pages`.
|
||||
12. Publish blog post.
|
||||
13. Tweet tweet.
|
||||
|
@ -135,8 +135,8 @@ module.exports = function(grunt) {
|
||||
options: {
|
||||
reset: true,
|
||||
relaxerror: [
|
||||
"Bad value X-UA-Compatible for attribute http-equiv on element meta.",
|
||||
"Element img is missing required attribute src."
|
||||
"Bad value X-UA-Compatible for attribute http-equiv on element meta.",
|
||||
"Element img is missing required attribute src."
|
||||
]
|
||||
},
|
||||
files: {
|
||||
|
23
bower.json
23
bower.json
@ -1,9 +1,28 @@
|
||||
{
|
||||
"name": "bootstrap",
|
||||
"version": "3.0.2",
|
||||
"main": ["./dist/js/bootstrap.js", "./dist/css/bootstrap.css", "./dist/fonts/*"],
|
||||
"main": [
|
||||
"./dist/js/bootstrap.js",
|
||||
"./dist/css/bootstrap.css",
|
||||
"./dist/fonts/glyphicons-halflings-regular.eot",
|
||||
"./dist/fonts/glyphicons-halflings-regular.svg",
|
||||
"./dist/fonts/glyphicons-halflings-regular.ttf",
|
||||
"./dist/fonts/glyphicons-halflings-regular.woff"
|
||||
],
|
||||
"ignore": [
|
||||
"**/.*"
|
||||
"**/.*",
|
||||
"_*",
|
||||
"docs-assets",
|
||||
"examples",
|
||||
"/fonts",
|
||||
"js/tests",
|
||||
"CNAME",
|
||||
"CONTRIBUTING.md",
|
||||
"Gruntfile.js",
|
||||
"browserstack.json",
|
||||
"composer.json",
|
||||
"package.json",
|
||||
"*.html"
|
||||
],
|
||||
"dependencies": {
|
||||
"jquery": ">= 1.9.0"
|
||||
|
@ -2,7 +2,7 @@
|
||||
"username": "--secure--",
|
||||
"key": "--secure--",
|
||||
"test_path": "js/tests/index.html",
|
||||
"browsers": [
|
||||
"browsers": [
|
||||
{
|
||||
"browser": "firefox",
|
||||
"browser_version": "latest",
|
||||
|
@ -822,6 +822,10 @@ base_url: "../"
|
||||
|
||||
<h2 id="glyphicons-how-to-use">How to use</h2>
|
||||
<p>For performance reasons, all icons require a base class and individual icon class. To use, place the following code just about anywhere. Be sure to leave a space between the icon and text for proper padding.</p>
|
||||
<div class="bs-callout bs-callout-danger">
|
||||
<h4>Don't mix with other components</h4>
|
||||
<p>Icon classes cannot be combined with other elements. They are designed to be standalone elements.</p>
|
||||
</div>
|
||||
{% highlight html %}
|
||||
<span class="glyphicon glyphicon-search"></span>
|
||||
{% endhighlight %}
|
||||
@ -1882,8 +1886,8 @@ base_url: "../"
|
||||
<h2 id="nav-justified">Justified</h2>
|
||||
<p>Easily make tabs or pills equal widths of their parent at screens wider than 768px with <code>.nav-justified</code>. On smaller screens, the nav links are stacked.</p>
|
||||
<div class="bs-callout bs-callout-warning">
|
||||
<h4>WebKit and responsive justified navs</h4>
|
||||
<p>Chrome and Safari both exhibit a bug in which resizing your browser horizontally causes rendering errors in the justified nav that are cleared upon refreshing. This bug is also shown in the <a href="../examples/justified-nav/">justified nav example</a>.</p>
|
||||
<h4>Safari and responsive justified navs</h4>
|
||||
<p>Safari exhibits a bug in which resizing your browser horizontally causes rendering errors in the justified nav that are cleared upon refreshing. This bug is also shown in the <a href="../examples/justified-nav/">justified nav example</a>.</p>
|
||||
</div>
|
||||
<div class="bs-example">
|
||||
<ul class="nav nav-tabs nav-justified">
|
||||
@ -3160,7 +3164,7 @@ body { padding-bottom: 70px; }
|
||||
<img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
|
||||
</a>
|
||||
<div class="media-body">
|
||||
<h4 class="media-heading">Media heading</h4>
|
||||
<h4 class="media-heading">Nested media heading</h4>
|
||||
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
|
||||
</div>
|
||||
</div>
|
||||
|
@ -19,7 +19,7 @@
|
||||
, "license": "Apache-2.0"
|
||||
, "extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.0.x-dev"
|
||||
"dev-master": "3.0.x-dev"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
2
css.html
2
css.html
@ -1617,7 +1617,7 @@ For example, <code><section></code> should be wrapped as inline.
|
||||
<h2 id="forms-horizontal">Horizontal form</h2>
|
||||
<p>Use Bootstrap's predefined grid classes to align labels and groups of form controls in a horizontal layout by adding <code>.form-horizontal</code> to the form. Doing so changes <code>.form-group</code>s to behave as grid rows, so no need for <code>.row</code>.</p>
|
||||
<div class="bs-example">
|
||||
<form class="form-horizontal">
|
||||
<form class="form-horizontal" role="form">
|
||||
<div class="form-group">
|
||||
<label for="inputEmail3" class="col-sm-2 control-label">Email</label>
|
||||
<div class="col-sm-10">
|
||||
|
@ -399,7 +399,7 @@ base_url: "../"
|
||||
<input type="text" class="form-control" placeholder="Georgia, 'Times New Roman', Times, serif" data-var="@font-family-serif">
|
||||
<p class="help-block">Default serif fonts.</p>
|
||||
<label>@font-family-monospace</label>
|
||||
<input type="text" class="form-control" placeholder="Monaco, Menlo, Consolas, 'Courier New', monospace" data-var="@font-family-monospace">
|
||||
<input type="text" class="form-control" placeholder="Menlo, Monaco, Consolas, 'Courier New', monospace" data-var="@font-family-monospace">
|
||||
<p class="help-block">Default monospace fonts for <code><code></code> and <code><pre></code>.</p>
|
||||
|
||||
<h4>Base type styes</h4>
|
||||
|
181
dist/css/bootstrap.css
vendored
181
dist/css/bootstrap.css
vendored
@ -333,7 +333,7 @@ a:focus {
|
||||
}
|
||||
|
||||
a:focus {
|
||||
outline: thin dotted #333;
|
||||
outline: thin dotted;
|
||||
outline: 5px auto -webkit-focus-ring-color;
|
||||
outline-offset: -2px;
|
||||
}
|
||||
@ -742,7 +742,7 @@ code,
|
||||
kbd,
|
||||
pre,
|
||||
samp {
|
||||
font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
|
||||
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
||||
}
|
||||
|
||||
code {
|
||||
@ -809,6 +809,24 @@ pre code {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.container {
|
||||
width: 750px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.container {
|
||||
width: 970px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
.container {
|
||||
width: 1170px;
|
||||
}
|
||||
}
|
||||
|
||||
.row {
|
||||
margin-right: -15px;
|
||||
margin-left: -15px;
|
||||
@ -1107,9 +1125,6 @@ pre code {
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.container {
|
||||
width: 750px;
|
||||
}
|
||||
.col-sm-1,
|
||||
.col-sm-2,
|
||||
.col-sm-3,
|
||||
@ -1279,9 +1294,6 @@ pre code {
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.container {
|
||||
width: 970px;
|
||||
}
|
||||
.col-md-1,
|
||||
.col-md-2,
|
||||
.col-md-3,
|
||||
@ -1451,9 +1463,6 @@ pre code {
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
.container {
|
||||
width: 1170px;
|
||||
}
|
||||
.col-lg-1,
|
||||
.col-lg-2,
|
||||
.col-lg-3,
|
||||
@ -1904,7 +1913,7 @@ select optgroup {
|
||||
input[type="file"]:focus,
|
||||
input[type="radio"]:focus,
|
||||
input[type="checkbox"]:focus {
|
||||
outline: thin dotted #333;
|
||||
outline: thin dotted;
|
||||
outline: 5px auto -webkit-focus-ring-color;
|
||||
outline-offset: -2px;
|
||||
}
|
||||
@ -1955,6 +1964,7 @@ output {
|
||||
|
||||
.form-control::-moz-placeholder {
|
||||
color: #999999;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.form-control:-ms-input-placeholder {
|
||||
@ -2258,7 +2268,7 @@ textarea.input-lg {
|
||||
}
|
||||
|
||||
.btn:focus {
|
||||
outline: thin dotted #333;
|
||||
outline: thin dotted;
|
||||
outline: 5px auto -webkit-focus-ring-color;
|
||||
outline-offset: -2px;
|
||||
}
|
||||
@ -3462,9 +3472,8 @@ input[type="button"].btn-block {
|
||||
height: 0;
|
||||
margin-left: 2px;
|
||||
vertical-align: middle;
|
||||
border-top: 4px solid #000000;
|
||||
border-top: 4px solid;
|
||||
border-right: 4px solid transparent;
|
||||
border-bottom: 0 dotted;
|
||||
border-left: 4px solid transparent;
|
||||
}
|
||||
|
||||
@ -3582,8 +3591,8 @@ input[type="button"].btn-block {
|
||||
|
||||
.dropup .caret,
|
||||
.navbar-fixed-bottom .dropdown .caret {
|
||||
border-top: 0 dotted;
|
||||
border-bottom: 4px solid #000000;
|
||||
border-top: 0;
|
||||
border-bottom: 4px solid;
|
||||
content: "";
|
||||
}
|
||||
|
||||
@ -3601,30 +3610,6 @@ input[type="button"].btn-block {
|
||||
}
|
||||
}
|
||||
|
||||
.btn-default .caret {
|
||||
border-top-color: #333333;
|
||||
}
|
||||
|
||||
.btn-primary .caret,
|
||||
.btn-success .caret,
|
||||
.btn-warning .caret,
|
||||
.btn-danger .caret,
|
||||
.btn-info .caret {
|
||||
border-top-color: #fff;
|
||||
}
|
||||
|
||||
.dropup .btn-default .caret {
|
||||
border-bottom-color: #333333;
|
||||
}
|
||||
|
||||
.dropup .btn-primary .caret,
|
||||
.dropup .btn-success .caret,
|
||||
.dropup .btn-warning .caret,
|
||||
.dropup .btn-danger .caret,
|
||||
.dropup .btn-info .caret {
|
||||
border-bottom-color: #fff;
|
||||
}
|
||||
|
||||
.btn-group,
|
||||
.btn-group-vertical {
|
||||
position: relative;
|
||||
@ -4104,13 +4089,6 @@ textarea.input-group-sm > .input-group-btn > .btn {
|
||||
border-color: #428bca;
|
||||
}
|
||||
|
||||
.nav .open > a .caret,
|
||||
.nav .open > a:hover .caret,
|
||||
.nav .open > a:focus .caret {
|
||||
border-top-color: #2a6496;
|
||||
border-bottom-color: #2a6496;
|
||||
}
|
||||
|
||||
.nav .nav-divider {
|
||||
height: 1px;
|
||||
margin: 9px 0;
|
||||
@ -4223,13 +4201,6 @@ textarea.input-group-sm > .input-group-btn > .btn {
|
||||
background-color: #428bca;
|
||||
}
|
||||
|
||||
.nav-pills > li.active > a .caret,
|
||||
.nav-pills > li.active > a:hover .caret,
|
||||
.nav-pills > li.active > a:focus .caret {
|
||||
border-top-color: #ffffff;
|
||||
border-bottom-color: #ffffff;
|
||||
}
|
||||
|
||||
.nav-stacked > li {
|
||||
float: none;
|
||||
}
|
||||
@ -4302,16 +4273,6 @@ textarea.input-group-sm > .input-group-btn > .btn {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.nav .caret {
|
||||
border-top-color: #428bca;
|
||||
border-bottom-color: #428bca;
|
||||
}
|
||||
|
||||
.nav a:hover .caret {
|
||||
border-top-color: #2a6496;
|
||||
border-bottom-color: #2a6496;
|
||||
}
|
||||
|
||||
.nav-tabs .dropdown-menu {
|
||||
margin-top: -1px;
|
||||
border-top-right-radius: 0;
|
||||
@ -4668,13 +4629,13 @@ textarea.input-group-sm > .input-group-btn > .btn {
|
||||
}
|
||||
|
||||
.navbar-text {
|
||||
float: left;
|
||||
margin-top: 15px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.navbar-text {
|
||||
float: left;
|
||||
margin-right: 15px;
|
||||
margin-left: 15px;
|
||||
}
|
||||
@ -4741,12 +4702,6 @@ textarea.input-group-sm > .input-group-btn > .btn {
|
||||
border-color: #e7e7e7;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-nav > .dropdown > a:hover .caret,
|
||||
.navbar-default .navbar-nav > .dropdown > a:focus .caret {
|
||||
border-top-color: #333333;
|
||||
border-bottom-color: #333333;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-nav > .open > a,
|
||||
.navbar-default .navbar-nav > .open > a:hover,
|
||||
.navbar-default .navbar-nav > .open > a:focus {
|
||||
@ -4754,18 +4709,6 @@ textarea.input-group-sm > .input-group-btn > .btn {
|
||||
background-color: #e7e7e7;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-nav > .open > a .caret,
|
||||
.navbar-default .navbar-nav > .open > a:hover .caret,
|
||||
.navbar-default .navbar-nav > .open > a:focus .caret {
|
||||
border-top-color: #555555;
|
||||
border-bottom-color: #555555;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-nav > .dropdown > a .caret {
|
||||
border-top-color: #777777;
|
||||
border-bottom-color: #777777;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.navbar-default .navbar-nav .open .dropdown-menu > li > a {
|
||||
color: #777777;
|
||||
@ -4865,27 +4808,13 @@ textarea.input-group-sm > .input-group-btn > .btn {
|
||||
background-color: #080808;
|
||||
}
|
||||
|
||||
.navbar-inverse .navbar-nav > .dropdown > a:hover .caret {
|
||||
border-top-color: #ffffff;
|
||||
border-bottom-color: #ffffff;
|
||||
}
|
||||
|
||||
.navbar-inverse .navbar-nav > .dropdown > a .caret {
|
||||
border-top-color: #999999;
|
||||
border-bottom-color: #999999;
|
||||
}
|
||||
|
||||
.navbar-inverse .navbar-nav > .open > a .caret,
|
||||
.navbar-inverse .navbar-nav > .open > a:hover .caret,
|
||||
.navbar-inverse .navbar-nav > .open > a:focus .caret {
|
||||
border-top-color: #ffffff;
|
||||
border-bottom-color: #ffffff;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
|
||||
border-color: #080808;
|
||||
}
|
||||
.navbar-inverse .navbar-nav .open .dropdown-menu .divider {
|
||||
background-color: #080808;
|
||||
}
|
||||
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
|
||||
color: #999999;
|
||||
}
|
||||
@ -5398,24 +5327,6 @@ a.thumbnail.active {
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes progress-bar-stripes {
|
||||
from {
|
||||
background-position: 40px 0;
|
||||
}
|
||||
to {
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
@-o-keyframes progress-bar-stripes {
|
||||
from {
|
||||
background-position: 0 0;
|
||||
}
|
||||
to {
|
||||
background-position: 40px 0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes progress-bar-stripes {
|
||||
from {
|
||||
background-position: 40px 0;
|
||||
@ -5676,7 +5587,7 @@ a.list-group-item.active:focus .list-group-item-text {
|
||||
}
|
||||
|
||||
.panel > .table,
|
||||
.panel > .table-responsive {
|
||||
.panel > .table-responsive > .table {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@ -5685,6 +5596,11 @@ a.list-group-item.active:focus .list-group-item-text {
|
||||
border-top: 1px solid #dddddd;
|
||||
}
|
||||
|
||||
.panel > .table > tbody:first-child th,
|
||||
.panel > .table > tbody:first-child td {
|
||||
border-top: 0;
|
||||
}
|
||||
|
||||
.panel > .table-bordered,
|
||||
.panel > .table-responsive > .table-bordered {
|
||||
border: 0;
|
||||
@ -5804,10 +5720,6 @@ a.list-group-item.active:focus .list-group-item-text {
|
||||
border-top-color: #dddddd;
|
||||
}
|
||||
|
||||
.panel-default > .panel-heading > .dropdown .caret {
|
||||
border-color: #333333 transparent;
|
||||
}
|
||||
|
||||
.panel-default > .panel-footer + .panel-collapse .panel-body {
|
||||
border-bottom-color: #dddddd;
|
||||
}
|
||||
@ -5826,10 +5738,6 @@ a.list-group-item.active:focus .list-group-item-text {
|
||||
border-top-color: #428bca;
|
||||
}
|
||||
|
||||
.panel-primary > .panel-heading > .dropdown .caret {
|
||||
border-color: #ffffff transparent;
|
||||
}
|
||||
|
||||
.panel-primary > .panel-footer + .panel-collapse .panel-body {
|
||||
border-bottom-color: #428bca;
|
||||
}
|
||||
@ -5848,10 +5756,6 @@ a.list-group-item.active:focus .list-group-item-text {
|
||||
border-top-color: #d6e9c6;
|
||||
}
|
||||
|
||||
.panel-success > .panel-heading > .dropdown .caret {
|
||||
border-color: #468847 transparent;
|
||||
}
|
||||
|
||||
.panel-success > .panel-footer + .panel-collapse .panel-body {
|
||||
border-bottom-color: #d6e9c6;
|
||||
}
|
||||
@ -5870,10 +5774,6 @@ a.list-group-item.active:focus .list-group-item-text {
|
||||
border-top-color: #faebcc;
|
||||
}
|
||||
|
||||
.panel-warning > .panel-heading > .dropdown .caret {
|
||||
border-color: #c09853 transparent;
|
||||
}
|
||||
|
||||
.panel-warning > .panel-footer + .panel-collapse .panel-body {
|
||||
border-bottom-color: #faebcc;
|
||||
}
|
||||
@ -5892,10 +5792,6 @@ a.list-group-item.active:focus .list-group-item-text {
|
||||
border-top-color: #ebccd1;
|
||||
}
|
||||
|
||||
.panel-danger > .panel-heading > .dropdown .caret {
|
||||
border-color: #b94a48 transparent;
|
||||
}
|
||||
|
||||
.panel-danger > .panel-footer + .panel-collapse .panel-body {
|
||||
border-bottom-color: #ebccd1;
|
||||
}
|
||||
@ -5914,10 +5810,6 @@ a.list-group-item.active:focus .list-group-item-text {
|
||||
border-top-color: #bce8f1;
|
||||
}
|
||||
|
||||
.panel-info > .panel-heading > .dropdown .caret {
|
||||
border-color: #3a87ad transparent;
|
||||
}
|
||||
|
||||
.panel-info > .panel-footer + .panel-collapse .panel-body {
|
||||
border-bottom-color: #bce8f1;
|
||||
}
|
||||
@ -6473,6 +6365,7 @@ button.close {
|
||||
.carousel-control:focus {
|
||||
color: #ffffff;
|
||||
text-decoration: none;
|
||||
outline: none;
|
||||
opacity: 0.9;
|
||||
filter: alpha(opacity=90);
|
||||
}
|
||||
|
2
dist/css/bootstrap.min.css
vendored
2
dist/css/bootstrap.min.css
vendored
File diff suppressed because one or more lines are too long
26
dist/js/bootstrap.js
vendored
26
dist/js/bootstrap.js
vendored
@ -220,15 +220,21 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
||||
|
||||
Button.prototype.toggle = function () {
|
||||
var $parent = this.$element.closest('[data-toggle="buttons"]')
|
||||
var changed = true
|
||||
|
||||
if ($parent.length) {
|
||||
var $input = this.$element.find('input')
|
||||
.prop('checked', !this.$element.hasClass('active'))
|
||||
.trigger('change')
|
||||
if ($input.prop('type') === 'radio') $parent.find('.active').removeClass('active')
|
||||
if ($input.prop('type') === 'radio') {
|
||||
// see if clicking on current one
|
||||
if ($input.prop('checked') && this.$element.hasClass('active'))
|
||||
changed = false
|
||||
else
|
||||
$parent.find('.active').removeClass('active')
|
||||
}
|
||||
if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
|
||||
}
|
||||
|
||||
this.$element.toggleClass('active')
|
||||
if (changed) this.$element.toggleClass('active')
|
||||
}
|
||||
|
||||
|
||||
@ -345,7 +351,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
||||
|
||||
if (pos > (this.$items.length - 1) || pos < 0) return
|
||||
|
||||
if (this.sliding) return this.$element.one('slid', function () { that.to(pos) })
|
||||
if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) })
|
||||
if (activeIndex == pos) return this.pause().cycle()
|
||||
|
||||
return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
|
||||
@ -397,7 +403,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
||||
|
||||
if (this.$indicators.length) {
|
||||
this.$indicators.find('.active').removeClass('active')
|
||||
this.$element.one('slid', function () {
|
||||
this.$element.one('slid.bs.carousel', function () {
|
||||
var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
|
||||
$nextIndicator && $nextIndicator.addClass('active')
|
||||
})
|
||||
@ -415,7 +421,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
||||
$next.removeClass([type, direction].join(' ')).addClass('active')
|
||||
$active.removeClass(['active', direction].join(' '))
|
||||
that.sliding = false
|
||||
setTimeout(function () { that.$element.trigger('slid') }, 0)
|
||||
setTimeout(function () { that.$element.trigger('slid.bs.carousel') }, 0)
|
||||
})
|
||||
.emulateTransitionEnd(600)
|
||||
} else {
|
||||
@ -424,7 +430,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
||||
$active.removeClass('active')
|
||||
$next.addClass('active')
|
||||
this.sliding = false
|
||||
this.$element.trigger('slid')
|
||||
this.$element.trigger('slid.bs.carousel')
|
||||
}
|
||||
|
||||
isCycling && this.cycle()
|
||||
@ -715,7 +721,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
||||
|
||||
if (!isActive) {
|
||||
if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
|
||||
// if mobile we we use a backdrop because click events don't delegate
|
||||
// if mobile we use a backdrop because click events don't delegate
|
||||
$('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
|
||||
}
|
||||
|
||||
@ -1694,7 +1700,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
||||
.addClass('active')
|
||||
}
|
||||
|
||||
active.trigger('activate')
|
||||
active.trigger('activate.bs.scrollspy')
|
||||
}
|
||||
|
||||
|
||||
|
2
dist/js/bootstrap.min.js
vendored
2
dist/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
@ -100,4 +100,4 @@
|
||||
})
|
||||
})
|
||||
|
||||
}(window.jQuery)
|
||||
}(jQuery)
|
||||
|
@ -231,7 +231,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
|
||||
}
|
||||
result = {
|
||||
'bootstrap.css' : cw + tree.toCSS(),
|
||||
'bootstrap.min.css' : cw + tree.toCSS({ compress: true })
|
||||
'bootstrap.min.css' : cw + tree.toCSS({ compress: true }).replace(/\n/g, '')
|
||||
}
|
||||
})
|
||||
} catch (err) {
|
||||
|
File diff suppressed because one or more lines are too long
@ -40,7 +40,7 @@
|
||||
<a class="navbar-brand" href="#">Project name</a>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<form class="navbar-form navbar-right">
|
||||
<form class="navbar-form navbar-right" role="form">
|
||||
<div class="form-group">
|
||||
<input type="text" placeholder="Email" class="form-control">
|
||||
</div>
|
||||
|
@ -52,7 +52,8 @@
|
||||
<!-- Example row of columns -->
|
||||
<div class="row">
|
||||
<div class="col-lg-4">
|
||||
<h2>Heading</h2>
|
||||
<h2>Safari bug warning!</h2>
|
||||
<p class="text-danger">Safari exhibits a bug in which resizing your browser horizontally causes rendering errors in the justified nav that are cleared upon refreshing.</p>
|
||||
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||
<p><a class="btn btn-primary" href="#" role="button">View details »</a></p>
|
||||
</div>
|
||||
|
@ -30,7 +30,7 @@
|
||||
|
||||
<div class="container">
|
||||
|
||||
<form class="form-signin">
|
||||
<form class="form-signin" role="form">
|
||||
<h2 class="form-signin-heading">Please sign in</h2>
|
||||
<input type="text" class="form-control" placeholder="Email address" required autofocus>
|
||||
<input type="password" class="form-control" placeholder="Password" required>
|
||||
|
@ -304,15 +304,15 @@ $('#myModal').modal({
|
||||
{% endhighlight %}
|
||||
|
||||
<h4>.modal('toggle')</h4>
|
||||
<p>Manually toggles a modal.</p>
|
||||
<p>Manually toggles a modal. <strong>Returns to the caller before the modal has actually been shown or hidden</strong> (i.e. before the <code>shown.bs.modal</code> or <code>hidden.bs.modal</code> event occurs).</p>
|
||||
{% highlight js %}$('#myModal').modal('toggle'){% endhighlight %}
|
||||
|
||||
<h4>.modal('show')</h4>
|
||||
<p>Manually opens a modal.</p>
|
||||
<p>Manually opens a modal. <strong>Returns to the caller before the modal has actually been shown</strong> (i.e. before the <code>shown.bs.modal</code> event occurs).</p>
|
||||
{% highlight js %}$('#myModal').modal('show'){% endhighlight %}
|
||||
|
||||
<h4>.modal('hide')</h4>
|
||||
<p>Manually hides a modal.</p>
|
||||
<p>Manually hides a modal. <strong>Returns to the caller before the modal has actually been hidden</strong> (i.e. before the <code>hidden.bs.modal</code> event occurs).</p>
|
||||
{% highlight js %}$('#myModal').modal('hide'){% endhighlight %}
|
||||
|
||||
<h3>Events</h3>
|
||||
@ -328,11 +328,11 @@ $('#myModal').modal({
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>show.bs.modal</td>
|
||||
<td>This event fires immediately when the <code>show</code> instance method is called.</td>
|
||||
<td>This event fires immediately when the <code>show</code> instance method is called. If caused by a click, the clicked element is available as the <code>relatedTarget</code> property of the event.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>shown.bs.modal</td>
|
||||
<td>This event is fired when the modal has been made visible to the user (will wait for CSS transitions to complete).</td>
|
||||
<td>This event is fired when the modal has been made visible to the user (will wait for CSS transitions to complete). If caused by a click, the clicked element is available as the <code>relatedTarget</code> property of the event.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>hide.bs.modal</td>
|
||||
@ -346,8 +346,8 @@ $('#myModal').modal({
|
||||
</table>
|
||||
</div><!-- /.table-responsive -->
|
||||
{% highlight js %}
|
||||
$('#myModal').on('hidden.bs.modal', function () {
|
||||
// do something…
|
||||
$('#myModal').on('hidden.bs.modal', function (e) {
|
||||
// do something...
|
||||
})
|
||||
{% endhighlight %}
|
||||
</div>
|
||||
|
14
js/button.js
14
js/button.js
@ -54,15 +54,21 @@
|
||||
|
||||
Button.prototype.toggle = function () {
|
||||
var $parent = this.$element.closest('[data-toggle="buttons"]')
|
||||
var changed = true
|
||||
|
||||
if ($parent.length) {
|
||||
var $input = this.$element.find('input')
|
||||
.prop('checked', !this.$element.hasClass('active'))
|
||||
.trigger('change')
|
||||
if ($input.prop('type') === 'radio') $parent.find('.active').removeClass('active')
|
||||
if ($input.prop('type') === 'radio') {
|
||||
// see if clicking on current one
|
||||
if ($input.prop('checked') && this.$element.hasClass('active'))
|
||||
changed = false
|
||||
else
|
||||
$parent.find('.active').removeClass('active')
|
||||
}
|
||||
if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
|
||||
}
|
||||
|
||||
this.$element.toggleClass('active')
|
||||
if (changed) this.$element.toggleClass('active')
|
||||
}
|
||||
|
||||
|
||||
|
@ -69,7 +69,7 @@
|
||||
|
||||
if (pos > (this.$items.length - 1) || pos < 0) return
|
||||
|
||||
if (this.sliding) return this.$element.one('slid', function () { that.to(pos) })
|
||||
if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) })
|
||||
if (activeIndex == pos) return this.pause().cycle()
|
||||
|
||||
return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
|
||||
@ -121,7 +121,7 @@
|
||||
|
||||
if (this.$indicators.length) {
|
||||
this.$indicators.find('.active').removeClass('active')
|
||||
this.$element.one('slid', function () {
|
||||
this.$element.one('slid.bs.carousel', function () {
|
||||
var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
|
||||
$nextIndicator && $nextIndicator.addClass('active')
|
||||
})
|
||||
@ -139,7 +139,7 @@
|
||||
$next.removeClass([type, direction].join(' ')).addClass('active')
|
||||
$active.removeClass(['active', direction].join(' '))
|
||||
that.sliding = false
|
||||
setTimeout(function () { that.$element.trigger('slid') }, 0)
|
||||
setTimeout(function () { that.$element.trigger('slid.bs.carousel') }, 0)
|
||||
})
|
||||
.emulateTransitionEnd(600)
|
||||
} else {
|
||||
@ -148,7 +148,7 @@
|
||||
$active.removeClass('active')
|
||||
$next.addClass('active')
|
||||
this.sliding = false
|
||||
this.$element.trigger('slid')
|
||||
this.$element.trigger('slid.bs.carousel')
|
||||
}
|
||||
|
||||
isCycling && this.cycle()
|
||||
|
@ -41,7 +41,7 @@
|
||||
|
||||
if (!isActive) {
|
||||
if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
|
||||
// if mobile we we use a backdrop because click events don't delegate
|
||||
// if mobile we use a backdrop because click events don't delegate
|
||||
$('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
|
||||
}
|
||||
|
||||
|
@ -113,7 +113,7 @@
|
||||
.addClass('active')
|
||||
}
|
||||
|
||||
active.trigger('activate')
|
||||
active.trigger('activate.bs.scrollspy')
|
||||
}
|
||||
|
||||
|
||||
|
@ -111,6 +111,12 @@ $(function () {
|
||||
ok(!btn1.find('input').prop('checked'), 'btn1 is checked')
|
||||
ok(btn2.hasClass('active'), 'btn2 has active class')
|
||||
ok(btn2.find('input').prop('checked'), 'btn2 is checked')
|
||||
|
||||
btn2.find('input').click() /* clicking an already checked radio should not un-check it */
|
||||
ok(!btn1.hasClass('active'), 'btn1 does not have active class')
|
||||
ok(!btn1.find('input').prop('checked'), 'btn1 is checked')
|
||||
ok(btn2.hasClass('active'), 'btn2 has active class')
|
||||
ok(btn2.find('input').prop('checked'), 'btn2 is checked')
|
||||
})
|
||||
|
||||
})
|
||||
|
@ -2,37 +2,6 @@
|
||||
// Button groups
|
||||
// --------------------------------------------------
|
||||
|
||||
// Button carets
|
||||
//
|
||||
// Match the button text color to the arrow/caret for indicating dropdown-ness.
|
||||
|
||||
.caret {
|
||||
.btn-default & {
|
||||
border-top-color: @btn-default-color;
|
||||
}
|
||||
.btn-primary &,
|
||||
.btn-success &,
|
||||
.btn-warning &,
|
||||
.btn-danger &,
|
||||
.btn-info & {
|
||||
border-top-color: #fff;
|
||||
}
|
||||
}
|
||||
.dropup {
|
||||
.btn-default .caret {
|
||||
border-bottom-color: @btn-default-color;
|
||||
}
|
||||
.btn-primary,
|
||||
.btn-success,
|
||||
.btn-warning,
|
||||
.btn-danger,
|
||||
.btn-info {
|
||||
.caret {
|
||||
border-bottom-color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Make the div behave like a button
|
||||
.btn-group,
|
||||
.btn-group-vertical {
|
||||
|
@ -91,6 +91,7 @@
|
||||
// Hover/focus state
|
||||
&:hover,
|
||||
&:focus {
|
||||
outline: none;
|
||||
color: @carousel-control-color;
|
||||
text-decoration: none;
|
||||
.opacity(.9);
|
||||
|
@ -10,12 +10,9 @@
|
||||
height: 0;
|
||||
margin-left: 2px;
|
||||
vertical-align: middle;
|
||||
border-top: @caret-width-base solid @dropdown-caret-color;
|
||||
border-top: @caret-width-base solid;
|
||||
border-right: @caret-width-base solid transparent;
|
||||
border-left: @caret-width-base solid transparent;
|
||||
// Firefox fix for https://github.com/twbs/bootstrap/issues/9538. Once fixed,
|
||||
// we can just straight up remove this.
|
||||
border-bottom: 0 dotted;
|
||||
}
|
||||
|
||||
// The dropdown wrapper (div)
|
||||
@ -163,10 +160,8 @@
|
||||
.navbar-fixed-bottom .dropdown {
|
||||
// Reverse the caret
|
||||
.caret {
|
||||
// Firefox fix for https://github.com/twbs/bootstrap/issues/9538. Once this
|
||||
// gets fixed, restore `border-top: 0;`.
|
||||
border-top: 0 dotted;
|
||||
border-bottom: @caret-width-base solid @dropdown-caret-color;
|
||||
border-top: 0;
|
||||
border-bottom: @caret-width-base solid;
|
||||
content: "";
|
||||
}
|
||||
// Different positioning for bottom up menu
|
||||
|
@ -5,6 +5,16 @@
|
||||
// Set the container width, and override it for fixed navbars in media queries
|
||||
.container {
|
||||
.container-fixed();
|
||||
|
||||
@media (min-width: @screen-sm) {
|
||||
width: @container-sm;
|
||||
}
|
||||
@media (min-width: @screen-md) {
|
||||
width: @container-md;
|
||||
}
|
||||
@media (min-width: @screen-lg-min) {
|
||||
width: @container-lg;
|
||||
}
|
||||
}
|
||||
|
||||
// mobile first defaults
|
||||
@ -40,10 +50,6 @@
|
||||
// it's full-width.
|
||||
|
||||
@media (min-width: @screen-sm-min) {
|
||||
.container {
|
||||
width: @container-sm;
|
||||
}
|
||||
|
||||
.make-grid-columns-float(sm);
|
||||
.make-grid(@grid-columns, sm, width);
|
||||
.make-grid(@grid-columns, sm, pull);
|
||||
@ -60,10 +66,6 @@
|
||||
// it's full-width.
|
||||
|
||||
@media (min-width: @screen-md-min) {
|
||||
.container {
|
||||
width: @container-md;
|
||||
}
|
||||
|
||||
.make-grid-columns-float(md);
|
||||
.make-grid(@grid-columns, md, width);
|
||||
.make-grid(@grid-columns, md, pull);
|
||||
@ -80,10 +82,6 @@
|
||||
// it's full-width.
|
||||
|
||||
@media (min-width: @screen-lg-min) {
|
||||
.container {
|
||||
width: @container-lg;
|
||||
}
|
||||
|
||||
.make-grid-columns-float(lg);
|
||||
.make-grid(@grid-columns, lg, width);
|
||||
.make-grid(@grid-columns, lg, pull);
|
||||
|
@ -30,8 +30,8 @@
|
||||
// WebKit-style focus
|
||||
.tab-focus() {
|
||||
// Default
|
||||
outline: thin dotted #333;
|
||||
// WebKit
|
||||
outline: thin dotted;
|
||||
//Webkit
|
||||
outline: 5px auto -webkit-focus-ring-color;
|
||||
outline-offset: -2px;
|
||||
}
|
||||
@ -55,7 +55,8 @@
|
||||
// Placeholder text
|
||||
.placeholder(@color: @input-color-placeholder) {
|
||||
&:-moz-placeholder { color: @color; } // Firefox 4-18
|
||||
&::-moz-placeholder { color: @color; } // Firefox 19+
|
||||
&::-moz-placeholder { color: @color; // Firefox 19+
|
||||
opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526
|
||||
&:-ms-input-placeholder { color: @color; } // Internet Explorer 10+
|
||||
&::-webkit-input-placeholder { color: @color; } // Safari and Chrome
|
||||
}
|
||||
@ -391,7 +392,7 @@
|
||||
|
||||
// Panels
|
||||
// -------------------------
|
||||
.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border;) {
|
||||
.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {
|
||||
border-color: @border;
|
||||
|
||||
& > .panel-heading {
|
||||
@ -402,9 +403,6 @@
|
||||
+ .panel-collapse .panel-body {
|
||||
border-top-color: @border;
|
||||
}
|
||||
& > .dropdown .caret {
|
||||
border-color: @heading-text-color transparent;
|
||||
}
|
||||
}
|
||||
& > .panel-footer {
|
||||
+ .panel-collapse .panel-body {
|
||||
|
@ -340,10 +340,10 @@
|
||||
// Add a class to make any element properly align itself vertically within the navbars.
|
||||
|
||||
.navbar-text {
|
||||
float: left;
|
||||
.navbar-vertical-align(@line-height-computed);
|
||||
|
||||
@media (min-width: @grid-float-breakpoint) {
|
||||
float: left;
|
||||
margin-left: @navbar-padding-horizontal;
|
||||
margin-right: @navbar-padding-horizontal;
|
||||
}
|
||||
@ -414,15 +414,8 @@
|
||||
border-color: @navbar-default-border;
|
||||
}
|
||||
|
||||
// Dropdown menu items and carets
|
||||
// Dropdown menu items
|
||||
.navbar-nav {
|
||||
// Caret should match text color on hover
|
||||
> .dropdown > a:hover .caret,
|
||||
> .dropdown > a:focus .caret {
|
||||
border-top-color: @navbar-default-link-hover-color;
|
||||
border-bottom-color: @navbar-default-link-hover-color;
|
||||
}
|
||||
|
||||
// Remove background color from open dropdown
|
||||
> .open > a {
|
||||
&,
|
||||
@ -430,17 +423,8 @@
|
||||
&:focus {
|
||||
background-color: @navbar-default-link-active-bg;
|
||||
color: @navbar-default-link-active-color;
|
||||
.caret {
|
||||
border-top-color: @navbar-default-link-active-color;
|
||||
border-bottom-color: @navbar-default-link-active-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
> .dropdown > a .caret {
|
||||
border-top-color: @navbar-default-link-color;
|
||||
border-bottom-color: @navbar-default-link-color;
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
// Dropdowns get custom display when collapsed
|
||||
@ -561,24 +545,6 @@
|
||||
color: @navbar-inverse-link-active-color;
|
||||
}
|
||||
}
|
||||
> .dropdown > a:hover .caret {
|
||||
border-top-color: @navbar-inverse-link-hover-color;
|
||||
border-bottom-color: @navbar-inverse-link-hover-color;
|
||||
}
|
||||
> .dropdown > a .caret {
|
||||
border-top-color: @navbar-inverse-link-color;
|
||||
border-bottom-color: @navbar-inverse-link-color;
|
||||
}
|
||||
> .open > a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
.caret {
|
||||
border-top-color: @navbar-inverse-link-active-color;
|
||||
border-bottom-color: @navbar-inverse-link-active-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
// Dropdowns get custom display
|
||||
@ -586,6 +552,9 @@
|
||||
> .dropdown-header {
|
||||
border-color: @navbar-inverse-border;
|
||||
}
|
||||
.divider {
|
||||
background-color: @navbar-inverse-border;
|
||||
}
|
||||
> li > a {
|
||||
color: @navbar-inverse-link-color;
|
||||
&:hover,
|
||||
|
@ -48,11 +48,6 @@
|
||||
&:focus {
|
||||
background-color: @nav-link-hover-bg;
|
||||
border-color: @link-color;
|
||||
|
||||
.caret {
|
||||
border-top-color: @link-hover-color;
|
||||
border-bottom-color: @link-hover-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -138,11 +133,6 @@
|
||||
&:focus {
|
||||
color: @nav-pills-active-link-hover-color;
|
||||
background-color: @nav-pills-active-link-hover-bg;
|
||||
|
||||
.caret {
|
||||
border-top-color: @nav-pills-active-link-hover-color;
|
||||
border-bottom-color: @nav-pills-active-link-hover-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -243,16 +233,6 @@
|
||||
// Dropdowns
|
||||
// -------------------------
|
||||
|
||||
// Make dropdown carets use link color in navs
|
||||
.nav .caret {
|
||||
border-top-color: @link-color;
|
||||
border-bottom-color: @link-color;
|
||||
}
|
||||
.nav a:hover .caret {
|
||||
border-top-color: @link-hover-color;
|
||||
border-bottom-color: @link-hover-color;
|
||||
}
|
||||
|
||||
// Specific dropdowns
|
||||
.nav-tabs .dropdown-menu {
|
||||
// make dropdown border overlap tab border
|
||||
|
@ -57,13 +57,17 @@
|
||||
|
||||
.panel {
|
||||
> .table,
|
||||
> .table-responsive {
|
||||
> .table-responsive > .table {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
> .panel-body + .table,
|
||||
> .panel-body + .table-responsive {
|
||||
border-top: 1px solid @table-border-color;
|
||||
}
|
||||
> .table > tbody:first-child th,
|
||||
> .table > tbody:first-child td {
|
||||
border-top: 0;
|
||||
}
|
||||
> .table-bordered,
|
||||
> .table-responsive > .table-bordered {
|
||||
border: 0;
|
||||
|
@ -12,18 +12,6 @@
|
||||
to { background-position: 0 0; }
|
||||
}
|
||||
|
||||
// Firefox
|
||||
@-moz-keyframes progress-bar-stripes {
|
||||
from { background-position: 40px 0; }
|
||||
to { background-position: 0 0; }
|
||||
}
|
||||
|
||||
// Opera
|
||||
@-o-keyframes progress-bar-stripes {
|
||||
from { background-position: 0 0; }
|
||||
to { background-position: 40px 0; }
|
||||
}
|
||||
|
||||
// Spec and IE10+
|
||||
@keyframes progress-bar-stripes {
|
||||
from { background-position: 40px 0; }
|
||||
|
@ -41,7 +41,7 @@
|
||||
|
||||
@font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
@font-family-serif: Georgia, "Times New Roman", Times, serif;
|
||||
@font-family-monospace: Monaco, Menlo, Consolas, "Courier New", monospace;
|
||||
@font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace;
|
||||
@font-family-base: @font-family-sans-serif;
|
||||
|
||||
@font-size-base: 14px;
|
||||
@ -186,8 +186,6 @@
|
||||
|
||||
@dropdown-header-color: @gray-light;
|
||||
|
||||
@dropdown-caret-color: #000;
|
||||
|
||||
|
||||
// COMPONENT VARIABLES
|
||||
// --------------------------------------------------
|
||||
@ -321,7 +319,6 @@
|
||||
@nav-disabled-link-hover-color: @gray-light;
|
||||
|
||||
@nav-open-link-hover-color: #fff;
|
||||
@nav-open-caret-border-color: #fff;
|
||||
|
||||
// Tabs
|
||||
@nav-tabs-border-color: #ddd;
|
||||
|
@ -33,7 +33,7 @@
|
||||
, "grunt-contrib-watch": "~0.5.3"
|
||||
, "grunt-html-validation": "~0.1.6"
|
||||
, "grunt-jekyll": "~0.4.0"
|
||||
, "grunt-recess": "~0.4.0"
|
||||
, "grunt-recess": "~0.5.0"
|
||||
, "grunt-sed": "~0.1.1"
|
||||
, "regexp-quote": "~0.0.0"
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user