mirror of
https://github.com/twbs/bootstrap.git
synced 2025-10-04 09:11:37 +02:00
Merge branch 'master' into docs_derp
Conflicts: _config.yml
This commit is contained in:
@@ -33,6 +33,7 @@
|
|||||||
"-webkit-box-sizing",
|
"-webkit-box-sizing",
|
||||||
"-moz-box-sizing",
|
"-moz-box-sizing",
|
||||||
"box-sizing",
|
"box-sizing",
|
||||||
|
"-webkit-appearance",
|
||||||
"padding",
|
"padding",
|
||||||
"padding-top",
|
"padding-top",
|
||||||
"padding-right",
|
"padding-right",
|
||||||
@@ -46,8 +47,10 @@
|
|||||||
"overflow",
|
"overflow",
|
||||||
"overflow-x",
|
"overflow-x",
|
||||||
"overflow-y",
|
"overflow-y",
|
||||||
|
"-webkit-overflow-scrolling",
|
||||||
"-ms-overflow-x",
|
"-ms-overflow-x",
|
||||||
"-ms-overflow-y",
|
"-ms-overflow-y",
|
||||||
|
"-ms-overflow-style",
|
||||||
"clip",
|
"clip",
|
||||||
"clear",
|
"clear",
|
||||||
"font",
|
"font",
|
||||||
@@ -124,18 +127,20 @@
|
|||||||
"-webkit-user-select",
|
"-webkit-user-select",
|
||||||
"-moz-user-select",
|
"-moz-user-select",
|
||||||
"-ms-user-select",
|
"-ms-user-select",
|
||||||
|
"-o-user-select",
|
||||||
"user-select",
|
"user-select",
|
||||||
"nav-index",
|
"nav-index",
|
||||||
"nav-up",
|
"nav-up",
|
||||||
"nav-right",
|
"nav-right",
|
||||||
"nav-down",
|
"nav-down",
|
||||||
"nav-left",
|
"nav-left",
|
||||||
"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader",
|
|
||||||
"background",
|
"background",
|
||||||
"background-color",
|
"background-color",
|
||||||
|
"background-image",
|
||||||
"-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient",
|
"-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient",
|
||||||
"filter:progid:DXImageTransform.Microsoft.gradient",
|
"filter:progid:DXImageTransform.Microsoft.gradient",
|
||||||
"background-image",
|
"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader",
|
||||||
|
"filter",
|
||||||
"background-repeat",
|
"background-repeat",
|
||||||
"background-attachment",
|
"background-attachment",
|
||||||
"background-position",
|
"background-position",
|
||||||
|
@@ -9,3 +9,7 @@ end_of_line = lf
|
|||||||
charset = utf-8
|
charset = utf-8
|
||||||
trim_trailing_whitespace = true
|
trim_trailing_whitespace = true
|
||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
|
|
||||||
|
[*.py]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
@@ -106,7 +106,7 @@ included in the project:
|
|||||||
# Clone your fork of the repo into the current directory
|
# Clone your fork of the repo into the current directory
|
||||||
git clone https://github.com/<your-username>/bootstrap.git
|
git clone https://github.com/<your-username>/bootstrap.git
|
||||||
# Navigate to the newly cloned directory
|
# Navigate to the newly cloned directory
|
||||||
cd html5-boilerplate
|
cd bootstrap
|
||||||
# Assign the original repo to a remote called "upstream"
|
# Assign the original repo to a remote called "upstream"
|
||||||
git remote add upstream https://github.com/twbs/bootstrap.git
|
git remote add upstream https://github.com/twbs/bootstrap.git
|
||||||
```
|
```
|
||||||
|
34
Gruntfile.js
34
Gruntfile.js
@@ -18,8 +18,8 @@ module.exports = function (grunt) {
|
|||||||
banner: '/*!\n' +
|
banner: '/*!\n' +
|
||||||
' * Bootstrap v<%= pkg.version %> (<%= pkg.homepage %>)\n' +
|
' * Bootstrap v<%= pkg.version %> (<%= pkg.homepage %>)\n' +
|
||||||
' * Copyright <%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
|
' * Copyright <%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
|
||||||
' * Licensed under MIT (<%= _.pluck(pkg.licenses, "url").join(", ") %>)\n' +
|
' * Licensed under <%= _.pluck(pkg.licenses, "type") %> (<%= _.pluck(pkg.licenses, "url") %>)\n' +
|
||||||
' */\n\n',
|
' */\n',
|
||||||
jqueryCheck: 'if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery") }\n\n',
|
jqueryCheck: 'if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery") }\n\n',
|
||||||
|
|
||||||
// Task configuration.
|
// Task configuration.
|
||||||
@@ -64,12 +64,16 @@ module.exports = function (grunt) {
|
|||||||
options: {
|
options: {
|
||||||
csslintrc: '.csslintrc'
|
csslintrc: '.csslintrc'
|
||||||
},
|
},
|
||||||
src: ['dist/css/bootstrap.css', 'dist/css/bootstrap-theme.css']
|
src: [
|
||||||
|
'dist/css/bootstrap.css',
|
||||||
|
'dist/css/bootstrap-theme.css',
|
||||||
|
'docs-assets/css/docs.css'
|
||||||
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
concat: {
|
concat: {
|
||||||
options: {
|
options: {
|
||||||
banner: '<%= banner %><%= jqueryCheck %>',
|
banner: '<%= banner %>\n<%= jqueryCheck %>',
|
||||||
stripBanners: false
|
stripBanners: false
|
||||||
},
|
},
|
||||||
bootstrap: {
|
bootstrap: {
|
||||||
@@ -92,15 +96,24 @@ module.exports = function (grunt) {
|
|||||||
},
|
},
|
||||||
|
|
||||||
uglify: {
|
uglify: {
|
||||||
options: {
|
|
||||||
banner: '<%= banner %>',
|
|
||||||
report: 'min'
|
|
||||||
},
|
|
||||||
bootstrap: {
|
bootstrap: {
|
||||||
|
options: {
|
||||||
|
banner: '<%= banner %>\n',
|
||||||
|
report: 'min'
|
||||||
|
},
|
||||||
src: ['<%= concat.bootstrap.dest %>'],
|
src: ['<%= concat.bootstrap.dest %>'],
|
||||||
dest: 'dist/js/<%= pkg.name %>.min.js'
|
dest: 'dist/js/<%= pkg.name %>.min.js'
|
||||||
},
|
},
|
||||||
customize: {
|
customize: {
|
||||||
|
options: {
|
||||||
|
banner: '/*!\n' +
|
||||||
|
' * Bootstrap Docs (<%= pkg.homepage %>)\n' +
|
||||||
|
' * Copyright <%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
|
||||||
|
' * Licensed under the Creative Commons Attribution 3.0 Unported License. For\n' +
|
||||||
|
' * details, see http://creativecommons.org/licenses/by/3.0/.\n' +
|
||||||
|
' */\n',
|
||||||
|
report: 'min'
|
||||||
|
},
|
||||||
src: [
|
src: [
|
||||||
'docs-assets/js/less.js',
|
'docs-assets/js/less.js',
|
||||||
'docs-assets/js/jszip.js',
|
'docs-assets/js/jszip.js',
|
||||||
@@ -316,9 +329,8 @@ module.exports = function (grunt) {
|
|||||||
|
|
||||||
// Use any line that starts with ".glyphicon-" and capture the class name
|
// Use any line that starts with ".glyphicon-" and capture the class name
|
||||||
var iconClassName = /^\.(glyphicon-[^\s]+)/
|
var iconClassName = /^\.(glyphicon-[^\s]+)/
|
||||||
var glyphiconsData = '# Generated on ' + (new Date()) + '\n' +
|
var glyphiconsData = '# This file is generated via Grunt task. **Do not edit directly.** \n' +
|
||||||
'# **Don\'t edit this directly!**\n' +
|
'# See the \'build-glyphicons-data\' task in Gruntfile.js.\n\n';
|
||||||
'# Look at the \'build-glyphicons-data\' task in Gruntfile.js\n\n';
|
|
||||||
for (var i = 0, len = glpyhiconsLines.length; i < len; i++) {
|
for (var i = 0, len = glpyhiconsLines.length; i < len; i++) {
|
||||||
var match = glpyhiconsLines[i].match(iconClassName)
|
var match = glpyhiconsLines[i].match(iconClassName)
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
# [Bootstrap](http://getbootstrap.com) [](http://travis-ci.org/twbs/bootstrap) [](https://david-dm.org/twbs/bootstrap#info=devDependencies)
|
# [Bootstrap](http://getbootstrap.com) [](http://travis-ci.org/twbs/bootstrap) [](https://david-dm.org/twbs/bootstrap#info=devDependencies)
|
||||||
[](https://saucelabs.com/u/bootstrap)
|
[](https://saucelabs.com/u/bootstrap)
|
||||||
|
|
||||||
Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created by [Mark Otto](http://twitter.com/mdo) and [Jacob Thornton](http://twitter.com/fat), and maintained by the [core team](https://github.com/twbs?tab=members) with the massive support and involvement of the community.
|
Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created by [Mark Otto](http://twitter.com/mdo) and [Jacob Thornton](http://twitter.com/fat), and maintained by the [core team](https://github.com/twbs?tab=members) with the massive support and involvement of the community.
|
||||||
@@ -21,7 +21,7 @@ To get started, check out <http://getbootstrap.com>!
|
|||||||
|
|
||||||
Three quick start options are available:
|
Three quick start options are available:
|
||||||
|
|
||||||
- [Download the latest release](https://github.com/twbs/bootstrap/archive/v3.1.0.zip).
|
- [Download the latest release](https://github.com/twbs/bootstrap/archive/v3.0.3.zip).
|
||||||
- Clone the repo: `git clone https://github.com/twbs/bootstrap.git`.
|
- Clone the repo: `git clone https://github.com/twbs/bootstrap.git`.
|
||||||
- Install with [Bower](http://bower.io): `bower install bootstrap`.
|
- Install with [Bower](http://bower.io): `bower install bootstrap`.
|
||||||
|
|
||||||
@@ -97,10 +97,10 @@ When completed, you'll be able to run the various Grunt commands provided from t
|
|||||||
### Available Grunt commands
|
### Available Grunt commands
|
||||||
|
|
||||||
#### Build - `grunt`
|
#### Build - `grunt`
|
||||||
Run `grunt` to run tests locally and compile the CSS and JavaScript into `/dist`. **Uses [recess](http://twitter.github.io/recess/) and [UglifyJS](http://lisperator.net/uglifyjs/).**
|
Run `grunt` to run tests locally and compile the CSS and JavaScript into `/dist`. **Uses [Less](http://lesscss.org/) and [UglifyJS](http://lisperator.net/uglifyjs/).**
|
||||||
|
|
||||||
#### Only compile CSS and JavaScript - `grunt dist`
|
#### Only compile CSS and JavaScript - `grunt dist`
|
||||||
`grunt dist` creates the `/dist` directory with compiled files. **Uses [recess](http://twitter.github.io/recess/) and [UglifyJS](http://lisperator.net/uglifyjs/).**
|
`grunt dist` creates the `/dist` directory with compiled files. **Uses [Less](http://lesscss.org/) and [UglifyJS](http://lisperator.net/uglifyjs/).**
|
||||||
|
|
||||||
#### Tests - `grunt test`
|
#### Tests - `grunt test`
|
||||||
Runs [JSHint](http://jshint.com) and [QUnit](http://qunitjs.com/) tests headlessly in [PhantomJS](http://phantomjs.org/) (used for CI).
|
Runs [JSHint](http://jshint.com) and [QUnit](http://qunitjs.com/) tests headlessly in [PhantomJS](http://phantomjs.org/) (used for CI).
|
||||||
|
32
_config.yml
32
_config.yml
@@ -7,20 +7,36 @@ permalink: pretty
|
|||||||
|
|
||||||
# Server
|
# Server
|
||||||
destination: ./_gh_pages
|
destination: ./_gh_pages
|
||||||
exclude: [".editorconfig", ".gitignore", "bower.json", "composer.json", "CONTRIBUTING.md", "CNAME", "LICENSE", "Gruntfile.js", "package.json", "node_modules", "README.md", "less"]
|
|
||||||
port: 9001
|
port: 9001
|
||||||
|
exclude:
|
||||||
|
- ".editorconfig"
|
||||||
|
- ".gitignore"
|
||||||
|
- "bower.json"
|
||||||
|
- "CNAME"
|
||||||
|
- "composer.json"
|
||||||
|
- "CONTRIBUTING.md"
|
||||||
|
- "DOCS-LICENSE"
|
||||||
|
- "Gruntfile.js"
|
||||||
|
- "less"
|
||||||
|
- "LICENSE"
|
||||||
|
- "node_modules"
|
||||||
|
- "package.json"
|
||||||
|
- "README.md"
|
||||||
|
- "sauce_browsers.yml"
|
||||||
|
- "test-infra"
|
||||||
|
|
||||||
# Custom vars
|
# Custom vars
|
||||||
current_version: 3.1.0
|
current_version: 3.0.3
|
||||||
repo: https://github.com/twbs/bootstrap
|
repo: https://github.com/twbs/bootstrap
|
||||||
|
|
||||||
download_source: https://github.com/twbs/bootstrap/archive/v3.1.0.zip
|
download_source: https://github.com/twbs/bootstrap/archive/v3.0.3.zip
|
||||||
download_dist: https://github.com/twbs/bootstrap/releases/download/v3.1.0/bootstrap-3.1.0-dist.zip
|
download_dist: https://github.com/twbs/bootstrap/releases/download/v3.0.3/bootstrap-3.0.3-dist.zip
|
||||||
download_sass: https://github.com/twbs/bootstrap-sass/archive/v3.1.0.0.tar.gz
|
download_sass: https://github.com/twbs/bootstrap-sass/archive/v3.0.3.0.tar.gz
|
||||||
|
|
||||||
blog: http://blog.getbootstrap.com
|
blog: http://blog.getbootstrap.com
|
||||||
expo: http://expo.getbootstrap.com
|
expo: http://expo.getbootstrap.com
|
||||||
|
sass_repo: https://github.com/twbs/bootstrap-sass
|
||||||
|
|
||||||
cdn_css: //netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css
|
cdn_css: //netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css
|
||||||
cdn_theme_css: //netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap-theme.min.css
|
cdn_theme_css: //netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap-theme.min.css
|
||||||
cdn_js: //netdna.bootstrapcdn.com/bootstrap/3.1.0/js/bootstrap.min.js
|
cdn_js: //netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
# Generated on Wed Dec 18 2013 20:14:37 GMT-0800 (PST)
|
# This file is generated via Grunt task. **Do not edit directly.**
|
||||||
# **Don't edit this directly!**
|
# See the 'build-glyphicons-data' task in Gruntfile.js.
|
||||||
# Look at the 'build-glyphicons-data' task in Gruntfile.js
|
|
||||||
|
|
||||||
- glyphicon-asterisk
|
- glyphicon-asterisk
|
||||||
- glyphicon-plus
|
- glyphicon-plus
|
||||||
|
@@ -24,12 +24,12 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
|
|
||||||
<!-- Favicons -->
|
<!-- Favicons -->
|
||||||
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="{{ page.base_url }}docs-assets/ico/apple-touch-icon-144-precomposed.png">
|
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="{{ page.base_url }}docs-assets/ico/apple-touch-icon-144-precomposed.png">
|
||||||
<link rel="shortcut icon" href="{{ page.base_url }}docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="{{ page.base_url }}docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
var _gaq = _gaq || [];
|
var _gaq = _gaq || [];
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
<a href="#history">History</a>
|
<a href="#history">History</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#team">Core team</a>
|
<a href="#team">Team</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#community">Community</a>
|
<a href="#community">Community</a>
|
||||||
|
@@ -110,7 +110,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#less">Using LESS</a>
|
<a href="#less">Using Less</a>
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="#less-bootstrap">Compiling Bootstrap</a></li>
|
<li><a href="#less-bootstrap">Compiling Bootstrap</a></li>
|
||||||
<li><a href="#less-variables">Variables</a></li>
|
<li><a href="#less-variables">Variables</a></li>
|
||||||
@@ -118,3 +118,13 @@
|
|||||||
<li><a href="#less-mixins-utility">Utility mixins</a></li>
|
<li><a href="#less-mixins-utility">Utility mixins</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#sass">Using Sass</a>
|
||||||
|
<ul class="nav">
|
||||||
|
<li><a href="#sass-contents">What's included</a></li>
|
||||||
|
<li><a href="#sass-installation-rails">Rails install</a></li>
|
||||||
|
<li><a href="#sass-installation-compass">Compass install</a></li>
|
||||||
|
<li><a href="#sass-installation-sass-only">Sass install</a></li>
|
||||||
|
<li><a href="#sass-usage">Usage</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
@@ -20,6 +20,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="container bs-docs-container">
|
<div class="container bs-docs-container">
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-9" role="main">
|
<div class="col-md-9" role="main">
|
||||||
{{ content }}
|
{{ content }}
|
||||||
|
37
about.html
37
about.html
@@ -43,9 +43,11 @@ base_url: "../"
|
|||||||
================================================== -->
|
================================================== -->
|
||||||
<div class="bs-docs-section">
|
<div class="bs-docs-section">
|
||||||
<div class="page-header">
|
<div class="page-header">
|
||||||
<h1 id="team">Core team</h1>
|
<h1 id="team">Team</h1>
|
||||||
</div>
|
</div>
|
||||||
<p class="lead">Bootstrap is maintained by the founding team and a small group of invaluable core contributors, with the massive support and involvement of our community.</p>
|
<p class="lead">Bootstrap is maintained by the founding team and a small group of invaluable core contributors, with the massive support and involvement of our community.</p>
|
||||||
|
|
||||||
|
<h2 id="team-core">Core team</h2>
|
||||||
<div class="list-group bs-team">
|
<div class="list-group bs-team">
|
||||||
<div class="list-group-item">
|
<div class="list-group-item">
|
||||||
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=mdo&type=follow"></iframe>
|
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=mdo&type=follow"></iframe>
|
||||||
@@ -77,6 +79,39 @@ base_url: "../"
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p>Get involved with Bootstrap development by <a href="https://github.com/twbs/bootstrap/issues/new">opening an issue</a> or submitting a pull request. Read our <a href="https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md">contributing guidelines</a> for information on how we develop.</p>
|
<p>Get involved with Bootstrap development by <a href="https://github.com/twbs/bootstrap/issues/new">opening an issue</a> or submitting a pull request. Read our <a href="https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md">contributing guidelines</a> for information on how we develop.</p>
|
||||||
|
|
||||||
|
<h2 id="team-sass">Sass team</h2>
|
||||||
|
<div class="list-group bs-team">
|
||||||
|
<div class="list-group-item">
|
||||||
|
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=thomas-mcdonald&type=follow"></iframe>
|
||||||
|
<a class="team-member" href="https://github.com/thomas-mcdonald">
|
||||||
|
<img src="http://www.gravatar.com/avatar/24cd55ab1a62ffb113ab8c02f64c9301" alt="@thomas-mcdonald">
|
||||||
|
<strong>Thomas McDonald</strong> <small>@thomas-mcdonald</small>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="list-group-item">
|
||||||
|
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=glebm&type=follow"></iframe>
|
||||||
|
<a class="team-member" href="https://github.com/glebm">
|
||||||
|
<img src="http://www.gravatar.com/avatar/729f685b8e8d7e9feed18c177c82e59b" alt="@glebm">
|
||||||
|
<strong>Gleb Mazovetskiy</strong> <small>@glebm</small>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="list-group-item">
|
||||||
|
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=trisweb&type=follow"></iframe>
|
||||||
|
<a class="team-member" href="https://github.com/trisweb">
|
||||||
|
<img src="http://www.gravatar.com/avatar/eb97c4cc97698ed0b22918225d178761" alt="@trisweb">
|
||||||
|
<strong>Tristan Harward</strong> <small>@trisweb</small>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="list-group-item">
|
||||||
|
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=sporkd&type=follow"></iframe>
|
||||||
|
<a class="team-member" href="https://github.com/sporkd">
|
||||||
|
<img src="http://www.gravatar.com/avatar/492d8f2ba0e7807519cf4208e8f6d516" alt="@sporkd">
|
||||||
|
<strong>Peter Gumeson</strong> <small>@sporkd</small>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p>The <a href="{{ site.sass_repo }}">official Sass port of Bootstrap</a> was created and is maintained by this team. It became part of Bootstrap's organization with v3.1.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
14
bower.json
14
bower.json
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"name": "bootstrap",
|
"name": "bootstrap",
|
||||||
"version": "3.1.0",
|
"version": "3.0.3",
|
||||||
"main": [
|
"main": [
|
||||||
"./dist/js/bootstrap.js",
|
|
||||||
"./dist/css/bootstrap.css",
|
"./dist/css/bootstrap.css",
|
||||||
|
"./dist/js/bootstrap.js",
|
||||||
"./dist/fonts/glyphicons-halflings-regular.eot",
|
"./dist/fonts/glyphicons-halflings-regular.eot",
|
||||||
"./dist/fonts/glyphicons-halflings-regular.svg",
|
"./dist/fonts/glyphicons-halflings-regular.svg",
|
||||||
"./dist/fonts/glyphicons-halflings-regular.ttf",
|
"./dist/fonts/glyphicons-halflings-regular.ttf",
|
||||||
@@ -11,14 +11,14 @@
|
|||||||
],
|
],
|
||||||
"ignore": [
|
"ignore": [
|
||||||
"**/.*",
|
"**/.*",
|
||||||
|
"*.html",
|
||||||
"_*",
|
"_*",
|
||||||
|
"CNAME",
|
||||||
|
"composer.json",
|
||||||
|
"CONTRIBUTING.md",
|
||||||
"docs-assets",
|
"docs-assets",
|
||||||
"examples",
|
"examples",
|
||||||
"js/tests",
|
"js/tests"
|
||||||
"CNAME",
|
|
||||||
"CONTRIBUTING.md",
|
|
||||||
"composer.json",
|
|
||||||
"*.html"
|
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"jquery": ">= 1.9.0"
|
"jquery": ">= 1.9.0"
|
||||||
|
@@ -108,8 +108,12 @@ base_url: "../"
|
|||||||
</div>
|
</div>
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
<h3 id="dropdowns-alignment">Alignment options</h3>
|
<h3 id="dropdowns-alignment">Alignment</h3>
|
||||||
<p>Add <code>.dropdown-menu-right</code> to a <code>.dropdown-menu</code> to right align the dropdown menu.</p>
|
<p>By default, a dropdown menu is automatically positioned 100% from the top and along the left side of its parent. Add <code>.dropdown-menu-right</code> to a <code>.dropdown-menu</code> to right align the dropdown menu.</p>
|
||||||
|
<div class="bs-callout bs-callout-warning">
|
||||||
|
<h4>May require additional positioning</h4>
|
||||||
|
<p>Dropdowns are automatically positioned via CSS within the normal flow of the document. This means dropdowns may be cropped by parents with certain <code>overflow</code> properties or appear out of bounds of the viewport. Address these issues on your own as they arise.</p>
|
||||||
|
</div>
|
||||||
<div class="bs-callout bs-callout-warning">
|
<div class="bs-callout bs-callout-warning">
|
||||||
<h4>Deprecated <code>.pull-right</code> alignment</h4>
|
<h4>Deprecated <code>.pull-right</code> alignment</h4>
|
||||||
<p>As of v3.1, we've deprecated <code>.pull-right</code> on dropdown menus. To right-align a menu, use <code>.dropdown-menu-right</code>. Right-aligned nav components in the navbar use a mixin version of this class to automatically align the menu. To override it, use <code>.dropdown-menu-left</code>.</p>
|
<p>As of v3.1, we've deprecated <code>.pull-right</code> on dropdown menus. To right-align a menu, use <code>.dropdown-menu-right</code>. Right-aligned nav components in the navbar use a mixin version of this class to automatically align the menu. To override it, use <code>.dropdown-menu-left</code>.</p>
|
||||||
@@ -368,6 +372,11 @@ base_url: "../"
|
|||||||
<h3 id="btn-groups-justified">Justified link variation</h3>
|
<h3 id="btn-groups-justified">Justified link variation</h3>
|
||||||
<p>Make a group of buttons stretch at the same size to span the entire width of its parent. Also works with button dropdowns within the button group.</p>
|
<p>Make a group of buttons stretch at the same size to span the entire width of its parent. Also works with button dropdowns within the button group.</p>
|
||||||
|
|
||||||
|
<div class="bs-callout bs-callout-warning">
|
||||||
|
<h4>Handling borders</h4>
|
||||||
|
<p>Due to the specific HTML and CSS used to justify buttons (namely <code>display: table-cell</code>), the borders between them are doubled. In regular button groups, <code>margin-left: -1px</code> is used to stack the borders instead of removing them. However, <code>margin</code> doesn't work with <code>display: table-cell</code>. As a result, depending on your customizations to Bootstrap, you may wish to remove or re-color the borders.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="bs-callout bs-callout-warning">
|
<div class="bs-callout bs-callout-warning">
|
||||||
<h4>Element-specific usage</h4>
|
<h4>Element-specific usage</h4>
|
||||||
<p>This only works with <code><a></code> elements as the <code><button></code> doesn't pick up the styles we use to justify content (some <code>display: table-cell;</code>-fu).</p>
|
<p>This only works with <code><a></code> elements as the <code><button></code> doesn't pick up the styles we use to justify content (some <code>display: table-cell;</code>-fu).</p>
|
||||||
@@ -2143,7 +2152,7 @@ body { padding-bottom: 70px; }
|
|||||||
<strong>Heads up!</strong> This alert needs your attention, but it's not super important.
|
<strong>Heads up!</strong> This alert needs your attention, but it's not super important.
|
||||||
</div>
|
</div>
|
||||||
<div class="alert alert-warning">
|
<div class="alert alert-warning">
|
||||||
<strong>Warning!</strong> Best check yo self, you're not looking too good.
|
<strong>Warning!</strong> Better check yourself, you're not looking too good.
|
||||||
</div>
|
</div>
|
||||||
<div class="alert alert-danger">
|
<div class="alert alert-danger">
|
||||||
<strong>Oh snap!</strong> Change a few things up and try submitting again.
|
<strong>Oh snap!</strong> Change a few things up and try submitting again.
|
||||||
@@ -2161,13 +2170,13 @@ body { padding-bottom: 70px; }
|
|||||||
<div class="bs-example">
|
<div class="bs-example">
|
||||||
<div class="alert alert-warning alert-dismissable">
|
<div class="alert alert-warning alert-dismissable">
|
||||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||||
<strong>Warning!</strong> Best check yo self, you're not looking too good.
|
<strong>Warning!</strong> Better check yourself, you're not looking too good.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% highlight html %}
|
{% highlight html %}
|
||||||
<div class="alert alert-warning alert-dismissable">
|
<div class="alert alert-warning alert-dismissable">
|
||||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||||
<strong>Warning!</strong> Best check yo self, you're not looking too good.
|
<strong>Warning!</strong> Better check yourself, you're not looking too good.
|
||||||
</div>
|
</div>
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
@@ -2186,7 +2195,7 @@ body { padding-bottom: 70px; }
|
|||||||
<strong>Heads up!</strong> This <a href="#" class="alert-link">alert needs your attention</a>, but it's not super important.
|
<strong>Heads up!</strong> This <a href="#" class="alert-link">alert needs your attention</a>, but it's not super important.
|
||||||
</div>
|
</div>
|
||||||
<div class="alert alert-warning">
|
<div class="alert alert-warning">
|
||||||
<strong>Warning!</strong> Best check yo self, you're <a href="#" class="alert-link">not looking too good</a>.
|
<strong>Warning!</strong> Better check yourself, you're <a href="#" class="alert-link">not looking too good</a>.
|
||||||
</div>
|
</div>
|
||||||
<div class="alert alert-danger">
|
<div class="alert alert-danger">
|
||||||
<strong>Oh snap!</strong> <a href="#" class="alert-link">Change a few things up</a> and try submitting again.
|
<strong>Oh snap!</strong> <a href="#" class="alert-link">Change a few things up</a> and try submitting again.
|
||||||
|
226
css.html
226
css.html
@@ -79,7 +79,7 @@ base_url: "../"
|
|||||||
<li>Rows must be placed within a <code>.container</code> (fixed-width) or <code>.container-fluid</code> (full-width) for proper alignment and padding.</li>
|
<li>Rows must be placed within a <code>.container</code> (fixed-width) or <code>.container-fluid</code> (full-width) for proper alignment and padding.</li>
|
||||||
<li>Use rows to create horizontal groups of columns.</li>
|
<li>Use rows to create horizontal groups of columns.</li>
|
||||||
<li>Content should be placed within columns, and only columns may be immediate children of rows.</li>
|
<li>Content should be placed within columns, and only columns may be immediate children of rows.</li>
|
||||||
<li>Predefined grid classes like <code>.row</code> and <code>.col-xs-4</code> are available for quickly making grid layouts. LESS mixins can also be used for more semantic layouts.</li>
|
<li>Predefined grid classes like <code>.row</code> and <code>.col-xs-4</code> are available for quickly making grid layouts. Less mixins can also be used for more semantic layouts.</li>
|
||||||
<li>Columns create gutters (gaps between column content) via <code>padding</code>. That padding is offset in rows for the first and last column via negative margin on <code>.row</code>s.</li>
|
<li>Columns create gutters (gaps between column content) via <code>padding</code>. That padding is offset in rows for the first and last column via negative margin on <code>.row</code>s.</li>
|
||||||
<li>Grid columns are created by specifying the number of twelve available columns you wish to span. For example, three equal columns would use three <code>.col-xs-4</code>.</li>
|
<li>Grid columns are created by specifying the number of twelve available columns you wish to span. For example, three equal columns would use three <code>.col-xs-4</code>.</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -91,7 +91,7 @@ base_url: "../"
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h3 id="grid-media-queries">Media queries</h3>
|
<h3 id="grid-media-queries">Media queries</h3>
|
||||||
<p>We use the following media queries in our LESS files to create the key breakpoints in our grid system.</p>
|
<p>We use the following media queries in our Less files to create the key breakpoints in our grid system.</p>
|
||||||
{% highlight css %}
|
{% highlight css %}
|
||||||
/* Extra small devices (phones, less than 768px) */
|
/* Extra small devices (phones, less than 768px) */
|
||||||
/* No media query since this is the default in Bootstrap */
|
/* No media query since this is the default in Bootstrap */
|
||||||
@@ -447,8 +447,8 @@ base_url: "../"
|
|||||||
</div>
|
</div>
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
<h3 id="grid-less">LESS mixins and variables</h3>
|
<h3 id="grid-less">Less mixins and variables</h3>
|
||||||
<p>In addition to <a href="#grid-example-basic">prebuilt grid classes</a> for fast layouts, Bootstrap includes LESS variables and mixins for quickly generating your own simple, semantic layouts.</p>
|
<p>In addition to <a href="#grid-example-basic">prebuilt grid classes</a> for fast layouts, Bootstrap includes Less variables and mixins for quickly generating your own simple, semantic layouts.</p>
|
||||||
|
|
||||||
<h4>Variables</h4>
|
<h4>Variables</h4>
|
||||||
<p>Variables determine the number of columns, the gutter width, and the media query point at which to begin floating columns. We use these to generate the predefined grid classes documented above, as well as for the custom mixins listed below.</p>
|
<p>Variables determine the number of columns, the gutter width, and the media query point at which to begin floating columns. We use these to generate the predefined grid classes documented above, as well as for the custom mixins listed below.</p>
|
||||||
@@ -726,9 +726,9 @@ base_url: "../"
|
|||||||
<p class="lead">...</p>
|
<p class="lead">...</p>
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
<!-- Using LESS -->
|
<!-- Using Less -->
|
||||||
<h3>Built with Less</h3>
|
<h3>Built with Less</h3>
|
||||||
<p>The typographic scale is based on two LESS variables in <strong>variables.less</strong>: <code>@font-size-base</code> and <code>@line-height-base</code>. The first is the base font-size used throughout and the second is the base line-height. We use those variables and some simple math to create the margins, paddings, and line-heights of all our type and more. Customize them and Bootstrap adapts.</p>
|
<p>The typographic scale is based on two Less variables in <strong>variables.less</strong>: <code>@font-size-base</code> and <code>@line-height-base</code>. The first is the base font-size used throughout and the second is the base line-height. We use those variables and some simple math to create the margins, paddings, and line-heights of all our type and more. Customize them and Bootstrap adapts.</p>
|
||||||
|
|
||||||
|
|
||||||
<!-- Emphasis -->
|
<!-- Emphasis -->
|
||||||
@@ -2817,9 +2817,9 @@ For example, <code><section></code> should be wrapped as inline.
|
|||||||
================================================== -->
|
================================================== -->
|
||||||
<div class="bs-docs-section" id="less">
|
<div class="bs-docs-section" id="less">
|
||||||
<div class="page-header">
|
<div class="page-header">
|
||||||
<h1>Using LESS</h1>
|
<h1>Using Less</h1>
|
||||||
</div>
|
</div>
|
||||||
<p class="lead">Bootstrap's CSS is built on LESS, a preprocessor with additional functionality like variables, mixins, and functions for compiling CSS. Those looking to use the source LESS files instead of our compiled CSS files can make use of the numerous variables and mixins we use throughout the framework.</p>
|
<p class="lead">Bootstrap's CSS is built on Less, a preprocessor with additional functionality like variables, mixins, and functions for compiling CSS. Those looking to use the source Less files instead of our compiled CSS files can make use of the numerous variables and mixins we use throughout the framework.</p>
|
||||||
|
|
||||||
<p>Grid variables and mixins are covered <a href="{{ page.base_url }}css/#grid-less">within the Grid system section</a>.</p>
|
<p>Grid variables and mixins are covered <a href="{{ page.base_url }}css/#grid-less">within the Grid system section</a>.</p>
|
||||||
|
|
||||||
@@ -2874,7 +2874,7 @@ For example, <code><section></code> should be wrapped as inline.
|
|||||||
background-color: @brand-primary;
|
background-color: @brand-primary;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reassigned variables in LESS
|
// Reassigned variables in Less
|
||||||
@alert-message-background: @brand-info;
|
@alert-message-background: @brand-info;
|
||||||
.alert {
|
.alert {
|
||||||
background-color: @alert-message-background;
|
background-color: @alert-message-background;
|
||||||
@@ -2907,7 +2907,7 @@ a {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
<p>Note that the <code>@link-color-hover</code> uses a function, another awesome tool from LESS, to automagically create the right hover color. You can use <code>darken</code>, <code>lighten</code>, <code>saturate</code>, and <code>desaturate</code>.</p>
|
<p>Note that the <code>@link-color-hover</code> uses a function, another awesome tool from Less, to automagically create the right hover color. You can use <code>darken</code>, <code>lighten</code>, <code>saturate</code>, and <code>desaturate</code>.</p>
|
||||||
|
|
||||||
<h3 id="less-variables-typography">Typography</h3>
|
<h3 id="less-variables-typography">Typography</h3>
|
||||||
<p>Easily set your type face, text size, leading, and more with a few quick variables. Bootstrap makes use of these as well to provide easy typographic mixins.</p>
|
<p>Easily set your type face, text size, leading, and more with a few quick variables. Bootstrap makes use of these as well to provide easy typographic mixins.</p>
|
||||||
@@ -3307,3 +3307,209 @@ a {
|
|||||||
}
|
}
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Using Sass
|
||||||
|
================================================== -->
|
||||||
|
<div class="bs-docs-section" id="sass">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>Using Sass</h1>
|
||||||
|
</div>
|
||||||
|
<p class="lead">While Bootstrap is built on Less, it also has an <a href="{{ site.sass_repo }}">official Sass port</a>. We maintain it in a separate GitHub repository and handle updates with a conversion script.</p>
|
||||||
|
|
||||||
|
<h2 id="sass-contents">What's included</h2>
|
||||||
|
<p>Since the Sass port has a separate repo and serves a slightly different audience, the contents of the project differ greatly from the main Bootstrap project. This ensures the Sass port is as compatible with as many Sass-based systems as possible.</p>
|
||||||
|
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-bordered table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Path</th>
|
||||||
|
<th>Description</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th><code>lib/</code></th>
|
||||||
|
<td>Ruby gem code (Sass configuration, Rails and Compass integrations)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><code>tasks/</code></th>
|
||||||
|
<td>Converter scripts (turning upstream Less to Sass)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><code>test/</code></th>
|
||||||
|
<td>Compilation tests</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><code>templates/</code></th>
|
||||||
|
<td>Compass package manifest</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><code>vendor/assets/</code></th>
|
||||||
|
<td>Sass, JavaScript, and font files</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><code>Rakefile</code></th>
|
||||||
|
<td>Internal tasks, such as rake and convert</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<p>Visit the <a href="{{ site.sass_repo }}">Sass port's GitHub repository</a> to see this files in action.</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="sass-installation">Installation</h2>
|
||||||
|
<p>Use the appropriate guide for your environment of choice.</p>
|
||||||
|
|
||||||
|
<h3 id="sass-installation-rails">Rails</h3>
|
||||||
|
|
||||||
|
<p><code>bootstrap-sass</code> is easy to drop into Rails with the asset pipeline.</p>
|
||||||
|
|
||||||
|
<p>In your Gemfile you need to add the <code>bootstrap-sass</code> gem, and ensure that the <code>sass-rails</code> gem is present—it is added to new Rails applications by default.</p>
|
||||||
|
|
||||||
|
{% highlight ruby %}
|
||||||
|
gem 'sass-rails', '>= 3.2' # sass-rails needs to be higher than 3.2
|
||||||
|
gem 'bootstrap-sass', '~> 3.0.3.0'
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
<p><code>bundle install</code> and restart your server to make the files available through the pipeline.</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h3 id="sass-installation-compass">Compass <small>without Rails</small></h3>
|
||||||
|
|
||||||
|
<p>Install the gem:</p>
|
||||||
|
|
||||||
|
{% highlight bash %}
|
||||||
|
gem install bootstrap-sass
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
<p>If you have an existing Compass project:</p>
|
||||||
|
|
||||||
|
{% highlight ruby %}
|
||||||
|
# config.rb:
|
||||||
|
require 'bootstrap-sass'
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
{% highlight bash %}
|
||||||
|
bundle exec compass install bootstrap
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
<p>If you are creating a new Compass project, you can generate it with <code>bootstrap-sass</code> support:</p>
|
||||||
|
|
||||||
|
{% highlight bash %}
|
||||||
|
bundle exec compass create my-new-project -r bootstrap-sass --using bootstrap
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
<p>This will create a new Compass project with the following files in it:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="{{ site.sass_repo }}/blob/master/templates/project/_variables.scss.erb">_variables.scss</a> — all of bootstrap variables (override them here).
|
||||||
|
</li>
|
||||||
|
<li><a href="{{ site.sass_repo }}/blob/master/templates/project/styles.scss">styles.scss</a> — main project SCSS file, import `variables` and `bootstrap`.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<h3 id="sass-installation-sass-only">Sass-only <small>without Compass or Rails</small></h3>
|
||||||
|
|
||||||
|
<p>Require the gem, and load paths and Sass helpers will be configured automatically:</p>
|
||||||
|
|
||||||
|
{% highlight ruby %}
|
||||||
|
require 'bootstrap-sass'
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
<p>Using bootstrap-sass as a Bower package is still being tested. You can install it with:</p>
|
||||||
|
|
||||||
|
{% highlight bash %}
|
||||||
|
bower install 'git://github.com/twbs/bootstrap-sass.git#v3.0.3.0'
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
<h4>JS and fonts</h4>
|
||||||
|
|
||||||
|
<p>If you are using Rails or Sprockets, see Usage. If none of Rails/Sprockets/Compass were detected the fonts will be referenced as:</p>
|
||||||
|
|
||||||
|
{% highlight sass %}
|
||||||
|
"#{$icon-font-path}/#{$icon-font-name}.eot"
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
<p><code>$icon-font-path</code> defaults to <code>bootstrap/</code>. When not using an asset pipeline, you have to copy fonts and javascripts from the gem.</p>
|
||||||
|
|
||||||
|
{% highlight bash %}
|
||||||
|
mkdir public/fonts
|
||||||
|
cp -r $(bundle show bootstrap-sass)/vendor/assets/fonts/ public/fonts/
|
||||||
|
mkdir public/javascripts
|
||||||
|
cp -r $(bundle show bootstrap-sass)/vendor/assets/javascripts/ public/javascripts/
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
<p>In ruby you can get the assets' location in the filesystem like this:</p>
|
||||||
|
|
||||||
|
{% highlight ruby %}
|
||||||
|
Bootstrap.stylesheets_path
|
||||||
|
Bootstrap.fonts_path
|
||||||
|
Bootstrap.javascripts_path
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="sass-usage">Usage</h2>
|
||||||
|
|
||||||
|
<h3 id="sass-usage-sass">Sass</h3>
|
||||||
|
|
||||||
|
<p>Import Bootstrap into a Sass file (for example, <code>application.css.scss</code>) to get all of Bootstrap's styles, mixins and variables! We recommend against using <code>//= require</code> directives, since none of your other stylesheets will be <a href="{{ site.sass_repo }}/issues/79#issuecomment-4428595">able to access</a> the Bootstrap mixins or variables.</p>
|
||||||
|
|
||||||
|
{% highlight sass %}
|
||||||
|
@import "bootstrap";
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
<p>You can also include optional Bootstrap theme:</p>
|
||||||
|
|
||||||
|
{% highlight sass %}
|
||||||
|
@import "bootstrap/theme";
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
<p>The full list of Bootstrap variables can be found <a href="{{ page.url }}customize/#less-variables">in the Customizer</a>. You can override these by simply redefining the variable before the <code>@import</code> directive, e.g.:</p>
|
||||||
|
|
||||||
|
{% highlight sass %}
|
||||||
|
$navbar-default-bg: #312312;
|
||||||
|
$light-orange: #ff8c00;
|
||||||
|
$navbar-default-color: $light-orange;
|
||||||
|
|
||||||
|
@import "bootstrap";
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
<p>You can also import components explicitly. To start with a full list of modules copy this file from the gem:</p>
|
||||||
|
|
||||||
|
{% highlight bash %}
|
||||||
|
# copy and prepend "bootstrap/" to the @import paths:
|
||||||
|
sed 's/@import "/@import "bootstrap\//' \
|
||||||
|
$(bundle show bootstrap-sass)/vendor/assets/stylesheets/bootstrap/bootstrap.scss > \
|
||||||
|
app/assets/stylesheets/bootstrap-custom.scss
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
<p>In your <code>application.sass</code>, replace <code>@import 'bootstrap'</code> with:</p>
|
||||||
|
|
||||||
|
{% highlight sass %}
|
||||||
|
@import 'bootstrap-custom';
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
<p>Comment out any components you do not want from <code>bootstrap-custom</code>.</p>
|
||||||
|
|
||||||
|
<h3 id="sass-usage-js">JavaScript</h3>
|
||||||
|
|
||||||
|
<p>We have a helper that includes all Bootstrap javascripts. If you use Rails (or Sprockets separately), put this in your Javascript manifest (usually in <code>application.js</code>) to load the files in the [correct order](/vendor/assets/javascripts/bootstrap.js):</p>
|
||||||
|
|
||||||
|
{% highlight js %}
|
||||||
|
// Loads all Bootstrap javascripts
|
||||||
|
//= require bootstrap
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
<p>You can also load individual modules, provided you also require any dependencies. You can check dependencies in the [Bootstrap JS documentation][jsdocs].</p>
|
||||||
|
|
||||||
|
{% highlight js %}
|
||||||
|
//= require bootstrap/scrollspy
|
||||||
|
//= require bootstrap/modal
|
||||||
|
//= require bootstrap/dropdown
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
51
dist/css/bootstrap-theme.css
vendored
51
dist/css/bootstrap-theme.css
vendored
@@ -1,10 +1,9 @@
|
|||||||
/*!
|
/*!
|
||||||
* Bootstrap v3.1.0 (http://getbootstrap.com)
|
* Bootstrap v3.0.3 (http://getbootstrap.com)
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
.btn-default,
|
.btn-default,
|
||||||
.btn-primary,
|
.btn-primary,
|
||||||
.btn-success,
|
.btn-success,
|
||||||
@@ -151,27 +150,27 @@
|
|||||||
}
|
}
|
||||||
.dropdown-menu > li > a:hover,
|
.dropdown-menu > li > a:hover,
|
||||||
.dropdown-menu > li > a:focus {
|
.dropdown-menu > li > a:focus {
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
|
||||||
background-color: #e8e8e8;
|
background-color: #e8e8e8;
|
||||||
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||||
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
||||||
background-repeat: repeat-x;
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
.dropdown-menu > .active > a,
|
.dropdown-menu > .active > a,
|
||||||
.dropdown-menu > .active > a:hover,
|
.dropdown-menu > .active > a:hover,
|
||||||
.dropdown-menu > .active > a:focus {
|
.dropdown-menu > .active > a:focus {
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
|
|
||||||
background-color: #357ebd;
|
background-color: #357ebd;
|
||||||
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
|
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
|
||||||
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
|
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
|
||||||
background-repeat: repeat-x;
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
.navbar-default {
|
.navbar-default {
|
||||||
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
|
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
|
||||||
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
|
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
|
background-repeat: repeat-x;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
|
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
|
||||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
|
||||||
@@ -179,8 +178,8 @@
|
|||||||
.navbar-default .navbar-nav > .active > a {
|
.navbar-default .navbar-nav > .active > a {
|
||||||
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);
|
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);
|
||||||
background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%);
|
background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
|
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
|
||||||
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
|
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
|
||||||
}
|
}
|
||||||
@@ -191,15 +190,15 @@
|
|||||||
.navbar-inverse {
|
.navbar-inverse {
|
||||||
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
|
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
|
||||||
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
|
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
.navbar-inverse .navbar-nav > .active > a {
|
.navbar-inverse .navbar-nav > .active > a {
|
||||||
background-image: -webkit-linear-gradient(top, #222 0%, #282828 100%);
|
background-image: -webkit-linear-gradient(top, #222 0%, #282828 100%);
|
||||||
background-image: linear-gradient(to bottom, #222 0%, #282828 100%);
|
background-image: linear-gradient(to bottom, #222 0%, #282828 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
|
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
|
||||||
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
|
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
|
||||||
}
|
}
|
||||||
@@ -220,66 +219,66 @@
|
|||||||
.alert-success {
|
.alert-success {
|
||||||
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
||||||
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
|
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
border-color: #b2dba1;
|
border-color: #b2dba1;
|
||||||
}
|
}
|
||||||
.alert-info {
|
.alert-info {
|
||||||
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
||||||
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
|
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
border-color: #9acfea;
|
border-color: #9acfea;
|
||||||
}
|
}
|
||||||
.alert-warning {
|
.alert-warning {
|
||||||
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
||||||
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
|
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
border-color: #f5e79e;
|
border-color: #f5e79e;
|
||||||
}
|
}
|
||||||
.alert-danger {
|
.alert-danger {
|
||||||
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
||||||
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
|
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
border-color: #dca7a7;
|
border-color: #dca7a7;
|
||||||
}
|
}
|
||||||
.progress {
|
.progress {
|
||||||
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
||||||
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
|
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
.progress-bar {
|
.progress-bar {
|
||||||
background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%);
|
background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%);
|
||||||
background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
|
background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
.progress-bar-success {
|
.progress-bar-success {
|
||||||
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
||||||
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
|
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
.progress-bar-info {
|
.progress-bar-info {
|
||||||
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
||||||
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
|
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
.progress-bar-warning {
|
.progress-bar-warning {
|
||||||
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
||||||
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
|
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
.progress-bar-danger {
|
.progress-bar-danger {
|
||||||
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
||||||
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
|
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
.list-group {
|
.list-group {
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
@@ -292,8 +291,8 @@
|
|||||||
text-shadow: 0 -1px 0 #3071a9;
|
text-shadow: 0 -1px 0 #3071a9;
|
||||||
background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%);
|
background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%);
|
||||||
background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);
|
background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
border-color: #3278b3;
|
border-color: #3278b3;
|
||||||
}
|
}
|
||||||
.panel {
|
.panel {
|
||||||
@@ -303,44 +302,44 @@
|
|||||||
.panel-default > .panel-heading {
|
.panel-default > .panel-heading {
|
||||||
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||||
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
.panel-primary > .panel-heading {
|
.panel-primary > .panel-heading {
|
||||||
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
|
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
|
||||||
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
|
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
.panel-success > .panel-heading {
|
.panel-success > .panel-heading {
|
||||||
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
||||||
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
|
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
.panel-info > .panel-heading {
|
.panel-info > .panel-heading {
|
||||||
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
||||||
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
|
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
.panel-warning > .panel-heading {
|
.panel-warning > .panel-heading {
|
||||||
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
||||||
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
|
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
.panel-danger > .panel-heading {
|
.panel-danger > .panel-heading {
|
||||||
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
||||||
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
|
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
.well {
|
.well {
|
||||||
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
||||||
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
|
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
|
||||||
|
background-repeat: repeat-x;
|
||||||
border-color: #dcdcdc;
|
border-color: #dcdcdc;
|
||||||
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
|
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
|
||||||
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
|
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
|
||||||
|
3
dist/css/bootstrap-theme.min.css
vendored
3
dist/css/bootstrap-theme.min.css
vendored
File diff suppressed because one or more lines are too long
88
dist/css/bootstrap.css
vendored
88
dist/css/bootstrap.css
vendored
@@ -1,10 +1,9 @@
|
|||||||
/*!
|
/*!
|
||||||
* Bootstrap v3.1.0 (http://getbootstrap.com)
|
* Bootstrap v3.0.3 (http://getbootstrap.com)
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
|
/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
|
||||||
article,
|
article,
|
||||||
aside,
|
aside,
|
||||||
@@ -35,6 +34,7 @@ template {
|
|||||||
}
|
}
|
||||||
html {
|
html {
|
||||||
font-family: sans-serif;
|
font-family: sans-serif;
|
||||||
|
|
||||||
-ms-text-size-adjust: 100%;
|
-ms-text-size-adjust: 100%;
|
||||||
-webkit-text-size-adjust: 100%;
|
-webkit-text-size-adjust: 100%;
|
||||||
}
|
}
|
||||||
@@ -154,10 +154,10 @@ input[type="radio"] {
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
input[type="search"] {
|
input[type="search"] {
|
||||||
-webkit-appearance: textfield;
|
|
||||||
-webkit-box-sizing: content-box;
|
-webkit-box-sizing: content-box;
|
||||||
-moz-box-sizing: content-box;
|
-moz-box-sizing: content-box;
|
||||||
box-sizing: content-box;
|
box-sizing: content-box;
|
||||||
|
-webkit-appearance: textfield;
|
||||||
}
|
}
|
||||||
input[type="search"]::-webkit-search-cancel-button,
|
input[type="search"]::-webkit-search-cancel-button,
|
||||||
input[type="search"]::-webkit-search-decoration {
|
input[type="search"]::-webkit-search-decoration {
|
||||||
@@ -200,6 +200,7 @@ table {
|
|||||||
pre,
|
pre,
|
||||||
blockquote {
|
blockquote {
|
||||||
border: 1px solid #999;
|
border: 1px solid #999;
|
||||||
|
|
||||||
page-break-inside: avoid;
|
page-break-inside: avoid;
|
||||||
}
|
}
|
||||||
thead {
|
thead {
|
||||||
@@ -259,6 +260,7 @@ table {
|
|||||||
}
|
}
|
||||||
html {
|
html {
|
||||||
font-size: 62.5%;
|
font-size: 62.5%;
|
||||||
|
|
||||||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
||||||
}
|
}
|
||||||
body {
|
body {
|
||||||
@@ -1572,9 +1574,9 @@ table th[class*="col-"] {
|
|||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
overflow-x: scroll;
|
overflow-x: scroll;
|
||||||
overflow-y: hidden;
|
overflow-y: hidden;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
-ms-overflow-style: -ms-autohiding-scrollbar;
|
-ms-overflow-style: -ms-autohiding-scrollbar;
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
}
|
}
|
||||||
.table-responsive > .table {
|
.table-responsive > .table {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
@@ -1975,7 +1977,6 @@ textarea.input-lg {
|
|||||||
.btn {
|
.btn {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding: 6px 12px;
|
padding: 6px 12px;
|
||||||
-o-user-select: none;
|
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
@@ -1987,6 +1988,7 @@ textarea.input-lg {
|
|||||||
-webkit-user-select: none;
|
-webkit-user-select: none;
|
||||||
-moz-user-select: none;
|
-moz-user-select: none;
|
||||||
-ms-user-select: none;
|
-ms-user-select: none;
|
||||||
|
-o-user-select: none;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
background-image: none;
|
background-image: none;
|
||||||
border: 1px solid transparent;
|
border: 1px solid transparent;
|
||||||
@@ -2014,10 +2016,10 @@ textarea.input-lg {
|
|||||||
fieldset[disabled] .btn {
|
fieldset[disabled] .btn {
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
opacity: .65;
|
|
||||||
filter: alpha(opacity=65);
|
filter: alpha(opacity=65);
|
||||||
-webkit-box-shadow: none;
|
-webkit-box-shadow: none;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
|
opacity: .65;
|
||||||
}
|
}
|
||||||
.btn-default {
|
.btn-default {
|
||||||
color: #333;
|
color: #333;
|
||||||
@@ -2353,6 +2355,7 @@ input[type="button"].btn-block {
|
|||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Glyphicons Halflings';
|
font-family: 'Glyphicons Halflings';
|
||||||
|
|
||||||
src: url('../fonts/glyphicons-halflings-regular.eot');
|
src: url('../fonts/glyphicons-halflings-regular.eot');
|
||||||
src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');
|
src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');
|
||||||
}
|
}
|
||||||
@@ -2364,6 +2367,7 @@ input[type="button"].btn-block {
|
|||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
|
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
-moz-osx-font-smoothing: grayscale;
|
-moz-osx-font-smoothing: grayscale;
|
||||||
}
|
}
|
||||||
@@ -3044,10 +3048,10 @@ input[type="button"].btn-block {
|
|||||||
.dropdown-menu > .disabled > a:hover,
|
.dropdown-menu > .disabled > a:hover,
|
||||||
.dropdown-menu > .disabled > a:focus {
|
.dropdown-menu > .disabled > a:focus {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
background-image: none;
|
background-image: none;
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
}
|
}
|
||||||
.open > .dropdown-menu {
|
.open > .dropdown-menu {
|
||||||
display: block;
|
display: block;
|
||||||
@@ -3646,9 +3650,9 @@ textarea.input-group-sm > .input-group-btn > .btn {
|
|||||||
padding-right: 15px;
|
padding-right: 15px;
|
||||||
padding-left: 15px;
|
padding-left: 15px;
|
||||||
overflow-x: visible;
|
overflow-x: visible;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
border-top: 1px solid transparent;
|
border-top: 1px solid transparent;
|
||||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
}
|
}
|
||||||
.navbar-collapse.in {
|
.navbar-collapse.in {
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
@@ -4767,6 +4771,26 @@ a.list-group-item-info.active:focus {
|
|||||||
.panel > .table-responsive > .table {
|
.panel > .table-responsive > .table {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
.panel > .table > tbody:last-child > tr:last-child td:first-child,
|
||||||
|
.panel > .table-responsive > .table > tbody:last-child > tr:last-child td:first-child,
|
||||||
|
.panel > .table > tfoot:last-child > tr:last-child td:first-child,
|
||||||
|
.panel > .table-responsive > .table > tfoot:last-child > tr:last-child td:first-child,
|
||||||
|
.panel > .table > tbody:last-child > tr:last-child th:first-child,
|
||||||
|
.panel > .table-responsive > .table > tbody:last-child > tr:last-child th:first-child,
|
||||||
|
.panel > .table > tfoot:last-child > tr:last-child th:first-child,
|
||||||
|
.panel > .table-responsive > .table > tfoot:last-child > tr:last-child th:first-child {
|
||||||
|
border-bottom-left-radius: 3px;
|
||||||
|
}
|
||||||
|
.panel > .table > tbody:last-child > tr:last-child td:last-child,
|
||||||
|
.panel > .table-responsive > .table > tbody:last-child > tr:last-child td:last-child,
|
||||||
|
.panel > .table > tfoot:last-child > tr:last-child td:last-child,
|
||||||
|
.panel > .table-responsive > .table > tfoot:last-child > tr:last-child td:last-child,
|
||||||
|
.panel > .table > tbody:last-child > tr:last-child th:last-child,
|
||||||
|
.panel > .table-responsive > .table > tbody:last-child > tr:last-child th:last-child,
|
||||||
|
.panel > .table > tfoot:last-child > tr:last-child th:last-child,
|
||||||
|
.panel > .table-responsive > .table > tfoot:last-child > tr:last-child th:last-child {
|
||||||
|
border-bottom-right-radius: 3px;
|
||||||
|
}
|
||||||
.panel > .panel-body + .table,
|
.panel > .panel-body + .table,
|
||||||
.panel > .panel-body + .table-responsive {
|
.panel > .panel-body + .table-responsive {
|
||||||
border-top: 1px solid #ddd;
|
border-top: 1px solid #ddd;
|
||||||
@@ -4825,18 +4849,6 @@ a.list-group-item-info.active:focus {
|
|||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
.panel > .table-striped > tbody > tr:last-child td:first-child,
|
|
||||||
.panel > .table-responsive > .table-striped > tbody > tr:last-child td:first-child,
|
|
||||||
.panel > .table-striped > tbody > tr:last-child th:first-child,
|
|
||||||
.panel > .table-responsive > .table-striped > tbody > tr:last-child th:first-child {
|
|
||||||
border-bottom-left-radius: 3px;
|
|
||||||
}
|
|
||||||
.panel > .table-striped > tbody > tr:last-child td:last-child,
|
|
||||||
.panel > .table-responsive > .table-striped > tbody > tr:last-child td:last-child,
|
|
||||||
.panel > .table-striped > tbody > tr:last-child th:last-child,
|
|
||||||
.panel > .table-responsive > .table-striped > tbody > tr:last-child th:last-child {
|
|
||||||
border-bottom-left-radius: 3px;
|
|
||||||
}
|
|
||||||
.panel-heading {
|
.panel-heading {
|
||||||
padding: 10px 15px;
|
padding: 10px 15px;
|
||||||
border-bottom: 1px solid transparent;
|
border-bottom: 1px solid transparent;
|
||||||
@@ -4995,23 +5007,23 @@ a.list-group-item-info.active:focus {
|
|||||||
line-height: 1;
|
line-height: 1;
|
||||||
color: #000;
|
color: #000;
|
||||||
text-shadow: 0 1px 0 #fff;
|
text-shadow: 0 1px 0 #fff;
|
||||||
opacity: .2;
|
|
||||||
filter: alpha(opacity=20);
|
filter: alpha(opacity=20);
|
||||||
|
opacity: .2;
|
||||||
}
|
}
|
||||||
.close:hover,
|
.close:hover,
|
||||||
.close:focus {
|
.close:focus {
|
||||||
color: #000;
|
color: #000;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
opacity: .5;
|
|
||||||
filter: alpha(opacity=50);
|
filter: alpha(opacity=50);
|
||||||
|
opacity: .5;
|
||||||
}
|
}
|
||||||
button.close {
|
button.close {
|
||||||
|
-webkit-appearance: none;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border: 0;
|
border: 0;
|
||||||
-webkit-appearance: none;
|
|
||||||
}
|
}
|
||||||
.modal-open {
|
.modal-open {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
@@ -5023,20 +5035,20 @@ button.close {
|
|||||||
bottom: 0;
|
bottom: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
z-index: 1050;
|
z-index: 1050;
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
display: none;
|
display: none;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
outline: 0;
|
outline: 0;
|
||||||
}
|
}
|
||||||
.modal.fade .modal-dialog {
|
.modal.fade .modal-dialog {
|
||||||
-webkit-transition: -webkit-transform .3s ease-out;
|
-webkit-transition: -webkit-transform .3s ease-out;
|
||||||
-moz-transition: -moz-transform .3s ease-out;
|
-moz-transition: -moz-transform .3s ease-out;
|
||||||
-o-transition: -o-transform .3s ease-out;
|
-o-transition: -o-transform .3s ease-out;
|
||||||
transition: transform .3s ease-out;
|
transition: transform .3s ease-out;
|
||||||
-webkit-transform: translate(0, -25%);
|
-webkit-transform: translate(0, -25%);
|
||||||
-ms-transform: translate(0, -25%);
|
-ms-transform: translate(0, -25%);
|
||||||
transform: translate(0, -25%);
|
transform: translate(0, -25%);
|
||||||
}
|
}
|
||||||
.modal.in .modal-dialog {
|
.modal.in .modal-dialog {
|
||||||
-webkit-transform: translate(0, 0);
|
-webkit-transform: translate(0, 0);
|
||||||
@@ -5069,12 +5081,12 @@ button.close {
|
|||||||
background-color: #000;
|
background-color: #000;
|
||||||
}
|
}
|
||||||
.modal-backdrop.fade {
|
.modal-backdrop.fade {
|
||||||
opacity: 0;
|
|
||||||
filter: alpha(opacity=0);
|
filter: alpha(opacity=0);
|
||||||
|
opacity: 0;
|
||||||
}
|
}
|
||||||
.modal-backdrop.in {
|
.modal-backdrop.in {
|
||||||
opacity: .5;
|
|
||||||
filter: alpha(opacity=50);
|
filter: alpha(opacity=50);
|
||||||
|
opacity: .5;
|
||||||
}
|
}
|
||||||
.modal-header {
|
.modal-header {
|
||||||
min-height: 16.428571429px;
|
min-height: 16.428571429px;
|
||||||
@@ -5131,12 +5143,12 @@ button.close {
|
|||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
visibility: visible;
|
visibility: visible;
|
||||||
opacity: 0;
|
|
||||||
filter: alpha(opacity=0);
|
filter: alpha(opacity=0);
|
||||||
|
opacity: 0;
|
||||||
}
|
}
|
||||||
.tooltip.in {
|
.tooltip.in {
|
||||||
opacity: .9;
|
|
||||||
filter: alpha(opacity=90);
|
filter: alpha(opacity=90);
|
||||||
|
opacity: .9;
|
||||||
}
|
}
|
||||||
.tooltip.top {
|
.tooltip.top {
|
||||||
padding: 5px 0;
|
padding: 5px 0;
|
||||||
@@ -5401,31 +5413,31 @@ button.close {
|
|||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
filter: alpha(opacity=50);
|
|
||||||
text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
|
text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
|
||||||
|
filter: alpha(opacity=50);
|
||||||
opacity: .5;
|
opacity: .5;
|
||||||
}
|
}
|
||||||
.carousel-control.left {
|
.carousel-control.left {
|
||||||
background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, .5) 0%), color-stop(rgba(0, 0, 0, .0001) 100%));
|
background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, .5) 0%), color-stop(rgba(0, 0, 0, .0001) 100%));
|
||||||
background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
|
background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
|
||||||
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
.carousel-control.right {
|
.carousel-control.right {
|
||||||
right: 0;
|
right: 0;
|
||||||
left: auto;
|
left: auto;
|
||||||
background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, .0001) 0%), color-stop(rgba(0, 0, 0, .5) 100%));
|
background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, .0001) 0%), color-stop(rgba(0, 0, 0, .5) 100%));
|
||||||
background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
|
background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
|
||||||
background-repeat: repeat-x;
|
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
|
||||||
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
.carousel-control:hover,
|
.carousel-control:hover,
|
||||||
.carousel-control:focus {
|
.carousel-control:focus {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
filter: alpha(opacity=90);
|
||||||
outline: none;
|
outline: none;
|
||||||
opacity: .9;
|
opacity: .9;
|
||||||
filter: alpha(opacity=90);
|
|
||||||
}
|
}
|
||||||
.carousel-control .icon-prev,
|
.carousel-control .icon-prev,
|
||||||
.carousel-control .icon-next,
|
.carousel-control .icon-next,
|
||||||
|
2
dist/css/bootstrap.css.map
vendored
2
dist/css/bootstrap.css.map
vendored
File diff suppressed because one or more lines are too long
5
dist/css/bootstrap.min.css
vendored
5
dist/css/bootstrap.min.css
vendored
File diff suppressed because one or more lines are too long
163
dist/js/bootstrap.js
vendored
163
dist/js/bootstrap.js
vendored
@@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* Bootstrap v3.1.0 (http://getbootstrap.com)
|
* Bootstrap v3.0.3 (http://getbootstrap.com)
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
*/
|
*/
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery") }
|
if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery") }
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: transition.js v3.1.0
|
* Bootstrap: transition.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#transitions
|
* http://getbootstrap.com/javascript/#transitions
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -35,6 +35,8 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
return { end: transEndEventNames[name] }
|
return { end: transEndEventNames[name] }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return false // explicit for ie8 ( ._.)
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://blog.alexmaccaw.com/css-transitions
|
// http://blog.alexmaccaw.com/css-transitions
|
||||||
@@ -53,7 +55,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: alert.js v3.1.0
|
* Bootstrap: alert.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#alerts
|
* http://getbootstrap.com/javascript/#alerts
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -141,7 +143,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: button.js v3.1.0
|
* Bootstrap: button.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#buttons
|
* http://getbootstrap.com/javascript/#buttons
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -155,8 +157,9 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
// ==============================
|
// ==============================
|
||||||
|
|
||||||
var Button = function (element, options) {
|
var Button = function (element, options) {
|
||||||
this.$element = $(element)
|
this.$element = $(element)
|
||||||
this.options = $.extend({}, Button.DEFAULTS, options)
|
this.options = $.extend({}, Button.DEFAULTS, options)
|
||||||
|
this.isLoading = false
|
||||||
}
|
}
|
||||||
|
|
||||||
Button.DEFAULTS = {
|
Button.DEFAULTS = {
|
||||||
@@ -176,25 +179,26 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
$el[val](data[state] || this.options[state])
|
$el[val](data[state] || this.options[state])
|
||||||
|
|
||||||
// push to event loop to allow forms to submit
|
// push to event loop to allow forms to submit
|
||||||
setTimeout(function () {
|
setTimeout($.proxy(function () {
|
||||||
state == 'loadingText' ?
|
if (state == 'loadingText') {
|
||||||
$el.addClass(d).attr(d, d) :
|
this.isLoading = true
|
||||||
$el.removeClass(d).removeAttr(d);
|
$el.addClass(d).attr(d, d)
|
||||||
}, 0)
|
} else if (this.isLoading) {
|
||||||
|
this.isLoading = false
|
||||||
|
$el.removeClass(d).removeAttr(d)
|
||||||
|
}
|
||||||
|
}, this), 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
Button.prototype.toggle = function () {
|
Button.prototype.toggle = function () {
|
||||||
var $parent = this.$element.closest('[data-toggle="buttons"]')
|
|
||||||
var changed = true
|
var changed = true
|
||||||
|
var $parent = this.$element.closest('[data-toggle="buttons"]')
|
||||||
|
|
||||||
if ($parent.length) {
|
if ($parent.length) {
|
||||||
var $input = this.$element.find('input')
|
var $input = this.$element.find('input')
|
||||||
if ($input.prop('type') === 'radio') {
|
if ($input.prop('type') == 'radio') {
|
||||||
// see if clicking on current one
|
if ($input.prop('checked') && this.$element.hasClass('active')) changed = false
|
||||||
if ($input.prop('checked') && this.$element.hasClass('active'))
|
else $parent.find('.active').removeClass('active')
|
||||||
changed = false
|
|
||||||
else
|
|
||||||
$parent.find('.active').removeClass('active')
|
|
||||||
}
|
}
|
||||||
if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
|
if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
|
||||||
}
|
}
|
||||||
@@ -246,7 +250,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: carousel.js v3.1.0
|
* Bootstrap: carousel.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#carousel
|
* http://getbootstrap.com/javascript/#carousel
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -347,14 +351,16 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
$next = this.$element.find('.item')[fallback]()
|
$next = this.$element.find('.item')[fallback]()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($next.hasClass('active')) return
|
||||||
|
|
||||||
|
var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction })
|
||||||
|
this.$element.trigger(e)
|
||||||
|
if (e.isDefaultPrevented()) return
|
||||||
|
|
||||||
this.sliding = true
|
this.sliding = true
|
||||||
|
|
||||||
isCycling && this.pause()
|
isCycling && this.pause()
|
||||||
|
|
||||||
var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction })
|
|
||||||
|
|
||||||
if ($next.hasClass('active')) return
|
|
||||||
|
|
||||||
if (this.$indicators.length) {
|
if (this.$indicators.length) {
|
||||||
this.$indicators.find('.active').removeClass('active')
|
this.$indicators.find('.active').removeClass('active')
|
||||||
this.$element.one('slid.bs.carousel', function () {
|
this.$element.one('slid.bs.carousel', function () {
|
||||||
@@ -364,8 +370,6 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($.support.transition && this.$element.hasClass('slide')) {
|
if ($.support.transition && this.$element.hasClass('slide')) {
|
||||||
this.$element.trigger(e)
|
|
||||||
if (e.isDefaultPrevented()) return
|
|
||||||
$next.addClass(type)
|
$next.addClass(type)
|
||||||
$next[0].offsetWidth // force reflow
|
$next[0].offsetWidth // force reflow
|
||||||
$active.addClass(direction)
|
$active.addClass(direction)
|
||||||
@@ -379,8 +383,6 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
})
|
})
|
||||||
.emulateTransitionEnd($active.css('transition-duration').slice(0, -1) * 1000)
|
.emulateTransitionEnd($active.css('transition-duration').slice(0, -1) * 1000)
|
||||||
} else {
|
} else {
|
||||||
this.$element.trigger(e)
|
|
||||||
if (e.isDefaultPrevented()) return
|
|
||||||
$active.removeClass('active')
|
$active.removeClass('active')
|
||||||
$next.addClass('active')
|
$next.addClass('active')
|
||||||
this.sliding = false
|
this.sliding = false
|
||||||
@@ -453,7 +455,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: collapse.js v3.1.0
|
* Bootstrap: collapse.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#collapse
|
* http://getbootstrap.com/javascript/#collapse
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -512,7 +514,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
var complete = function () {
|
var complete = function () {
|
||||||
this.$element
|
this.$element
|
||||||
.removeClass('collapsing')
|
.removeClass('collapsing')
|
||||||
.addClass('in')
|
.addClass('collapse in')
|
||||||
[dimension]('auto')
|
[dimension]('auto')
|
||||||
this.transitioning = 0
|
this.transitioning = 0
|
||||||
this.$element.trigger('shown.bs.collapse')
|
this.$element.trigger('shown.bs.collapse')
|
||||||
@@ -622,7 +624,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: dropdown.js v3.1.0
|
* Bootstrap: dropdown.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#dropdowns
|
* http://getbootstrap.com/javascript/#dropdowns
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -766,7 +768,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: modal.js v3.1.0
|
* Bootstrap: modal.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#modals
|
* http://getbootstrap.com/javascript/#modals
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -785,7 +787,9 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
this.$backdrop =
|
this.$backdrop =
|
||||||
this.isShown = null
|
this.isShown = null
|
||||||
|
|
||||||
if (this.options.remote) this.$element.load(this.options.remote)
|
if (this.options.remote) this.$element.find('.modal-content').load(this.options.remote, $.proxy(function () {
|
||||||
|
this.$element.trigger('loaded.bs.modal')
|
||||||
|
}, this))
|
||||||
}
|
}
|
||||||
|
|
||||||
Modal.DEFAULTS = {
|
Modal.DEFAULTS = {
|
||||||
@@ -983,9 +987,9 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
var $this = $(this)
|
var $this = $(this)
|
||||||
var href = $this.attr('href')
|
var href = $this.attr('href')
|
||||||
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
|
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
|
||||||
var option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
|
var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
|
||||||
|
|
||||||
e.preventDefault()
|
if ($this.is('a')) e.preventDefault()
|
||||||
|
|
||||||
$target
|
$target
|
||||||
.modal(option, this)
|
.modal(option, this)
|
||||||
@@ -1001,7 +1005,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: tooltip.js v3.1.0
|
* Bootstrap: tooltip.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#tooltip
|
* http://getbootstrap.com/javascript/#tooltip
|
||||||
* Inspired by the original jQuery.tipsy by Jason Frame
|
* Inspired by the original jQuery.tipsy by Jason Frame
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
@@ -1052,8 +1056,8 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
if (trigger == 'click') {
|
if (trigger == 'click') {
|
||||||
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
|
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
|
||||||
} else if (trigger != 'manual') {
|
} else if (trigger != 'manual') {
|
||||||
var eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
|
var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin'
|
||||||
var eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
|
var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
|
||||||
|
|
||||||
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
|
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
|
||||||
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
|
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
|
||||||
@@ -1130,6 +1134,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
this.$element.trigger(e)
|
this.$element.trigger(e)
|
||||||
|
|
||||||
if (e.isDefaultPrevented()) return
|
if (e.isDefaultPrevented()) return
|
||||||
|
var that = this;
|
||||||
|
|
||||||
var $tip = this.tip()
|
var $tip = this.tip()
|
||||||
|
|
||||||
@@ -1179,7 +1184,17 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
|
var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
|
||||||
|
|
||||||
this.applyPlacement(calculatedOffset, placement)
|
this.applyPlacement(calculatedOffset, placement)
|
||||||
this.$element.trigger('shown.bs.' + this.type)
|
this.hoverState = null
|
||||||
|
|
||||||
|
var complete = function() {
|
||||||
|
that.$element.trigger('shown.bs.' + that.type)
|
||||||
|
}
|
||||||
|
|
||||||
|
$.support.transition && this.$tip.hasClass('fade') ?
|
||||||
|
$tip
|
||||||
|
.one($.support.transition.end, complete)
|
||||||
|
.emulateTransitionEnd(150) :
|
||||||
|
complete()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1200,9 +1215,18 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
offset.top = offset.top + marginTop
|
offset.top = offset.top + marginTop
|
||||||
offset.left = offset.left + marginLeft
|
offset.left = offset.left + marginLeft
|
||||||
|
|
||||||
$tip
|
// $.fn.offset doesn't round pixel values
|
||||||
.offset(offset)
|
// so we use setOffset directly with our own function B-0
|
||||||
.addClass('in')
|
jQuery.offset.setOffset($tip[0], $.extend({
|
||||||
|
using: function (props) {
|
||||||
|
$tip.css({
|
||||||
|
top: Math.round(props.top),
|
||||||
|
left: Math.round(props.left)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}, offset), 0)
|
||||||
|
|
||||||
|
$tip.addClass('in')
|
||||||
|
|
||||||
// check to see if placing tip in new offset caused the tip to resize itself
|
// check to see if placing tip in new offset caused the tip to resize itself
|
||||||
var actualWidth = $tip[0].offsetWidth
|
var actualWidth = $tip[0].offsetWidth
|
||||||
@@ -1253,6 +1277,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
|
|
||||||
function complete() {
|
function complete() {
|
||||||
if (that.hoverState != 'in') $tip.detach()
|
if (that.hoverState != 'in') $tip.detach()
|
||||||
|
that.$element.trigger('hidden.bs.' + that.type)
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$element.trigger(e)
|
this.$element.trigger(e)
|
||||||
@@ -1267,7 +1292,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
.emulateTransitionEnd(150) :
|
.emulateTransitionEnd(150) :
|
||||||
complete()
|
complete()
|
||||||
|
|
||||||
this.$element.trigger('hidden.bs.' + this.type)
|
this.hoverState = null
|
||||||
|
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
@@ -1343,6 +1368,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
}
|
}
|
||||||
|
|
||||||
Tooltip.prototype.destroy = function () {
|
Tooltip.prototype.destroy = function () {
|
||||||
|
clearTimeout(this.timeout)
|
||||||
this.hide().$element.off('.' + this.type).removeData('bs.' + this.type)
|
this.hide().$element.off('.' + this.type).removeData('bs.' + this.type)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1358,6 +1384,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
var data = $this.data('bs.tooltip')
|
var data = $this.data('bs.tooltip')
|
||||||
var options = typeof option == 'object' && option
|
var options = typeof option == 'object' && option
|
||||||
|
|
||||||
|
if (!data && option == 'destroy') return
|
||||||
if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
|
if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
|
||||||
if (typeof option == 'string') data[option]()
|
if (typeof option == 'string') data[option]()
|
||||||
})
|
})
|
||||||
@@ -1377,7 +1404,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: popover.js v3.1.0
|
* Bootstrap: popover.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#popovers
|
* http://getbootstrap.com/javascript/#popovers
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -1465,6 +1492,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
var data = $this.data('bs.popover')
|
var data = $this.data('bs.popover')
|
||||||
var options = typeof option == 'object' && option
|
var options = typeof option == 'object' && option
|
||||||
|
|
||||||
|
if (!data && option == 'destroy') return
|
||||||
if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
|
if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
|
||||||
if (typeof option == 'string') data[option]()
|
if (typeof option == 'string') data[option]()
|
||||||
})
|
})
|
||||||
@@ -1484,7 +1512,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: scrollspy.js v3.1.0
|
* Bootstrap: scrollspy.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#scrollspy
|
* http://getbootstrap.com/javascript/#scrollspy
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -1532,7 +1560,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
.map(function () {
|
.map(function () {
|
||||||
var $el = $(this)
|
var $el = $(this)
|
||||||
var href = $el.data('target') || $el.attr('href')
|
var href = $el.data('target') || $el.attr('href')
|
||||||
var $href = /^#\w/.test(href) && $(href)
|
var $href = /^#./.test(href) && $(href)
|
||||||
|
|
||||||
return ($href
|
return ($href
|
||||||
&& $href.length
|
&& $href.length
|
||||||
@@ -1570,7 +1598,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
this.activeTarget = target
|
this.activeTarget = target
|
||||||
|
|
||||||
$(this.selector)
|
$(this.selector)
|
||||||
.parents('.active')
|
.parentsUntil(this.options.target, '.active')
|
||||||
.removeClass('active')
|
.removeClass('active')
|
||||||
|
|
||||||
var selector = this.selector +
|
var selector = this.selector +
|
||||||
@@ -1632,7 +1660,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: tab.js v3.1.0
|
* Bootstrap: tab.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#tabs
|
* http://getbootstrap.com/javascript/#tabs
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -1757,7 +1785,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: affix.js v3.1.0
|
* Bootstrap: affix.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#affix
|
* http://getbootstrap.com/javascript/#affix
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -1776,9 +1804,10 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
.on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
|
.on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
|
||||||
.on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
|
.on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
|
||||||
|
|
||||||
this.$element = $(element)
|
this.$element = $(element)
|
||||||
this.affixed =
|
this.affixed =
|
||||||
this.unpin = null
|
this.unpin =
|
||||||
|
this.pinnedOffset = null
|
||||||
|
|
||||||
this.checkPosition()
|
this.checkPosition()
|
||||||
}
|
}
|
||||||
@@ -1789,6 +1818,14 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
offset: 0
|
offset: 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Affix.prototype.getPinnedOffset = function () {
|
||||||
|
if (this.pinnedOffset) return this.pinnedOffset
|
||||||
|
this.$element.removeClass(Affix.RESET).addClass('affix')
|
||||||
|
var scrollTop = this.$window.scrollTop()
|
||||||
|
var position = this.$element.offset()
|
||||||
|
return (this.pinnedOffset = position.top - scrollTop)
|
||||||
|
}
|
||||||
|
|
||||||
Affix.prototype.checkPositionWithEventLoop = function () {
|
Affix.prototype.checkPositionWithEventLoop = function () {
|
||||||
setTimeout($.proxy(this.checkPosition, this), 1)
|
setTimeout($.proxy(this.checkPosition, this), 1)
|
||||||
}
|
}
|
||||||
@@ -1803,9 +1840,11 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
var offsetTop = offset.top
|
var offsetTop = offset.top
|
||||||
var offsetBottom = offset.bottom
|
var offsetBottom = offset.bottom
|
||||||
|
|
||||||
|
if (this.affixed == 'top') position.top += scrollTop
|
||||||
|
|
||||||
if (typeof offset != 'object') offsetBottom = offsetTop = offset
|
if (typeof offset != 'object') offsetBottom = offsetTop = offset
|
||||||
if (typeof offsetTop == 'function') offsetTop = offset.top()
|
if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
|
||||||
if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()
|
if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
|
||||||
|
|
||||||
var affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? false :
|
var affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? false :
|
||||||
offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? 'bottom' :
|
offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? 'bottom' :
|
||||||
@@ -1814,13 +1853,23 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
|||||||
if (this.affixed === affix) return
|
if (this.affixed === affix) return
|
||||||
if (this.unpin) this.$element.css('top', '')
|
if (this.unpin) this.$element.css('top', '')
|
||||||
|
|
||||||
this.affixed = affix
|
var affixType = 'affix' + (affix ? '-' + affix : '')
|
||||||
this.unpin = affix == 'bottom' ? position.top - scrollTop : null
|
var e = $.Event(affixType + '.bs.affix')
|
||||||
|
|
||||||
this.$element.removeClass(Affix.RESET).addClass('affix' + (affix ? '-' + affix : ''))
|
this.$element.trigger(e)
|
||||||
|
|
||||||
|
if (e.isDefaultPrevented()) return
|
||||||
|
|
||||||
|
this.affixed = affix
|
||||||
|
this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
|
||||||
|
|
||||||
|
this.$element
|
||||||
|
.removeClass(Affix.RESET)
|
||||||
|
.addClass(affixType)
|
||||||
|
.trigger($.Event(affixType.replace('affix', 'affixed')))
|
||||||
|
|
||||||
if (affix == 'bottom') {
|
if (affix == 'bottom') {
|
||||||
this.$element.offset({ top: document.body.offsetHeight - offsetBottom - this.$element.height() })
|
this.$element.offset({ top: scrollHeight - offsetBottom - this.$element.height() })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
4
dist/js/bootstrap.min.js
vendored
4
dist/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -32,6 +32,7 @@
|
|||||||
* Miscellaneous
|
* Miscellaneous
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*csslint ids: false, fallback-colors: false*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Scaffolding
|
* Scaffolding
|
||||||
@@ -704,7 +705,7 @@ h1[id] {
|
|||||||
.bs-team .github-btn {
|
.bs-team .github-btn {
|
||||||
float: right;
|
float: right;
|
||||||
margin-top: 6px;
|
margin-top: 6px;
|
||||||
width: 120px;
|
width: 180px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
}
|
}
|
||||||
.bs-team img {
|
.bs-team img {
|
||||||
@@ -729,8 +730,8 @@ h1[id] {
|
|||||||
padding-top: 10px;
|
padding-top: 10px;
|
||||||
padding-bottom: 10px;
|
padding-bottom: 10px;
|
||||||
background-color: #eee;
|
background-color: #eee;
|
||||||
border: 1px solid #ddd;
|
|
||||||
background-color: rgba(86,61,124,.15);
|
background-color: rgba(86,61,124,.15);
|
||||||
|
border: 1px solid #ddd;
|
||||||
border: 1px solid rgba(86,61,124,.2);
|
border: 1px solid rgba(86,61,124,.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BIN
docs-assets/ico/favicon.ico
Normal file
BIN
docs-assets/ico/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.3 KiB |
Binary file not shown.
Before Width: | Height: | Size: 887 B |
@@ -59,8 +59,8 @@
|
|||||||
var navOuterHeight = $('.bs-docs-nav').height()
|
var navOuterHeight = $('.bs-docs-nav').height()
|
||||||
|
|
||||||
return (this.top = offsetTop - navOuterHeight - sideBarMargin)
|
return (this.top = offsetTop - navOuterHeight - sideBarMargin)
|
||||||
}
|
},
|
||||||
, bottom: function () {
|
bottom: function () {
|
||||||
return (this.bottom = $('.bs-footer').outerHeight(true))
|
return (this.bottom = $('.bs-footer').outerHeight(true))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
File diff suppressed because one or more lines are too long
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
window.onload = function () { // wait for load in a dumb way because B-0
|
window.onload = function () { // wait for load in a dumb way because B-0
|
||||||
var cw = '/*!\n' +
|
var cw = '/*!\n' +
|
||||||
' * Bootstrap v3.1.0 (http://getbootstrap.com)\n' +
|
' * Bootstrap v3.0.3 (http://getbootstrap.com)\n' +
|
||||||
' * Copyright 2013 Twitter, Inc.\n' +
|
' * Copyright 2013 Twitter, Inc.\n' +
|
||||||
' * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n' +
|
' * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n' +
|
||||||
' */\n\n';
|
' */\n\n';
|
||||||
@@ -227,9 +227,9 @@ window.onload = function () { // wait for load in a dumb way because B-0
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
var parser = new less.Parser({
|
var parser = new less.Parser({
|
||||||
paths: ['variables.less', 'mixins.less']
|
paths: ['variables.less', 'mixins.less'],
|
||||||
, optimization: 0
|
optimization: 0,
|
||||||
, filename: 'bootstrap.css'
|
filename: 'bootstrap.css'
|
||||||
}).parse(css, function (err, tree) {
|
}).parse(css, function (err, tree) {
|
||||||
if (err) {
|
if (err) {
|
||||||
return showError('<strong>Ruh roh!</strong> Could not parse less files.', err)
|
return showError('<strong>Ruh roh!</strong> Could not parse less files.', err)
|
||||||
|
File diff suppressed because one or more lines are too long
@@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<title>Blog Template for Bootstrap</title>
|
<title>Blog Template for Bootstrap</title>
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<title>Carousel Template for Bootstrap</title>
|
<title>Carousel Template for Bootstrap</title>
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
|
|
||||||
<!-- Custom styles for this template -->
|
<!-- Custom styles for this template -->
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<title>Cover Template for Bootstrap</title>
|
<title>Cover Template for Bootstrap</title>
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<title>Dashboard Template for Bootstrap</title>
|
<title>Dashboard Template for Bootstrap</title>
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<title>Grid Template for Bootstrap</title>
|
<title>Grid Template for Bootstrap</title>
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<title>Narrow Jumbotron Template for Bootstrap</title>
|
<title>Narrow Jumbotron Template for Bootstrap</title>
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<title>Jumbotron Template for Bootstrap</title>
|
<title>Jumbotron Template for Bootstrap</title>
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<title>Justified Nav Template for Bootstrap</title>
|
<title>Justified Nav Template for Bootstrap</title>
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<title>Fixed Top Navbar Example for Bootstrap</title>
|
<title>Fixed Top Navbar Example for Bootstrap</title>
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<title>Static Top Navbar Example for Bootstrap</title>
|
<title>Static Top Navbar Example for Bootstrap</title>
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<title>Navbar Template for Bootstrap</title>
|
<title>Navbar Template for Bootstrap</title>
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
<!-- Note there is no responsive meta tag here -->
|
<!-- Note there is no responsive meta tag here -->
|
||||||
|
|
||||||
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<title>Non-responsive Template for Bootstrap</title>
|
<title>Non-responsive Template for Bootstrap</title>
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<title>Off Canvas Template for Bootstrap</title>
|
<title>Off Canvas Template for Bootstrap</title>
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<title>Signin Template for Bootstrap</title>
|
<title>Signin Template for Bootstrap</title>
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<title>Starter Template for Bootstrap</title>
|
<title>Starter Template for Bootstrap</title>
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<title>Sticky Footer Navbar Template for Bootstrap</title>
|
<title>Sticky Footer Navbar Template for Bootstrap</title>
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<title>Sticky Footer Template for Bootstrap</title>
|
<title>Sticky Footer Template for Bootstrap</title>
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">
|
<link rel="shortcut icon" href="../../docs-assets/ico/favicon.ico">
|
||||||
|
|
||||||
<title>Theme Template for Bootstrap</title>
|
<title>Theme Template for Bootstrap</title>
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@@ -129,7 +129,7 @@ bootstrap/
|
|||||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
@@ -403,6 +403,10 @@ $('#myModal').modal({
|
|||||||
<td>hidden.bs.modal</td>
|
<td>hidden.bs.modal</td>
|
||||||
<td>This event is fired when the modal has finished being hidden from the user (will wait for CSS transitions to complete).</td>
|
<td>This event is fired when the modal has finished being hidden from the user (will wait for CSS transitions to complete).</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>loaded.bs.modal</td>
|
||||||
|
<td>This event is fired when the modal has loaded content using the remote option.</td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div><!-- /.table-responsive -->
|
</div><!-- /.table-responsive -->
|
||||||
@@ -515,7 +519,7 @@ $('#myModal').on('hidden.bs.modal', function (e) {
|
|||||||
|
|
||||||
|
|
||||||
<h2 id="dropdowns-usage">Usage</h2>
|
<h2 id="dropdowns-usage">Usage</h2>
|
||||||
<p>Via data attributes or JavaScript, the dropdown plugin toggles hidden content (dropdown menus) by toggling the <code>.open</code> class on the parent list item. When opened, the plugin also adds <code>.dropdown-backdrop</code> as a click area for closing dropdown menus when clicking outside the menu.</p>
|
<p>Via data attributes or JavaScript, the dropdown plugin toggles hidden content (dropdown menus) by toggling the <code>.open</code> class on the parent list item. When opened, the plugin also adds <code>.dropdown-backdrop</code> as a click area for closing dropdown menus when clicking outside the menu. Note: The <code>data-toggle=dropdown</code> attribute is relied on for closing dropdown menus at an application level, so it's a good idea to always use it.</p>
|
||||||
|
|
||||||
<h3>Via data attributes</h3>
|
<h3>Via data attributes</h3>
|
||||||
<p>Add <code>data-toggle="dropdown"</code> to a link or button to toggle a dropdown.</p>
|
<p>Add <code>data-toggle="dropdown"</code> to a link or button to toggle a dropdown.</p>
|
||||||
@@ -1734,7 +1738,7 @@ $('.collapse').collapse()
|
|||||||
<td>parent</td>
|
<td>parent</td>
|
||||||
<td>selector</td>
|
<td>selector</td>
|
||||||
<td>false</td>
|
<td>false</td>
|
||||||
<td>If selector then all collapsible elements under the specified parent will be closed when this collapsible item is shown. (similar to traditional accordion behavior - this dependent on the <code>accordion-group</code> class)</td>
|
<td>If selector then all collapsible elements under the specified parent will be closed when this collapsible item is shown. (similar to traditional accordion behavior - this dependent on the <code>panel</code> class)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>toggle</td>
|
<td>toggle</td>
|
||||||
@@ -2106,4 +2110,44 @@ $('#myCarousel').on('slide.bs.carousel', function () {
|
|||||||
</table>
|
</table>
|
||||||
</div><!-- /.table-responsive -->
|
</div><!-- /.table-responsive -->
|
||||||
|
|
||||||
|
|
||||||
|
<h3>Events</h3>
|
||||||
|
<p>Bootstrap's affix class exposes a few events for hooking into affix functionality.</p>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-bordered table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="width: 150px;">Event Type</th>
|
||||||
|
<th>Description</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>affix.bs.affix</td>
|
||||||
|
<td>This event fires immediately before the element has been affixed.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>affixed.bs.affix</td>
|
||||||
|
<td>This event is fired after the element has been affixed.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>affix-top.bs.affix</td>
|
||||||
|
<td>This event fires immediately before the element has been affixed-top.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>affixed-top.bs.affix</td>
|
||||||
|
<td>This event is fired after the element has been affixed-top.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>affix-bottom.bs.affix</td>
|
||||||
|
<td>This event fires immediately before the element has been affixed-bottom.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>affixed-bottom.bs.affix</td>
|
||||||
|
<td>This event is fired after the element has been affixed-bottom.</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div><!-- /.table-responsive -->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@@ -1,15 +1,15 @@
|
|||||||
{
|
{
|
||||||
"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch"],
|
"disallowKeywords": ["with"],
|
||||||
"requireSpacesInFunctionExpression": { "beforeOpeningCurlyBrace": true },
|
"requireLeftStickedOperators": [","],
|
||||||
"requireLeftStickedOperators": [","],
|
"disallowLeftStickedOperators": ["?", "+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<="],
|
||||||
"disallowLeftStickedOperators": ["?", "+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<="],
|
"disallowRightStickedOperators": ["?", "/", "*", ":", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<="],
|
||||||
"requireRightStickedOperators": ["!"],
|
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
|
||||||
"disallowRightStickedOperators": ["?", "/", "*", ":", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<="],
|
"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
|
||||||
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
|
"requireLineFeedAtFileEnd": true,
|
||||||
"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
|
"requireRightStickedOperators": ["!"],
|
||||||
"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
|
"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
|
||||||
"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
|
"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch"],
|
||||||
"disallowKeywords": ["with"],
|
"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
|
||||||
"validateLineBreaks": "LF",
|
"requireSpacesInFunctionExpression": { "beforeOpeningCurlyBrace": true },
|
||||||
"requireLineFeedAtFileEnd": true
|
"validateLineBreaks": "LF"
|
||||||
}
|
}
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
"eqnull" : true,
|
"eqnull" : true,
|
||||||
"expr" : true,
|
"expr" : true,
|
||||||
"laxbreak" : true,
|
"laxbreak" : true,
|
||||||
"laxcomma" : true,
|
|
||||||
"quotmark" : "single",
|
"quotmark" : "single",
|
||||||
"validthis": true
|
"validthis": true
|
||||||
}
|
}
|
41
js/affix.js
41
js/affix.js
@@ -1,5 +1,5 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: affix.js v3.1.0
|
* Bootstrap: affix.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#affix
|
* http://getbootstrap.com/javascript/#affix
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -18,9 +18,10 @@
|
|||||||
.on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
|
.on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
|
||||||
.on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
|
.on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
|
||||||
|
|
||||||
this.$element = $(element)
|
this.$element = $(element)
|
||||||
this.affixed =
|
this.affixed =
|
||||||
this.unpin = null
|
this.unpin =
|
||||||
|
this.pinnedOffset = null
|
||||||
|
|
||||||
this.checkPosition()
|
this.checkPosition()
|
||||||
}
|
}
|
||||||
@@ -31,6 +32,14 @@
|
|||||||
offset: 0
|
offset: 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Affix.prototype.getPinnedOffset = function () {
|
||||||
|
if (this.pinnedOffset) return this.pinnedOffset
|
||||||
|
this.$element.removeClass(Affix.RESET).addClass('affix')
|
||||||
|
var scrollTop = this.$window.scrollTop()
|
||||||
|
var position = this.$element.offset()
|
||||||
|
return (this.pinnedOffset = position.top - scrollTop)
|
||||||
|
}
|
||||||
|
|
||||||
Affix.prototype.checkPositionWithEventLoop = function () {
|
Affix.prototype.checkPositionWithEventLoop = function () {
|
||||||
setTimeout($.proxy(this.checkPosition, this), 1)
|
setTimeout($.proxy(this.checkPosition, this), 1)
|
||||||
}
|
}
|
||||||
@@ -45,9 +54,11 @@
|
|||||||
var offsetTop = offset.top
|
var offsetTop = offset.top
|
||||||
var offsetBottom = offset.bottom
|
var offsetBottom = offset.bottom
|
||||||
|
|
||||||
|
if (this.affixed == 'top') position.top += scrollTop
|
||||||
|
|
||||||
if (typeof offset != 'object') offsetBottom = offsetTop = offset
|
if (typeof offset != 'object') offsetBottom = offsetTop = offset
|
||||||
if (typeof offsetTop == 'function') offsetTop = offset.top()
|
if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
|
||||||
if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()
|
if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
|
||||||
|
|
||||||
var affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? false :
|
var affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? false :
|
||||||
offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? 'bottom' :
|
offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? 'bottom' :
|
||||||
@@ -56,13 +67,23 @@
|
|||||||
if (this.affixed === affix) return
|
if (this.affixed === affix) return
|
||||||
if (this.unpin) this.$element.css('top', '')
|
if (this.unpin) this.$element.css('top', '')
|
||||||
|
|
||||||
this.affixed = affix
|
var affixType = 'affix' + (affix ? '-' + affix : '')
|
||||||
this.unpin = affix == 'bottom' ? position.top - scrollTop : null
|
var e = $.Event(affixType + '.bs.affix')
|
||||||
|
|
||||||
this.$element.removeClass(Affix.RESET).addClass('affix' + (affix ? '-' + affix : ''))
|
this.$element.trigger(e)
|
||||||
|
|
||||||
|
if (e.isDefaultPrevented()) return
|
||||||
|
|
||||||
|
this.affixed = affix
|
||||||
|
this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
|
||||||
|
|
||||||
|
this.$element
|
||||||
|
.removeClass(Affix.RESET)
|
||||||
|
.addClass(affixType)
|
||||||
|
.trigger($.Event(affixType.replace('affix', 'affixed')))
|
||||||
|
|
||||||
if (affix == 'bottom') {
|
if (affix == 'bottom') {
|
||||||
this.$element.offset({ top: document.body.offsetHeight - offsetBottom - this.$element.height() })
|
this.$element.offset({ top: scrollHeight - offsetBottom - this.$element.height() })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: alert.js v3.1.0
|
* Bootstrap: alert.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#alerts
|
* http://getbootstrap.com/javascript/#alerts
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
|
32
js/button.js
32
js/button.js
@@ -1,5 +1,5 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: button.js v3.1.0
|
* Bootstrap: button.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#buttons
|
* http://getbootstrap.com/javascript/#buttons
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -13,8 +13,9 @@
|
|||||||
// ==============================
|
// ==============================
|
||||||
|
|
||||||
var Button = function (element, options) {
|
var Button = function (element, options) {
|
||||||
this.$element = $(element)
|
this.$element = $(element)
|
||||||
this.options = $.extend({}, Button.DEFAULTS, options)
|
this.options = $.extend({}, Button.DEFAULTS, options)
|
||||||
|
this.isLoading = false
|
||||||
}
|
}
|
||||||
|
|
||||||
Button.DEFAULTS = {
|
Button.DEFAULTS = {
|
||||||
@@ -34,25 +35,26 @@
|
|||||||
$el[val](data[state] || this.options[state])
|
$el[val](data[state] || this.options[state])
|
||||||
|
|
||||||
// push to event loop to allow forms to submit
|
// push to event loop to allow forms to submit
|
||||||
setTimeout(function () {
|
setTimeout($.proxy(function () {
|
||||||
state == 'loadingText' ?
|
if (state == 'loadingText') {
|
||||||
$el.addClass(d).attr(d, d) :
|
this.isLoading = true
|
||||||
$el.removeClass(d).removeAttr(d);
|
$el.addClass(d).attr(d, d)
|
||||||
}, 0)
|
} else if (this.isLoading) {
|
||||||
|
this.isLoading = false
|
||||||
|
$el.removeClass(d).removeAttr(d)
|
||||||
|
}
|
||||||
|
}, this), 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
Button.prototype.toggle = function () {
|
Button.prototype.toggle = function () {
|
||||||
var $parent = this.$element.closest('[data-toggle="buttons"]')
|
|
||||||
var changed = true
|
var changed = true
|
||||||
|
var $parent = this.$element.closest('[data-toggle="buttons"]')
|
||||||
|
|
||||||
if ($parent.length) {
|
if ($parent.length) {
|
||||||
var $input = this.$element.find('input')
|
var $input = this.$element.find('input')
|
||||||
if ($input.prop('type') === 'radio') {
|
if ($input.prop('type') == 'radio') {
|
||||||
// see if clicking on current one
|
if ($input.prop('checked') && this.$element.hasClass('active')) changed = false
|
||||||
if ($input.prop('checked') && this.$element.hasClass('active'))
|
else $parent.find('.active').removeClass('active')
|
||||||
changed = false
|
|
||||||
else
|
|
||||||
$parent.find('.active').removeClass('active')
|
|
||||||
}
|
}
|
||||||
if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
|
if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: carousel.js v3.1.0
|
* Bootstrap: carousel.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#carousel
|
* http://getbootstrap.com/javascript/#carousel
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -100,14 +100,16 @@
|
|||||||
$next = this.$element.find('.item')[fallback]()
|
$next = this.$element.find('.item')[fallback]()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($next.hasClass('active')) return
|
||||||
|
|
||||||
|
var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction })
|
||||||
|
this.$element.trigger(e)
|
||||||
|
if (e.isDefaultPrevented()) return
|
||||||
|
|
||||||
this.sliding = true
|
this.sliding = true
|
||||||
|
|
||||||
isCycling && this.pause()
|
isCycling && this.pause()
|
||||||
|
|
||||||
var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction })
|
|
||||||
|
|
||||||
if ($next.hasClass('active')) return
|
|
||||||
|
|
||||||
if (this.$indicators.length) {
|
if (this.$indicators.length) {
|
||||||
this.$indicators.find('.active').removeClass('active')
|
this.$indicators.find('.active').removeClass('active')
|
||||||
this.$element.one('slid.bs.carousel', function () {
|
this.$element.one('slid.bs.carousel', function () {
|
||||||
@@ -117,8 +119,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($.support.transition && this.$element.hasClass('slide')) {
|
if ($.support.transition && this.$element.hasClass('slide')) {
|
||||||
this.$element.trigger(e)
|
|
||||||
if (e.isDefaultPrevented()) return
|
|
||||||
$next.addClass(type)
|
$next.addClass(type)
|
||||||
$next[0].offsetWidth // force reflow
|
$next[0].offsetWidth // force reflow
|
||||||
$active.addClass(direction)
|
$active.addClass(direction)
|
||||||
@@ -132,8 +132,6 @@
|
|||||||
})
|
})
|
||||||
.emulateTransitionEnd($active.css('transition-duration').slice(0, -1) * 1000)
|
.emulateTransitionEnd($active.css('transition-duration').slice(0, -1) * 1000)
|
||||||
} else {
|
} else {
|
||||||
this.$element.trigger(e)
|
|
||||||
if (e.isDefaultPrevented()) return
|
|
||||||
$active.removeClass('active')
|
$active.removeClass('active')
|
||||||
$next.addClass('active')
|
$next.addClass('active')
|
||||||
this.sliding = false
|
this.sliding = false
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: collapse.js v3.1.0
|
* Bootstrap: collapse.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#collapse
|
* http://getbootstrap.com/javascript/#collapse
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -58,7 +58,7 @@
|
|||||||
var complete = function () {
|
var complete = function () {
|
||||||
this.$element
|
this.$element
|
||||||
.removeClass('collapsing')
|
.removeClass('collapsing')
|
||||||
.addClass('in')
|
.addClass('collapse in')
|
||||||
[dimension]('auto')
|
[dimension]('auto')
|
||||||
this.transitioning = 0
|
this.transitioning = 0
|
||||||
this.$element.trigger('shown.bs.collapse')
|
this.$element.trigger('shown.bs.collapse')
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: dropdown.js v3.1.0
|
* Bootstrap: dropdown.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#dropdowns
|
* http://getbootstrap.com/javascript/#dropdowns
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
|
10
js/modal.js
10
js/modal.js
@@ -1,5 +1,5 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: modal.js v3.1.0
|
* Bootstrap: modal.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#modals
|
* http://getbootstrap.com/javascript/#modals
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -18,7 +18,9 @@
|
|||||||
this.$backdrop =
|
this.$backdrop =
|
||||||
this.isShown = null
|
this.isShown = null
|
||||||
|
|
||||||
if (this.options.remote) this.$element.load(this.options.remote)
|
if (this.options.remote) this.$element.find('.modal-content').load(this.options.remote, $.proxy(function () {
|
||||||
|
this.$element.trigger('loaded.bs.modal')
|
||||||
|
}, this))
|
||||||
}
|
}
|
||||||
|
|
||||||
Modal.DEFAULTS = {
|
Modal.DEFAULTS = {
|
||||||
@@ -216,9 +218,9 @@
|
|||||||
var $this = $(this)
|
var $this = $(this)
|
||||||
var href = $this.attr('href')
|
var href = $this.attr('href')
|
||||||
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
|
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
|
||||||
var option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
|
var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
|
||||||
|
|
||||||
e.preventDefault()
|
if ($this.is('a')) e.preventDefault()
|
||||||
|
|
||||||
$target
|
$target
|
||||||
.modal(option, this)
|
.modal(option, this)
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: popover.js v3.1.0
|
* Bootstrap: popover.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#popovers
|
* http://getbootstrap.com/javascript/#popovers
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -87,6 +87,7 @@
|
|||||||
var data = $this.data('bs.popover')
|
var data = $this.data('bs.popover')
|
||||||
var options = typeof option == 'object' && option
|
var options = typeof option == 'object' && option
|
||||||
|
|
||||||
|
if (!data && option == 'destroy') return
|
||||||
if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
|
if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
|
||||||
if (typeof option == 'string') data[option]()
|
if (typeof option == 'string') data[option]()
|
||||||
})
|
})
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: scrollspy.js v3.1.0
|
* Bootstrap: scrollspy.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#scrollspy
|
* http://getbootstrap.com/javascript/#scrollspy
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
.map(function () {
|
.map(function () {
|
||||||
var $el = $(this)
|
var $el = $(this)
|
||||||
var href = $el.data('target') || $el.attr('href')
|
var href = $el.data('target') || $el.attr('href')
|
||||||
var $href = /^#\w/.test(href) && $(href)
|
var $href = /^#./.test(href) && $(href)
|
||||||
|
|
||||||
return ($href
|
return ($href
|
||||||
&& $href.length
|
&& $href.length
|
||||||
@@ -85,7 +85,7 @@
|
|||||||
this.activeTarget = target
|
this.activeTarget = target
|
||||||
|
|
||||||
$(this.selector)
|
$(this.selector)
|
||||||
.parents('.active')
|
.parentsUntil(this.options.target, '.active')
|
||||||
.removeClass('active')
|
.removeClass('active')
|
||||||
|
|
||||||
var selector = this.selector +
|
var selector = this.selector +
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: tab.js v3.1.0
|
* Bootstrap: tab.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#tabs
|
* http://getbootstrap.com/javascript/#tabs
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
|
@@ -22,4 +22,29 @@ $(function () {
|
|||||||
ok(!$affix.hasClass('affix'), 'affix class was not added')
|
ok(!$affix.hasClass('affix'), 'affix class was not added')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('should trigger affixed event after affix', function () {
|
||||||
|
stop()
|
||||||
|
|
||||||
|
var template = $('<div id="affixTarget"><ul><li>Please affix</li><li>And unaffix</li></ul></div><div id="affixAfter" style="height: 20000px; display:block;"></div>')
|
||||||
|
template.appendTo('body')
|
||||||
|
|
||||||
|
var affixer = $('#affixTarget').affix({
|
||||||
|
offset: $('#affixTarget ul').position()
|
||||||
|
})
|
||||||
|
|
||||||
|
$('#affixTarget')
|
||||||
|
.on('affix.bs.affix', function (e) {
|
||||||
|
ok(true, 'affix event triggered')
|
||||||
|
}).on('affixed.bs.affix', function (e) {
|
||||||
|
ok(true,'affixed event triggered')
|
||||||
|
$('#affixTarget').remove()
|
||||||
|
$('#affixAfter').remove()
|
||||||
|
start()
|
||||||
|
})
|
||||||
|
|
||||||
|
setTimeout(function () {
|
||||||
|
window.scrollTo(0, document.body.scrollHeight)
|
||||||
|
setTimeout(function () { window.scroll(0,0) }, 0)
|
||||||
|
},0)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
@@ -16,7 +16,7 @@ $(function () {
|
|||||||
ok($(document.body).carousel()[0] == document.body, 'document.body returned')
|
ok($(document.body).carousel()[0] == document.body, 'document.body returned')
|
||||||
})
|
})
|
||||||
|
|
||||||
test('should not fire sliden when slide is prevented', function () {
|
test('should not fire slide when slide is prevented', function () {
|
||||||
$.support.transition = false
|
$.support.transition = false
|
||||||
stop()
|
stop()
|
||||||
$('<div class="carousel"/>')
|
$('<div class="carousel"/>')
|
||||||
@@ -31,6 +31,29 @@ $(function () {
|
|||||||
.carousel('next')
|
.carousel('next')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('should reset when slide is prevented', function () {
|
||||||
|
var template = '<div id="carousel-example-generic" class="carousel slide"><ol class="carousel-indicators"><li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li><li data-target="#carousel-example-generic" data-slide-to="1"></li><li data-target="#carousel-example-generic" data-slide-to="2"></li></ol><div class="carousel-inner"><div class="item active"><div class="carousel-caption"></div></div><div class="item"><div class="carousel-caption"></div></div><div class="item"><div class="carousel-caption"></div></div></div><a class="left carousel-control" href="#carousel-example-generic" data-slide="prev"></a><a class="right carousel-control" href="#carousel-example-generic" data-slide="next"></a></div>'
|
||||||
|
var $carousel = $(template)
|
||||||
|
$.support.transition = false
|
||||||
|
stop()
|
||||||
|
$carousel.one('slide.bs.carousel', function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
setTimeout(function () {
|
||||||
|
ok($carousel.find('.item:eq(0)').is('.active'))
|
||||||
|
ok($carousel.find('.carousel-indicators li:eq(0)').is('.active'))
|
||||||
|
$carousel.carousel('next')
|
||||||
|
}, 1);
|
||||||
|
})
|
||||||
|
$carousel.one('slid.bs.carousel', function () {
|
||||||
|
setTimeout(function () {
|
||||||
|
ok($carousel.find('.item:eq(1)').is('.active'))
|
||||||
|
ok($carousel.find('.carousel-indicators li:eq(1)').is('.active'))
|
||||||
|
start()
|
||||||
|
}, 1);
|
||||||
|
})
|
||||||
|
$carousel.carousel('next')
|
||||||
|
})
|
||||||
|
|
||||||
test('should fire slide event with direction', function () {
|
test('should fire slide event with direction', function () {
|
||||||
var template = '<div id="myCarousel" class="carousel slide"><div class="carousel-inner"><div class="item active"><img alt=""><div class="carousel-caption"><h4>{{_i}}First Thumbnail label{{/i}}</h4><p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p></div></div><div class="item"><img alt=""><div class="carousel-caption"><h4>{{_i}}Second Thumbnail label{{/i}}</h4><p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p></div></div><div class="item"><img alt=""><div class="carousel-caption"><h4>{{_i}}Third Thumbnail label{{/i}}</h4><p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p></div></div></div><a class="left carousel-control" href="#myCarousel" data-slide="prev">‹</a><a class="right carousel-control" href="#myCarousel" data-slide="next">›</a></div>'
|
var template = '<div id="myCarousel" class="carousel slide"><div class="carousel-inner"><div class="item active"><img alt=""><div class="carousel-caption"><h4>{{_i}}First Thumbnail label{{/i}}</h4><p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p></div></div><div class="item"><img alt=""><div class="carousel-caption"><h4>{{_i}}Second Thumbnail label{{/i}}</h4><p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p></div></div><div class="item"><img alt=""><div class="carousel-caption"><h4>{{_i}}Third Thumbnail label{{/i}}</h4><p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p></div></div></div><a class="left carousel-control" href="#myCarousel" data-slide="prev">‹</a><a class="right carousel-control" href="#myCarousel" data-slide="next">›</a></div>'
|
||||||
$.support.transition = false
|
$.support.transition = false
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: tooltip.js v3.1.0
|
* Bootstrap: tooltip.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#tooltip
|
* http://getbootstrap.com/javascript/#tooltip
|
||||||
* Inspired by the original jQuery.tipsy by Jason Frame
|
* Inspired by the original jQuery.tipsy by Jason Frame
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
@@ -50,8 +50,8 @@
|
|||||||
if (trigger == 'click') {
|
if (trigger == 'click') {
|
||||||
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
|
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
|
||||||
} else if (trigger != 'manual') {
|
} else if (trigger != 'manual') {
|
||||||
var eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
|
var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin'
|
||||||
var eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
|
var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
|
||||||
|
|
||||||
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
|
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
|
||||||
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
|
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
|
||||||
@@ -128,6 +128,7 @@
|
|||||||
this.$element.trigger(e)
|
this.$element.trigger(e)
|
||||||
|
|
||||||
if (e.isDefaultPrevented()) return
|
if (e.isDefaultPrevented()) return
|
||||||
|
var that = this;
|
||||||
|
|
||||||
var $tip = this.tip()
|
var $tip = this.tip()
|
||||||
|
|
||||||
@@ -177,7 +178,17 @@
|
|||||||
var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
|
var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
|
||||||
|
|
||||||
this.applyPlacement(calculatedOffset, placement)
|
this.applyPlacement(calculatedOffset, placement)
|
||||||
this.$element.trigger('shown.bs.' + this.type)
|
this.hoverState = null
|
||||||
|
|
||||||
|
var complete = function() {
|
||||||
|
that.$element.trigger('shown.bs.' + that.type)
|
||||||
|
}
|
||||||
|
|
||||||
|
$.support.transition && this.$tip.hasClass('fade') ?
|
||||||
|
$tip
|
||||||
|
.one($.support.transition.end, complete)
|
||||||
|
.emulateTransitionEnd(150) :
|
||||||
|
complete()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -198,9 +209,18 @@
|
|||||||
offset.top = offset.top + marginTop
|
offset.top = offset.top + marginTop
|
||||||
offset.left = offset.left + marginLeft
|
offset.left = offset.left + marginLeft
|
||||||
|
|
||||||
$tip
|
// $.fn.offset doesn't round pixel values
|
||||||
.offset(offset)
|
// so we use setOffset directly with our own function B-0
|
||||||
.addClass('in')
|
jQuery.offset.setOffset($tip[0], $.extend({
|
||||||
|
using: function (props) {
|
||||||
|
$tip.css({
|
||||||
|
top: Math.round(props.top),
|
||||||
|
left: Math.round(props.left)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}, offset), 0)
|
||||||
|
|
||||||
|
$tip.addClass('in')
|
||||||
|
|
||||||
// check to see if placing tip in new offset caused the tip to resize itself
|
// check to see if placing tip in new offset caused the tip to resize itself
|
||||||
var actualWidth = $tip[0].offsetWidth
|
var actualWidth = $tip[0].offsetWidth
|
||||||
@@ -251,6 +271,7 @@
|
|||||||
|
|
||||||
function complete() {
|
function complete() {
|
||||||
if (that.hoverState != 'in') $tip.detach()
|
if (that.hoverState != 'in') $tip.detach()
|
||||||
|
that.$element.trigger('hidden.bs.' + that.type)
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$element.trigger(e)
|
this.$element.trigger(e)
|
||||||
@@ -265,7 +286,7 @@
|
|||||||
.emulateTransitionEnd(150) :
|
.emulateTransitionEnd(150) :
|
||||||
complete()
|
complete()
|
||||||
|
|
||||||
this.$element.trigger('hidden.bs.' + this.type)
|
this.hoverState = null
|
||||||
|
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
@@ -341,6 +362,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
Tooltip.prototype.destroy = function () {
|
Tooltip.prototype.destroy = function () {
|
||||||
|
clearTimeout(this.timeout)
|
||||||
this.hide().$element.off('.' + this.type).removeData('bs.' + this.type)
|
this.hide().$element.off('.' + this.type).removeData('bs.' + this.type)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -356,6 +378,7 @@
|
|||||||
var data = $this.data('bs.tooltip')
|
var data = $this.data('bs.tooltip')
|
||||||
var options = typeof option == 'object' && option
|
var options = typeof option == 'object' && option
|
||||||
|
|
||||||
|
if (!data && option == 'destroy') return
|
||||||
if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
|
if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
|
||||||
if (typeof option == 'string') data[option]()
|
if (typeof option == 'string') data[option]()
|
||||||
})
|
})
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: transition.js v3.1.0
|
* Bootstrap: transition.js v3.0.3
|
||||||
* http://getbootstrap.com/javascript/#transitions
|
* http://getbootstrap.com/javascript/#transitions
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2013 Twitter, Inc.
|
* Copyright 2013 Twitter, Inc.
|
||||||
@@ -27,6 +27,8 @@
|
|||||||
return { end: transEndEventNames[name] }
|
return { end: transEndEventNames[name] }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return false // explicit for ie8 ( ._.)
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://blog.alexmaccaw.com/css-transitions
|
// http://blog.alexmaccaw.com/css-transitions
|
||||||
|
@@ -59,6 +59,20 @@
|
|||||||
> .table,
|
> .table,
|
||||||
> .table-responsive > .table {
|
> .table-responsive > .table {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
|
|
||||||
|
> tbody:last-child,
|
||||||
|
> tfoot:last-child {
|
||||||
|
> tr:last-child {
|
||||||
|
td:first-child,
|
||||||
|
th:first-child {
|
||||||
|
border-bottom-left-radius: (@panel-border-radius - 1);
|
||||||
|
}
|
||||||
|
td:last-child,
|
||||||
|
th:last-child {
|
||||||
|
border-bottom-right-radius: (@panel-border-radius - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
> .panel-body + .table,
|
> .panel-body + .table,
|
||||||
> .panel-body + .table-responsive {
|
> .panel-body + .table-responsive {
|
||||||
@@ -95,19 +109,6 @@
|
|||||||
border: 0;
|
border: 0;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
> .table-striped,
|
|
||||||
> .table-responsive > .table-striped {
|
|
||||||
> tbody > tr:last-child {
|
|
||||||
td:first-child,
|
|
||||||
th:first-child {
|
|
||||||
border-bottom-left-radius: (@panel-border-radius - 1);
|
|
||||||
}
|
|
||||||
td:last-child,
|
|
||||||
th:last-child {
|
|
||||||
border-bottom-left-radius: (@panel-border-radius - 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -189,7 +189,7 @@
|
|||||||
|
|
||||||
@dropdown-header-color: @gray-light;
|
@dropdown-header-color: @gray-light;
|
||||||
|
|
||||||
// Note: Deprecated @dropdown-caret-color as of v3.1.0
|
// Note: Deprecated @dropdown-caret-color as of v3.1
|
||||||
@dropdown-caret-color: #000;
|
@dropdown-caret-color: #000;
|
||||||
|
|
||||||
|
|
||||||
|
38
package.json
38
package.json
@@ -1,11 +1,16 @@
|
|||||||
{
|
{
|
||||||
"name": "bootstrap",
|
"name": "bootstrap",
|
||||||
"description": "Sleek, intuitive, and powerful front-end framework for faster and easier web development.",
|
"description": "Sleek, intuitive, and powerful front-end framework for faster and easier web development.",
|
||||||
"version": "3.1.0",
|
"version": "3.0.3",
|
||||||
"keywords": ["bootstrap", "css"],
|
"keywords": [
|
||||||
|
"bootstrap",
|
||||||
|
"css"
|
||||||
|
],
|
||||||
"homepage": "http://getbootstrap.com",
|
"homepage": "http://getbootstrap.com",
|
||||||
"author": "Twitter, Inc.",
|
"author": "Twitter, Inc.",
|
||||||
"scripts": { "test": "grunt test" },
|
"scripts": {
|
||||||
|
"test": "grunt test"
|
||||||
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/twbs/bootstrap.git"
|
"url": "https://github.com/twbs/bootstrap.git"
|
||||||
@@ -21,35 +26,40 @@
|
|||||||
],
|
],
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"btoa": "~1.1.1",
|
"btoa": "~1.1.1",
|
||||||
"grunt": "~0.4.1",
|
"grunt": "~0.4.2",
|
||||||
"grunt-banner": "~0.2.0",
|
"grunt-banner": "~0.2.0",
|
||||||
"grunt-contrib-clean": "~0.5.0",
|
"grunt-contrib-clean": "~0.5.0",
|
||||||
"grunt-contrib-concat": "~0.3.0",
|
"grunt-contrib-concat": "~0.3.0",
|
||||||
"grunt-contrib-connect": "~0.5.0",
|
"grunt-contrib-connect": "~0.5.0",
|
||||||
"grunt-contrib-copy": "~0.4.1",
|
"grunt-contrib-copy": "~0.5.0",
|
||||||
"grunt-contrib-csslint": "~0.2.0",
|
"grunt-contrib-csslint": "~0.2.0",
|
||||||
"grunt-contrib-jshint": "~0.7.0",
|
"grunt-contrib-jshint": "~0.8.0",
|
||||||
"grunt-contrib-less": "~0.8.0",
|
"grunt-contrib-less": "~0.8.3",
|
||||||
"grunt-contrib-qunit": "~0.3.0",
|
"grunt-contrib-qunit": "~0.3.0",
|
||||||
"grunt-contrib-uglify": "~0.2.4",
|
"grunt-contrib-uglify": "~0.2.7",
|
||||||
"grunt-contrib-watch": "~0.5.3",
|
"grunt-contrib-watch": "~0.5.3",
|
||||||
"grunt-csscomb": "~1.2.1",
|
"grunt-csscomb": "~1.2.1",
|
||||||
"grunt-html-validation": "~0.1.11",
|
"grunt-html-validation": "~0.1.13",
|
||||||
"grunt-jekyll": "~0.4.0",
|
"grunt-jekyll": "~0.4.1",
|
||||||
"grunt-jscs-checker": "~0.2.5",
|
"grunt-jscs-checker": "~0.3.0",
|
||||||
"grunt-saucelabs": "~4.1.2",
|
"grunt-saucelabs": "~4.1.2",
|
||||||
"grunt-sed": "~0.1.1",
|
"grunt-sed": "~0.1.1",
|
||||||
"load-grunt-tasks": "~0.2.0"
|
"load-grunt-tasks": "~0.2.1"
|
||||||
},
|
},
|
||||||
"jspm": {
|
"jspm": {
|
||||||
"main": "js/bootstrap",
|
"main": "js/bootstrap",
|
||||||
"directories": { "lib": "dist" },
|
"directories": {
|
||||||
|
"example": "examples",
|
||||||
|
"lib": "dist"
|
||||||
|
},
|
||||||
"shim": {
|
"shim": {
|
||||||
"js/bootstrap": {
|
"js/bootstrap": {
|
||||||
"imports": "jquery",
|
"imports": "jquery",
|
||||||
"exports": "$"
|
"exports": "$"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"buildConfig": { "uglify": true }
|
"buildConfig": {
|
||||||
|
"uglify": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -79,8 +79,8 @@ def upload(directory):
|
|||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
# Uses environment variables:
|
# Uses environment variables:
|
||||||
# AWS_ACCESS_KEY_ID - AWS Access Key ID
|
# AWS_ACCESS_KEY_ID -- AWS Access Key ID
|
||||||
# AWS_SECRET_ACCESS_KEY - AWS Secret Access Key
|
# AWS_SECRET_ACCESS_KEY -- AWS Secret Access Key
|
||||||
argv.pop(0)
|
argv.pop(0)
|
||||||
if len(argv) != 4:
|
if len(argv) != 4:
|
||||||
raise SystemExit("USAGE: node_modules_cache.py <download | upload> <friendly name> <dependencies file> <directory>")
|
raise SystemExit("USAGE: node_modules_cache.py <download | upload> <friendly name> <dependencies file> <directory>")
|
||||||
|
Reference in New Issue
Block a user