Compare commits
33 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
49fbecb507 | ||
|
|
4eb66ac3b5 | ||
|
|
8eee15719f | ||
|
|
8685919860 | ||
|
|
15dade60d0 | ||
|
|
7acc1a0540 | ||
|
|
06d8702103 | ||
|
|
39805790df | ||
|
|
bc69b30bbe | ||
|
|
0c64b68b30 | ||
|
|
76ef6da0fb | ||
|
|
b9b4738f4f | ||
|
|
7d43502565 | ||
|
|
f64e47d361 | ||
|
|
9c094e9eaa | ||
|
|
90fc3d77a3 | ||
|
|
578afca14a | ||
|
|
6192b94721 | ||
|
|
9da00b7d4a | ||
|
|
8c064ad0a9 | ||
|
|
1847b90c83 | ||
|
|
61131dfe62 | ||
|
|
afb82ee156 | ||
|
|
f509833df1 | ||
|
|
0b77a7484f | ||
|
|
948ed10a1d | ||
|
|
c1fc29bfe4 | ||
|
|
b6e856a925 | ||
|
|
486c11882b | ||
|
|
00b5ca81c3 | ||
|
|
c98dee92a4 | ||
|
|
1eb473786c | ||
|
|
22402586d2 |
214
LICENSE
214
LICENSE
@@ -1,202 +1,22 @@
|
|||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
The MIT License (MIT)
|
||||||
|
|
||||||
1. Definitions.
|
Copyright (c) 2013-2016 Blackrock Digital LLC.
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
The above copyright notice and this permission notice shall be included in
|
||||||
the copyright owner that is granting the License.
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright 2013-2015 Iron Summit Media Strategies, LLC
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
14
README.md
14
README.md
@@ -4,18 +4,18 @@
|
|||||||
|
|
||||||
## Getting Started
|
## Getting Started
|
||||||
|
|
||||||
To use this template, choose one of the following options to get started:
|
To begin using this template, choose one of the following options to get started:
|
||||||
* Download the latest release on Start Bootstrap
|
* [Download the latest release on Start Bootstrap](http://startbootstrap.com/template-overviews/sb-admin-2/)
|
||||||
* Fork this repository on GitHub
|
* Clone the repo: `git clone https://github.com/BlackrockDigital/startbootstrap-sb-admin-2.git`
|
||||||
* Install via bower using `bower install startbootstrap-sb-admin-2`
|
* Fork the repo
|
||||||
|
|
||||||
## Bugs and Issues
|
## Bugs and Issues
|
||||||
|
|
||||||
Have a bug or an issue with this template? [Open a new issue](https://github.com/IronSummitMedia/startbootstrap-sb-admin-2/issues) here on GitHub or leave a comment on the [template overview page at Start Bootstrap](http://startbootstrap.com/template-overviews/sb-admin-2/).
|
Have a bug or an issue with this template? [Open a new issue](https://github.com/BlackrockDigital/startbootstrap-sb-admin-2/issues) here on GitHub or leave a comment on the [template overview page at Start Bootstrap](http://startbootstrap.com/template-overviews/sb-admin-2/).
|
||||||
|
|
||||||
## Creator
|
## Creator
|
||||||
|
|
||||||
Start Bootstrap was created by and is maintained by **David Miller**, Managing Parter at [Iron Summit Media Strategies](http://www.ironsummitmedia.com/).
|
Start Bootstrap was created by and is maintained by **[David Miller](http://davidmiller.io/)**, Owner of [Blackrock Digital](http://blackrockdigital.io/).
|
||||||
|
|
||||||
* https://twitter.com/davidmillerskt
|
* https://twitter.com/davidmillerskt
|
||||||
* https://github.com/davidtmiller
|
* https://github.com/davidtmiller
|
||||||
@@ -24,4 +24,4 @@ Start Bootstrap is based on the [Bootstrap](http://getbootstrap.com/) framework
|
|||||||
|
|
||||||
## Copyright and License
|
## Copyright and License
|
||||||
|
|
||||||
Copyright 2013-2015 Iron Summit Media Strategies, LLC. Code released under the [Apache 2.0](https://github.com/IronSummitMedia/startbootstrap-sb-admin-2/blob/gh-pages/LICENSE) license.
|
Copyright 2013-2016 Blackrock Digital LLC. Code released under the [MIT](https://github.com/BlackrockDigital/startbootstrap-sb-admin-2/blob/gh-pages/LICENSE) license.
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "startbootstrap-sb-admin-2",
|
"name": "startbootstrap-sb-admin-2",
|
||||||
"version": "1.0.4",
|
"version": "1.0.9",
|
||||||
"homepage": "http://startbootstrap.com/template-overviews/sb-admin-2/",
|
"homepage": "http://startbootstrap.com/template-overviews/sb-admin-2/",
|
||||||
"authors": [
|
"authors": [
|
||||||
"David Miller"
|
"David Miller"
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
"bootstrap",
|
"bootstrap",
|
||||||
"theme"
|
"theme"
|
||||||
],
|
],
|
||||||
"license": "Apache",
|
"license": "Apache-2.0",
|
||||||
"ignore": [
|
"ignore": [
|
||||||
"**/.*",
|
"**/.*",
|
||||||
"node_modules",
|
"node_modules",
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
"dist/js/sb-admin-2.js"
|
"dist/js/sb-admin-2.js"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bootstrap": "~3.3.1",
|
"bootstrap": "~3.3.7",
|
||||||
"datatables": "~1.10.4",
|
"datatables": "~1.10.4",
|
||||||
"datatables-plugins": "~1.0.1",
|
"datatables-plugins": "~1.0.1",
|
||||||
"flot": "~0.8.3",
|
"flot": "~0.8.3",
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
"holderjs": "~2.4.1",
|
"holderjs": "~2.4.1",
|
||||||
"metisMenu": "~1.1.3",
|
"metisMenu": "~1.1.3",
|
||||||
"morrisjs": "~0.5.1",
|
"morrisjs": "~0.5.1",
|
||||||
"datatables-responsive": "~1.0.3",
|
"datatables-responsive": "1.0.6",
|
||||||
"bootstrap-social": "~4.8.0",
|
"bootstrap-social": "~4.8.0",
|
||||||
"flot.tooltip": "~0.8.4"
|
"flot.tooltip": "~0.8.4"
|
||||||
}
|
}
|
||||||
|
|||||||
23
bower_components/bootstrap/.bower.json
vendored
23
bower_components/bootstrap/.bower.json
vendored
@@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "bootstrap",
|
"name": "bootstrap",
|
||||||
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
|
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
|
||||||
"version": "3.3.2",
|
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"css",
|
"css",
|
||||||
"js",
|
"js",
|
||||||
@@ -13,14 +12,11 @@
|
|||||||
"web"
|
"web"
|
||||||
],
|
],
|
||||||
"homepage": "http://getbootstrap.com",
|
"homepage": "http://getbootstrap.com",
|
||||||
|
"license": "MIT",
|
||||||
|
"moduleType": "globals",
|
||||||
"main": [
|
"main": [
|
||||||
"less/bootstrap.less",
|
"less/bootstrap.less",
|
||||||
"dist/css/bootstrap.css",
|
"dist/js/bootstrap.js"
|
||||||
"dist/js/bootstrap.js",
|
|
||||||
"dist/fonts/glyphicons-halflings-regular.eot",
|
|
||||||
"dist/fonts/glyphicons-halflings-regular.svg",
|
|
||||||
"dist/fonts/glyphicons-halflings-regular.ttf",
|
|
||||||
"dist/fonts/glyphicons-halflings-regular.woff"
|
|
||||||
],
|
],
|
||||||
"ignore": [
|
"ignore": [
|
||||||
"/.*",
|
"/.*",
|
||||||
@@ -33,15 +29,16 @@
|
|||||||
"test-infra"
|
"test-infra"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"jquery": ">= 1.9.1"
|
"jquery": "1.9.1 - 3"
|
||||||
},
|
},
|
||||||
"_release": "3.3.2",
|
"version": "3.3.7",
|
||||||
|
"_release": "3.3.7",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v3.3.2",
|
"tag": "v3.3.7",
|
||||||
"commit": "bcf7dd38b5ab180256e2e4fb5da0369551b3f082"
|
"commit": "0b9c4a4007c44201dce9a6cc1a38407005c26c86"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/twbs/bootstrap.git",
|
"_source": "https://github.com/twbs/bootstrap.git",
|
||||||
"_target": "~3.3.1",
|
"_target": "~3.3.7",
|
||||||
"_originalSource": "bootstrap"
|
"_originalSource": "bootstrap"
|
||||||
}
|
}
|
||||||
5
bower_components/bootstrap/CHANGELOG.md
vendored
Normal file
5
bower_components/bootstrap/CHANGELOG.md
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
Bootstrap uses [GitHub's Releases feature](https://github.com/blog/1547-release-your-software) for its changelogs.
|
||||||
|
|
||||||
|
See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap.
|
||||||
|
|
||||||
|
Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release.
|
||||||
6
bower_components/bootstrap/Gemfile
vendored
Normal file
6
bower_components/bootstrap/Gemfile
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
source 'https://rubygems.org'
|
||||||
|
|
||||||
|
group :development, :test do
|
||||||
|
gem 'jekyll', '~> 3.1.2'
|
||||||
|
gem 'jekyll-sitemap', '~> 0.11.0'
|
||||||
|
end
|
||||||
43
bower_components/bootstrap/Gemfile.lock
vendored
Normal file
43
bower_components/bootstrap/Gemfile.lock
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
GEM
|
||||||
|
remote: https://rubygems.org/
|
||||||
|
specs:
|
||||||
|
addressable (2.4.0)
|
||||||
|
colorator (0.1)
|
||||||
|
ffi (1.9.14-x64-mingw32)
|
||||||
|
jekyll (3.1.6)
|
||||||
|
colorator (~> 0.1)
|
||||||
|
jekyll-sass-converter (~> 1.0)
|
||||||
|
jekyll-watch (~> 1.1)
|
||||||
|
kramdown (~> 1.3)
|
||||||
|
liquid (~> 3.0)
|
||||||
|
mercenary (~> 0.3.3)
|
||||||
|
rouge (~> 1.7)
|
||||||
|
safe_yaml (~> 1.0)
|
||||||
|
jekyll-sass-converter (1.4.0)
|
||||||
|
sass (~> 3.4)
|
||||||
|
jekyll-sitemap (0.11.0)
|
||||||
|
addressable (~> 2.4.0)
|
||||||
|
jekyll-watch (1.4.0)
|
||||||
|
listen (~> 3.0, < 3.1)
|
||||||
|
kramdown (1.11.1)
|
||||||
|
liquid (3.0.6)
|
||||||
|
listen (3.0.8)
|
||||||
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||||
|
rb-inotify (~> 0.9, >= 0.9.7)
|
||||||
|
mercenary (0.3.6)
|
||||||
|
rb-fsevent (0.9.7)
|
||||||
|
rb-inotify (0.9.7)
|
||||||
|
ffi (>= 0.5.0)
|
||||||
|
rouge (1.11.1)
|
||||||
|
safe_yaml (1.0.4)
|
||||||
|
sass (3.4.22)
|
||||||
|
|
||||||
|
PLATFORMS
|
||||||
|
x64-mingw32
|
||||||
|
|
||||||
|
DEPENDENCIES
|
||||||
|
jekyll (~> 3.1.2)
|
||||||
|
jekyll-sitemap (~> 0.11.0)
|
||||||
|
|
||||||
|
BUNDLED WITH
|
||||||
|
1.12.5
|
||||||
152
bower_components/bootstrap/Gruntfile.js
vendored
152
bower_components/bootstrap/Gruntfile.js
vendored
@@ -1,7 +1,7 @@
|
|||||||
/*!
|
/*!
|
||||||
* Bootstrap's Gruntfile
|
* Bootstrap's Gruntfile
|
||||||
* http://getbootstrap.com
|
* http://getbootstrap.com
|
||||||
* Copyright 2013-2015 Twitter, Inc.
|
* Copyright 2013-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -17,7 +17,6 @@ module.exports = function (grunt) {
|
|||||||
|
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
var npmShrinkwrap = require('npm-shrinkwrap');
|
|
||||||
var generateGlyphiconsData = require('./grunt/bs-glyphicons-data-generator.js');
|
var generateGlyphiconsData = require('./grunt/bs-glyphicons-data-generator.js');
|
||||||
var BsLessdocParser = require('./grunt/bs-lessdoc-parser.js');
|
var BsLessdocParser = require('./grunt/bs-lessdoc-parser.js');
|
||||||
var getLessVarsData = function () {
|
var getLessVarsData = function () {
|
||||||
@@ -44,7 +43,7 @@ module.exports = function (grunt) {
|
|||||||
banner: '/*!\n' +
|
banner: '/*!\n' +
|
||||||
' * Bootstrap v<%= pkg.version %> (<%= pkg.homepage %>)\n' +
|
' * Bootstrap v<%= pkg.version %> (<%= pkg.homepage %>)\n' +
|
||||||
' * Copyright 2011-<%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
|
' * Copyright 2011-<%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
|
||||||
' * Licensed under <%= pkg.license.type %> (<%= pkg.license.url %>)\n' +
|
' * Licensed under the <%= pkg.license %> license\n' +
|
||||||
' */\n',
|
' */\n',
|
||||||
jqueryCheck: configBridge.config.jqueryCheck.join('\n'),
|
jqueryCheck: configBridge.config.jqueryCheck.join('\n'),
|
||||||
jqueryVersionCheck: configBridge.config.jqueryVersionCheck.join('\n'),
|
jqueryVersionCheck: configBridge.config.jqueryVersionCheck.join('\n'),
|
||||||
@@ -63,7 +62,7 @@ module.exports = function (grunt) {
|
|||||||
options: {
|
options: {
|
||||||
jshintrc: 'grunt/.jshintrc'
|
jshintrc: 'grunt/.jshintrc'
|
||||||
},
|
},
|
||||||
src: ['Gruntfile.js', 'grunt/*.js']
|
src: ['Gruntfile.js', 'package.js', 'grunt/*.js']
|
||||||
},
|
},
|
||||||
core: {
|
core: {
|
||||||
src: 'js/*.js'
|
src: 'js/*.js'
|
||||||
@@ -126,7 +125,11 @@ module.exports = function (grunt) {
|
|||||||
|
|
||||||
uglify: {
|
uglify: {
|
||||||
options: {
|
options: {
|
||||||
preserveComments: 'some'
|
compress: {
|
||||||
|
warnings: false
|
||||||
|
},
|
||||||
|
mangle: true,
|
||||||
|
preserveComments: /^!|@preserve|@license|@cc_on/i
|
||||||
},
|
},
|
||||||
core: {
|
core: {
|
||||||
src: '<%= concat.bootstrap.dest %>',
|
src: '<%= concat.bootstrap.dest %>',
|
||||||
@@ -191,7 +194,7 @@ module.exports = function (grunt) {
|
|||||||
src: 'dist/css/<%= pkg.name %>-theme.css'
|
src: 'dist/css/<%= pkg.name %>-theme.css'
|
||||||
},
|
},
|
||||||
docs: {
|
docs: {
|
||||||
src: 'docs/assets/css/src/docs.css'
|
src: ['docs/assets/css/src/docs.css']
|
||||||
},
|
},
|
||||||
examples: {
|
examples: {
|
||||||
expand: true,
|
expand: true,
|
||||||
@@ -223,8 +226,12 @@ module.exports = function (grunt) {
|
|||||||
|
|
||||||
cssmin: {
|
cssmin: {
|
||||||
options: {
|
options: {
|
||||||
|
// TODO: disable `zeroUnits` optimization once clean-css 3.2 is released
|
||||||
|
// and then simplify the fix for https://github.com/twbs/bootstrap/issues/14837 accordingly
|
||||||
compatibility: 'ie8',
|
compatibility: 'ie8',
|
||||||
keepSpecialComments: '*',
|
keepSpecialComments: '*',
|
||||||
|
sourceMap: true,
|
||||||
|
sourceMapInlineSources: true,
|
||||||
advanced: false
|
advanced: false
|
||||||
},
|
},
|
||||||
minifyCore: {
|
minifyCore: {
|
||||||
@@ -237,23 +244,14 @@ module.exports = function (grunt) {
|
|||||||
},
|
},
|
||||||
docs: {
|
docs: {
|
||||||
src: [
|
src: [
|
||||||
'docs/assets/css/src/docs.css',
|
'docs/assets/css/ie10-viewport-bug-workaround.css',
|
||||||
'docs/assets/css/src/pygments-manni.css'
|
'docs/assets/css/src/pygments-manni.css',
|
||||||
|
'docs/assets/css/src/docs.css'
|
||||||
],
|
],
|
||||||
dest: 'docs/assets/css/docs.min.css'
|
dest: 'docs/assets/css/docs.min.css'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
usebanner: {
|
|
||||||
options: {
|
|
||||||
position: 'top',
|
|
||||||
banner: '<%= banner %>'
|
|
||||||
},
|
|
||||||
files: {
|
|
||||||
src: 'dist/css/*.css'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
csscomb: {
|
csscomb: {
|
||||||
options: {
|
options: {
|
||||||
config: 'less/.csscomb.json'
|
config: 'less/.csscomb.json'
|
||||||
@@ -278,12 +276,17 @@ module.exports = function (grunt) {
|
|||||||
|
|
||||||
copy: {
|
copy: {
|
||||||
fonts: {
|
fonts: {
|
||||||
src: 'fonts/*',
|
expand: true,
|
||||||
|
src: 'fonts/**',
|
||||||
dest: 'dist/'
|
dest: 'dist/'
|
||||||
},
|
},
|
||||||
docs: {
|
docs: {
|
||||||
src: 'dist/*/*',
|
expand: true,
|
||||||
dest: 'docs/'
|
cwd: 'dist/',
|
||||||
|
src: [
|
||||||
|
'**/*'
|
||||||
|
],
|
||||||
|
dest: 'docs/dist/'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -298,7 +301,9 @@ module.exports = function (grunt) {
|
|||||||
|
|
||||||
jekyll: {
|
jekyll: {
|
||||||
options: {
|
options: {
|
||||||
config: '_config.yml'
|
bundleExec: true,
|
||||||
|
config: '_config.yml',
|
||||||
|
incremental: false
|
||||||
},
|
},
|
||||||
docs: {},
|
docs: {},
|
||||||
github: {
|
github: {
|
||||||
@@ -308,43 +313,71 @@ module.exports = function (grunt) {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
jade: {
|
htmlmin: {
|
||||||
|
dist: {
|
||||||
|
options: {
|
||||||
|
collapseBooleanAttributes: true,
|
||||||
|
collapseWhitespace: true,
|
||||||
|
conservativeCollapse: true,
|
||||||
|
decodeEntities: false,
|
||||||
|
minifyCSS: {
|
||||||
|
compatibility: 'ie8',
|
||||||
|
keepSpecialComments: 0
|
||||||
|
},
|
||||||
|
minifyJS: true,
|
||||||
|
minifyURLs: false,
|
||||||
|
processConditionalComments: true,
|
||||||
|
removeAttributeQuotes: true,
|
||||||
|
removeComments: true,
|
||||||
|
removeOptionalAttributes: true,
|
||||||
|
removeOptionalTags: true,
|
||||||
|
removeRedundantAttributes: true,
|
||||||
|
removeScriptTypeAttributes: true,
|
||||||
|
removeStyleLinkTypeAttributes: true,
|
||||||
|
removeTagWhitespace: false,
|
||||||
|
sortAttributes: true,
|
||||||
|
sortClassName: true
|
||||||
|
},
|
||||||
|
expand: true,
|
||||||
|
cwd: '_gh_pages',
|
||||||
|
dest: '_gh_pages',
|
||||||
|
src: [
|
||||||
|
'**/*.html',
|
||||||
|
'!examples/**/*.html'
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
pug: {
|
||||||
options: {
|
options: {
|
||||||
pretty: true,
|
pretty: true,
|
||||||
data: getLessVarsData
|
data: getLessVarsData
|
||||||
},
|
},
|
||||||
customizerVars: {
|
customizerVars: {
|
||||||
src: 'docs/_jade/customizer-variables.jade',
|
src: 'docs/_pug/customizer-variables.pug',
|
||||||
dest: 'docs/_includes/customizer-variables.html'
|
dest: 'docs/_includes/customizer-variables.html'
|
||||||
},
|
},
|
||||||
customizerNav: {
|
customizerNav: {
|
||||||
src: 'docs/_jade/customizer-nav.jade',
|
src: 'docs/_pug/customizer-nav.pug',
|
||||||
dest: 'docs/_includes/nav/customize.html'
|
dest: 'docs/_includes/nav/customize.html'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
validation: {
|
htmllint: {
|
||||||
options: {
|
options: {
|
||||||
charset: 'utf-8',
|
ignore: [
|
||||||
doctype: 'HTML5',
|
'Attribute "autocomplete" not allowed on element "button" at this point.',
|
||||||
failHard: true,
|
'Attribute "autocomplete" is only allowed when the input type is "color", "date", "datetime", "datetime-local", "email", "hidden", "month", "number", "password", "range", "search", "tel", "text", "time", "url", or "week".',
|
||||||
reset: true,
|
'Element "img" is missing required attribute "src".'
|
||||||
relaxerror: [
|
|
||||||
'Element img is missing required attribute src.',
|
|
||||||
'Attribute autocomplete not allowed on element input at this point.',
|
|
||||||
'Attribute autocomplete not allowed on element button at this point.',
|
|
||||||
'Bad value separator for attribute role on element li.'
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
files: {
|
|
||||||
src: '_gh_pages/**/*.html'
|
src: '_gh_pages/**/*.html'
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
watch: {
|
watch: {
|
||||||
src: {
|
src: {
|
||||||
files: '<%= jshint.core.src %>',
|
files: '<%= jshint.core.src %>',
|
||||||
tasks: ['jshint:src', 'qunit', 'concat']
|
tasks: ['jshint:core', 'qunit', 'concat']
|
||||||
},
|
},
|
||||||
test: {
|
test: {
|
||||||
files: '<%= jshint.test.src %>',
|
files: '<%= jshint.test.src %>',
|
||||||
@@ -356,17 +389,6 @@ module.exports = function (grunt) {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
sed: {
|
|
||||||
versionNumber: {
|
|
||||||
pattern: (function () {
|
|
||||||
var old = grunt.option('oldver');
|
|
||||||
return old ? RegExp.quote(old) : old;
|
|
||||||
})(),
|
|
||||||
replacement: grunt.option('newver'),
|
|
||||||
recursive: true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
'saucelabs-qunit': {
|
'saucelabs-qunit': {
|
||||||
all: {
|
all: {
|
||||||
options: {
|
options: {
|
||||||
@@ -374,7 +396,7 @@ module.exports = function (grunt) {
|
|||||||
throttled: 10,
|
throttled: 10,
|
||||||
maxRetries: 3,
|
maxRetries: 3,
|
||||||
maxPollRetries: 4,
|
maxPollRetries: 4,
|
||||||
urls: ['http://127.0.0.1:3000/js/tests/index.html'],
|
urls: ['http://127.0.0.1:3000/js/tests/index.html?hidepassed'],
|
||||||
browsers: grunt.file.readYAML('grunt/sauce_browsers.yml')
|
browsers: grunt.file.readYAML('grunt/sauce_browsers.yml')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -413,7 +435,7 @@ module.exports = function (grunt) {
|
|||||||
require('time-grunt')(grunt);
|
require('time-grunt')(grunt);
|
||||||
|
|
||||||
// Docs HTML validation task
|
// Docs HTML validation task
|
||||||
grunt.registerTask('validate-html', ['jekyll:docs', 'validation']);
|
grunt.registerTask('validate-html', ['jekyll:docs', 'htmllint']);
|
||||||
|
|
||||||
var runSubset = function (subset) {
|
var runSubset = function (subset) {
|
||||||
return !process.env.TWBS_TEST || process.env.TWBS_TEST === subset;
|
return !process.env.TWBS_TEST || process.env.TWBS_TEST === subset;
|
||||||
@@ -453,7 +475,7 @@ module.exports = function (grunt) {
|
|||||||
|
|
||||||
// CSS distribution task.
|
// CSS distribution task.
|
||||||
grunt.registerTask('less-compile', ['less:compileCore', 'less:compileTheme']);
|
grunt.registerTask('less-compile', ['less:compileCore', 'less:compileTheme']);
|
||||||
grunt.registerTask('dist-css', ['less-compile', 'autoprefixer:core', 'autoprefixer:theme', 'usebanner', 'csscomb:dist', 'cssmin:minifyCore', 'cssmin:minifyTheme']);
|
grunt.registerTask('dist-css', ['less-compile', 'autoprefixer:core', 'autoprefixer:theme', 'csscomb:dist', 'cssmin:minifyCore', 'cssmin:minifyTheme']);
|
||||||
|
|
||||||
// Full distribution task.
|
// Full distribution task.
|
||||||
grunt.registerTask('dist', ['clean:dist', 'dist-css', 'copy:fonts', 'dist-js']);
|
grunt.registerTask('dist', ['clean:dist', 'dist-css', 'copy:fonts', 'dist-js']);
|
||||||
@@ -461,16 +483,11 @@ module.exports = function (grunt) {
|
|||||||
// Default task.
|
// Default task.
|
||||||
grunt.registerTask('default', ['clean:dist', 'copy:fonts', 'test']);
|
grunt.registerTask('default', ['clean:dist', 'copy:fonts', 'test']);
|
||||||
|
|
||||||
// Version numbering task.
|
|
||||||
// grunt change-version-number --oldver=A.B.C --newver=X.Y.Z
|
|
||||||
// This can be overzealous, so its changes should always be manually reviewed!
|
|
||||||
grunt.registerTask('change-version-number', 'sed');
|
|
||||||
|
|
||||||
grunt.registerTask('build-glyphicons-data', function () { generateGlyphiconsData.call(this, grunt); });
|
grunt.registerTask('build-glyphicons-data', function () { generateGlyphiconsData.call(this, grunt); });
|
||||||
|
|
||||||
// task for building customizer
|
// task for building customizer
|
||||||
grunt.registerTask('build-customizer', ['build-customizer-html', 'build-raw-files']);
|
grunt.registerTask('build-customizer', ['build-customizer-html', 'build-raw-files']);
|
||||||
grunt.registerTask('build-customizer-html', 'jade');
|
grunt.registerTask('build-customizer-html', 'pug');
|
||||||
grunt.registerTask('build-raw-files', 'Add scripts/less files to customizer.', function () {
|
grunt.registerTask('build-raw-files', 'Add scripts/less files to customizer.', function () {
|
||||||
var banner = grunt.template.process('<%= banner %>');
|
var banner = grunt.template.process('<%= banner %>');
|
||||||
generateRawFiles(grunt, banner);
|
generateRawFiles(grunt, banner);
|
||||||
@@ -488,22 +505,7 @@ module.exports = function (grunt) {
|
|||||||
grunt.registerTask('docs-js', ['uglify:docsJs', 'uglify:customize']);
|
grunt.registerTask('docs-js', ['uglify:docsJs', 'uglify:customize']);
|
||||||
grunt.registerTask('lint-docs-js', ['jshint:assets', 'jscs:assets']);
|
grunt.registerTask('lint-docs-js', ['jshint:assets', 'jscs:assets']);
|
||||||
grunt.registerTask('docs', ['docs-css', 'lint-docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs', 'build-glyphicons-data', 'build-customizer']);
|
grunt.registerTask('docs', ['docs-css', 'lint-docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs', 'build-glyphicons-data', 'build-customizer']);
|
||||||
|
grunt.registerTask('docs-github', ['jekyll:github', 'htmlmin']);
|
||||||
|
|
||||||
grunt.registerTask('prep-release', ['jekyll:github', 'compress']);
|
grunt.registerTask('prep-release', ['dist', 'docs', 'docs-github', 'compress']);
|
||||||
|
|
||||||
// Task for updating the cached npm packages used by the Travis build (which are controlled by test-infra/npm-shrinkwrap.json).
|
|
||||||
// This task should be run and the updated file should be committed whenever Bootstrap's dependencies change.
|
|
||||||
grunt.registerTask('update-shrinkwrap', ['exec:npmUpdate', '_update-shrinkwrap']);
|
|
||||||
grunt.registerTask('_update-shrinkwrap', function () {
|
|
||||||
var done = this.async();
|
|
||||||
npmShrinkwrap({ dev: true, dirname: __dirname }, function (err) {
|
|
||||||
if (err) {
|
|
||||||
grunt.fail.warn(err);
|
|
||||||
}
|
|
||||||
var dest = 'test-infra/npm-shrinkwrap.json';
|
|
||||||
fs.renameSync('npm-shrinkwrap.json', dest);
|
|
||||||
grunt.log.writeln('File ' + dest.cyan + ' updated.');
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|||||||
22
bower_components/bootstrap/ISSUE_TEMPLATE.md
vendored
Normal file
22
bower_components/bootstrap/ISSUE_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
Before opening an issue:
|
||||||
|
|
||||||
|
- [Search for duplicate or closed issues](https://github.com/twbs/bootstrap/issues?utf8=%E2%9C%93&q=is%3Aissue)
|
||||||
|
- [Validate](http://validator.w3.org/nu/) and [lint](https://github.com/twbs/bootlint#in-the-browser) any HTML to avoid common problems
|
||||||
|
- Prepare a [reduced test case](https://css-tricks.com/reduced-test-cases/) for any bugs
|
||||||
|
- Read the [contributing guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md)
|
||||||
|
|
||||||
|
When asking general "how to" questions:
|
||||||
|
|
||||||
|
- Please do not open an issue here
|
||||||
|
- Instead, ask for help on [StackOverflow, IRC, or Slack](https://github.com/twbs/bootstrap/blob/master/README.md#community)
|
||||||
|
|
||||||
|
When reporting a bug, include:
|
||||||
|
|
||||||
|
- Operating system and version (Windows, Mac OS X, Android, iOS, Win10 Mobile)
|
||||||
|
- Browser and version (Chrome, Firefox, Safari, IE, MS Edge, Opera 15+, Android Browser)
|
||||||
|
- Reduced test cases and potential fixes using [JS Bin](https://jsbin.com)
|
||||||
|
|
||||||
|
When suggesting a feature, include:
|
||||||
|
|
||||||
|
- As much detail as possible for what we should add and why it's important to Bootstrap
|
||||||
|
- Relevant links to prior art, screenshots, or live demos whenever possible
|
||||||
2
bower_components/bootstrap/LICENSE
vendored
2
bower_components/bootstrap/LICENSE
vendored
@@ -1,6 +1,6 @@
|
|||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2011-2015 Twitter, Inc
|
Copyright (c) 2011-2016 Twitter, Inc.
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
90
bower_components/bootstrap/README.md
vendored
90
bower_components/bootstrap/README.md
vendored
@@ -1,33 +1,40 @@
|
|||||||
# [Bootstrap](http://getbootstrap.com)
|
# [Bootstrap](http://getbootstrap.com)
|
||||||

|
|
||||||
[](https://www.npmjs.com/package/bootstrap)
|
[](https://bootstrap-slack.herokuapp.com)
|
||||||
[](https://travis-ci.org/twbs/bootstrap)
|

|
||||||
[](https://david-dm.org/twbs/bootstrap#info=devDependencies)
|
[](https://www.npmjs.com/package/bootstrap)
|
||||||
|
[](https://travis-ci.org/twbs/bootstrap)
|
||||||
|
[](https://david-dm.org/twbs/bootstrap#info=devDependencies)
|
||||||
|
[](https://www.nuget.org/packages/Bootstrap)
|
||||||
[](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](https://twitter.com/mdo) and [Jacob Thornton](https://twitter.com/fat), and maintained by the [core team](https://github.com/orgs/twbs/people) 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](https://twitter.com/mdo) and [Jacob Thornton](https://twitter.com/fat), and maintained by the [core team](https://github.com/orgs/twbs/people) with the massive support and involvement of the community.
|
||||||
|
|
||||||
To get started, check out <http://getbootstrap.com>!
|
To get started, check out <http://getbootstrap.com>!
|
||||||
|
|
||||||
|
|
||||||
## Table of contents
|
## Table of contents
|
||||||
|
|
||||||
- [Quick start](#quick-start)
|
* [Quick start](#quick-start)
|
||||||
- [Bugs and feature requests](#bugs-and-feature-requests)
|
* [Bugs and feature requests](#bugs-and-feature-requests)
|
||||||
- [Documentation](#documentation)
|
* [Documentation](#documentation)
|
||||||
- [Contributing](#contributing)
|
* [Contributing](#contributing)
|
||||||
- [Community](#community)
|
* [Community](#community)
|
||||||
- [Versioning](#versioning)
|
* [Versioning](#versioning)
|
||||||
- [Creators](#creators)
|
* [Creators](#creators)
|
||||||
- [Copyright and license](#copyright-and-license)
|
* [Copyright and license](#copyright-and-license)
|
||||||
|
|
||||||
|
|
||||||
## Quick start
|
## Quick start
|
||||||
|
|
||||||
Four quick start options are available:
|
Several quick start options are available:
|
||||||
|
|
||||||
- [Download the latest release](https://github.com/twbs/bootstrap/archive/v3.3.2.zip).
|
* [Download the latest release](https://github.com/twbs/bootstrap/archive/v3.3.7.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`.
|
||||||
- Install with [npm](https://www.npmjs.org): `npm install bootstrap`.
|
* Install with [npm](https://www.npmjs.com): `npm install bootstrap@3`.
|
||||||
|
* Install with [Meteor](https://www.meteor.com): `meteor add twbs:bootstrap`.
|
||||||
|
* Install with [Composer](https://getcomposer.org): `composer require twbs/bootstrap`.
|
||||||
|
|
||||||
Read the [Getting started page](http://getbootstrap.com/getting-started/) for information on the framework contents, templates and examples, and more.
|
Read the [Getting started page](http://getbootstrap.com/getting-started/) for information on the framework contents, templates and examples, and more.
|
||||||
|
|
||||||
@@ -41,9 +48,11 @@ bootstrap/
|
|||||||
│ ├── bootstrap.css
|
│ ├── bootstrap.css
|
||||||
│ ├── bootstrap.css.map
|
│ ├── bootstrap.css.map
|
||||||
│ ├── bootstrap.min.css
|
│ ├── bootstrap.min.css
|
||||||
|
│ ├── bootstrap.min.css.map
|
||||||
│ ├── bootstrap-theme.css
|
│ ├── bootstrap-theme.css
|
||||||
│ ├── bootstrap-theme.css.map
|
│ ├── bootstrap-theme.css.map
|
||||||
│ └── bootstrap-theme.min.css
|
│ ├── bootstrap-theme.min.css
|
||||||
|
│ └── bootstrap-theme.min.css.map
|
||||||
├── js/
|
├── js/
|
||||||
│ ├── bootstrap.js
|
│ ├── bootstrap.js
|
||||||
│ └── bootstrap.min.js
|
│ └── bootstrap.min.js
|
||||||
@@ -55,14 +64,15 @@ bootstrap/
|
|||||||
└── glyphicons-halflings-regular.woff2
|
└── glyphicons-halflings-regular.woff2
|
||||||
```
|
```
|
||||||
|
|
||||||
We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). CSS [source maps](https://developers.google.com/chrome-developer-tools/docs/css-preprocessors) (`bootstrap.*.map`) are available for use with certain browsers' developer tools. Fonts from Glyphicons are included, as is the optional Bootstrap theme.
|
We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). CSS [source maps](https://developer.chrome.com/devtools/docs/css-preprocessors) (`bootstrap.*.map`) are available for use with certain browsers' developer tools. Fonts from Glyphicons are included, as is the optional Bootstrap theme.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Bugs and feature requests
|
## Bugs and feature requests
|
||||||
|
|
||||||
Have a bug or a feature request? Please first read the [issue guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md#using-the-issue-tracker) and search for existing and closed issues. If your problem or idea is not addressed yet, [please open a new issue](https://github.com/twbs/bootstrap/issues/new).
|
Have a bug or a feature request? Please first read the [issue guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md#using-the-issue-tracker) and search for existing and closed issues. If your problem or idea is not addressed yet, [please open a new issue](https://github.com/twbs/bootstrap/issues/new).
|
||||||
|
|
||||||
|
Note that **feature requests must target [Bootstrap v4](https://github.com/twbs/bootstrap/tree/v4-dev),** because Bootstrap v3 is now in maintenance mode and is closed off to new features. This is so that we can focus our efforts on Bootstrap v4.
|
||||||
|
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
@@ -70,11 +80,10 @@ Bootstrap's documentation, included in this repo in the root directory, is built
|
|||||||
|
|
||||||
### Running documentation locally
|
### Running documentation locally
|
||||||
|
|
||||||
1. If necessary, [install Jekyll](http://jekyllrb.com/docs/installation) (requires v2.5.x).
|
1. If necessary, [install Jekyll](http://jekyllrb.com/docs/installation) and other Ruby dependencies with `bundle install`.
|
||||||
- **Windows users:** Read [this unofficial guide](http://jekyll-windows.juthilo.com/) to get Jekyll up and running without problems.
|
**Note for Windows users:** Read [this unofficial guide](http://jekyll-windows.juthilo.com/) to get Jekyll up and running without problems.
|
||||||
2. Install the Ruby-based syntax highlighter, [Rouge](https://github.com/jneen/rouge), with `gem install rouge`.
|
2. From the root `/bootstrap` directory, run `bundle exec jekyll serve` in the command line.
|
||||||
3. From the root `/bootstrap` directory, run `jekyll serve` in the command line.
|
4. Open `http://localhost:9001` in your browser, and voilà.
|
||||||
4. Open <http://localhost:9001> in your browser, and voilà.
|
|
||||||
|
|
||||||
Learn more about using Jekyll by reading its [documentation](http://jekyllrb.com/docs/home/).
|
Learn more about using Jekyll by reading its [documentation](http://jekyllrb.com/docs/home/).
|
||||||
|
|
||||||
@@ -85,48 +94,49 @@ Documentation for v2.3.2 has been made available for the time being at <http://g
|
|||||||
[Previous releases](https://github.com/twbs/bootstrap/releases) and their documentation are also available for download.
|
[Previous releases](https://github.com/twbs/bootstrap/releases) and their documentation are also available for download.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Please read through our [contributing guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md). Included are directions for opening issues, coding standards, and notes on development.
|
Please read through our [contributing guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md). Included are directions for opening issues, coding standards, and notes on development.
|
||||||
|
|
||||||
Moreover, if your pull request contains JavaScript patches or features, you must include relevant unit tests. All HTML and CSS should conform to the [Code Guide](https://github.com/mdo/code-guide), maintained by [Mark Otto](https://github.com/mdo).
|
Moreover, if your pull request contains JavaScript patches or features, you must include [relevant unit tests](https://github.com/twbs/bootstrap/tree/master/js/tests). All HTML and CSS should conform to the [Code Guide](https://github.com/mdo/code-guide), maintained by [Mark Otto](https://github.com/mdo).
|
||||||
|
|
||||||
|
**Bootstrap v3 is now closed off to new features.** It has gone into maintenance mode so that we can focus our efforts on [Bootstrap v4](https://github.com/twbs/bootstrap/tree/v4-dev), the future of the framework. Pull requests which add new features (rather than fix bugs) should target [Bootstrap v4 (the `v4-dev` git branch)](https://github.com/twbs/bootstrap/tree/v4-dev) instead.
|
||||||
|
|
||||||
Editor preferences are available in the [editor config](https://github.com/twbs/bootstrap/blob/master/.editorconfig) for easy use in common text editors. Read more and download plugins at <http://editorconfig.org>.
|
Editor preferences are available in the [editor config](https://github.com/twbs/bootstrap/blob/master/.editorconfig) for easy use in common text editors. Read more and download plugins at <http://editorconfig.org>.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Community
|
## Community
|
||||||
|
|
||||||
Keep track of development and community news.
|
Get updates on Bootstrap's development and chat with the project maintainers and community members.
|
||||||
|
|
||||||
- Follow [@twbootstrap on Twitter](https://twitter.com/twbootstrap).
|
|
||||||
- Read and subscribe to [The Official Bootstrap Blog](http://blog.getbootstrap.com).
|
|
||||||
- Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##bootstrap` channel.
|
|
||||||
- Implementation help may be found at Stack Overflow (tagged [`twitter-bootstrap-3`](http://stackoverflow.com/questions/tagged/twitter-bootstrap-3)).
|
|
||||||
|
|
||||||
|
* Follow [@getbootstrap on Twitter](https://twitter.com/getbootstrap).
|
||||||
|
* Read and subscribe to [The Official Bootstrap Blog](http://blog.getbootstrap.com).
|
||||||
|
* Join [the official Slack room](https://bootstrap-slack.herokuapp.com).
|
||||||
|
* Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##bootstrap` channel.
|
||||||
|
* Implementation help may be found at Stack Overflow (tagged [`twitter-bootstrap-3`](https://stackoverflow.com/questions/tagged/twitter-bootstrap-3)).
|
||||||
|
* Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/browse/keyword/bootstrap) or similar delivery mechanisms for maximum discoverability.
|
||||||
|
|
||||||
|
|
||||||
## Versioning
|
## Versioning
|
||||||
|
|
||||||
For transparency into our release cycle and in striving to maintain backward compatibility, Bootstrap is maintained under [the Semantic Versioning guidelines](http://semver.org/). Sometimes we screw up, but we'll adhere to those rules whenever possible.
|
For transparency into our release cycle and in striving to maintain backward compatibility, Bootstrap is maintained under [the Semantic Versioning guidelines](http://semver.org/). Sometimes we screw up, but we'll adhere to those rules whenever possible.
|
||||||
|
|
||||||
|
See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap. Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release.
|
||||||
|
|
||||||
|
|
||||||
## Creators
|
## Creators
|
||||||
|
|
||||||
**Mark Otto**
|
**Mark Otto**
|
||||||
|
|
||||||
- <https://twitter.com/mdo>
|
* <https://twitter.com/mdo>
|
||||||
- <https://github.com/mdo>
|
* <https://github.com/mdo>
|
||||||
|
|
||||||
**Jacob Thornton**
|
**Jacob Thornton**
|
||||||
|
|
||||||
- <https://twitter.com/fat>
|
* <https://twitter.com/fat>
|
||||||
- <https://github.com/fat>
|
* <https://github.com/fat>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Copyright and license
|
## Copyright and license
|
||||||
|
|
||||||
Code and documentation copyright 2011-2015 Twitter, Inc. Code released under [the MIT license](https://github.com/twbs/bootstrap/blob/master/LICENSE). Docs released under [Creative Commons](https://github.com/twbs/bootstrap/blob/master/docs/LICENSE).
|
Code and documentation copyright 2011-2016 Twitter, Inc. Code released under [the MIT license](https://github.com/twbs/bootstrap/blob/master/LICENSE). Docs released under [Creative Commons](https://github.com/twbs/bootstrap/blob/master/docs/LICENSE).
|
||||||
|
|||||||
12
bower_components/bootstrap/bower.json
vendored
12
bower_components/bootstrap/bower.json
vendored
@@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "bootstrap",
|
"name": "bootstrap",
|
||||||
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
|
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
|
||||||
"version": "3.3.2",
|
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"css",
|
"css",
|
||||||
"js",
|
"js",
|
||||||
@@ -13,14 +12,11 @@
|
|||||||
"web"
|
"web"
|
||||||
],
|
],
|
||||||
"homepage": "http://getbootstrap.com",
|
"homepage": "http://getbootstrap.com",
|
||||||
|
"license": "MIT",
|
||||||
|
"moduleType": "globals",
|
||||||
"main": [
|
"main": [
|
||||||
"less/bootstrap.less",
|
"less/bootstrap.less",
|
||||||
"dist/css/bootstrap.css",
|
"dist/js/bootstrap.js"
|
||||||
"dist/js/bootstrap.js",
|
|
||||||
"dist/fonts/glyphicons-halflings-regular.eot",
|
|
||||||
"dist/fonts/glyphicons-halflings-regular.svg",
|
|
||||||
"dist/fonts/glyphicons-halflings-regular.ttf",
|
|
||||||
"dist/fonts/glyphicons-halflings-regular.woff"
|
|
||||||
],
|
],
|
||||||
"ignore": [
|
"ignore": [
|
||||||
"/.*",
|
"/.*",
|
||||||
@@ -33,6 +29,6 @@
|
|||||||
"test-infra"
|
"test-infra"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"jquery": ">= 1.9.1"
|
"jquery": "1.9.1 - 3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
/*!
|
/*!
|
||||||
* Bootstrap v3.3.2 (http://getbootstrap.com)
|
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 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,
|
||||||
@@ -29,6 +28,27 @@
|
|||||||
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||||
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||||
}
|
}
|
||||||
|
.btn-default.disabled,
|
||||||
|
.btn-primary.disabled,
|
||||||
|
.btn-success.disabled,
|
||||||
|
.btn-info.disabled,
|
||||||
|
.btn-warning.disabled,
|
||||||
|
.btn-danger.disabled,
|
||||||
|
.btn-default[disabled],
|
||||||
|
.btn-primary[disabled],
|
||||||
|
.btn-success[disabled],
|
||||||
|
.btn-info[disabled],
|
||||||
|
.btn-warning[disabled],
|
||||||
|
.btn-danger[disabled],
|
||||||
|
fieldset[disabled] .btn-default,
|
||||||
|
fieldset[disabled] .btn-primary,
|
||||||
|
fieldset[disabled] .btn-success,
|
||||||
|
fieldset[disabled] .btn-info,
|
||||||
|
fieldset[disabled] .btn-warning,
|
||||||
|
fieldset[disabled] .btn-danger {
|
||||||
|
-webkit-box-shadow: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
.btn-default .badge,
|
.btn-default .badge,
|
||||||
.btn-primary .badge,
|
.btn-primary .badge,
|
||||||
.btn-success .badge,
|
.btn-success .badge,
|
||||||
@@ -64,8 +84,23 @@
|
|||||||
border-color: #dbdbdb;
|
border-color: #dbdbdb;
|
||||||
}
|
}
|
||||||
.btn-default.disabled,
|
.btn-default.disabled,
|
||||||
.btn-default:disabled,
|
.btn-default[disabled],
|
||||||
.btn-default[disabled] {
|
fieldset[disabled] .btn-default,
|
||||||
|
.btn-default.disabled:hover,
|
||||||
|
.btn-default[disabled]:hover,
|
||||||
|
fieldset[disabled] .btn-default:hover,
|
||||||
|
.btn-default.disabled:focus,
|
||||||
|
.btn-default[disabled]:focus,
|
||||||
|
fieldset[disabled] .btn-default:focus,
|
||||||
|
.btn-default.disabled.focus,
|
||||||
|
.btn-default[disabled].focus,
|
||||||
|
fieldset[disabled] .btn-default.focus,
|
||||||
|
.btn-default.disabled:active,
|
||||||
|
.btn-default[disabled]:active,
|
||||||
|
fieldset[disabled] .btn-default:active,
|
||||||
|
.btn-default.disabled.active,
|
||||||
|
.btn-default[disabled].active,
|
||||||
|
fieldset[disabled] .btn-default.active {
|
||||||
background-color: #e0e0e0;
|
background-color: #e0e0e0;
|
||||||
background-image: none;
|
background-image: none;
|
||||||
}
|
}
|
||||||
@@ -90,8 +125,23 @@
|
|||||||
border-color: #245580;
|
border-color: #245580;
|
||||||
}
|
}
|
||||||
.btn-primary.disabled,
|
.btn-primary.disabled,
|
||||||
.btn-primary:disabled,
|
.btn-primary[disabled],
|
||||||
.btn-primary[disabled] {
|
fieldset[disabled] .btn-primary,
|
||||||
|
.btn-primary.disabled:hover,
|
||||||
|
.btn-primary[disabled]:hover,
|
||||||
|
fieldset[disabled] .btn-primary:hover,
|
||||||
|
.btn-primary.disabled:focus,
|
||||||
|
.btn-primary[disabled]:focus,
|
||||||
|
fieldset[disabled] .btn-primary:focus,
|
||||||
|
.btn-primary.disabled.focus,
|
||||||
|
.btn-primary[disabled].focus,
|
||||||
|
fieldset[disabled] .btn-primary.focus,
|
||||||
|
.btn-primary.disabled:active,
|
||||||
|
.btn-primary[disabled]:active,
|
||||||
|
fieldset[disabled] .btn-primary:active,
|
||||||
|
.btn-primary.disabled.active,
|
||||||
|
.btn-primary[disabled].active,
|
||||||
|
fieldset[disabled] .btn-primary.active {
|
||||||
background-color: #265a88;
|
background-color: #265a88;
|
||||||
background-image: none;
|
background-image: none;
|
||||||
}
|
}
|
||||||
@@ -116,8 +166,23 @@
|
|||||||
border-color: #3e8f3e;
|
border-color: #3e8f3e;
|
||||||
}
|
}
|
||||||
.btn-success.disabled,
|
.btn-success.disabled,
|
||||||
.btn-success:disabled,
|
.btn-success[disabled],
|
||||||
.btn-success[disabled] {
|
fieldset[disabled] .btn-success,
|
||||||
|
.btn-success.disabled:hover,
|
||||||
|
.btn-success[disabled]:hover,
|
||||||
|
fieldset[disabled] .btn-success:hover,
|
||||||
|
.btn-success.disabled:focus,
|
||||||
|
.btn-success[disabled]:focus,
|
||||||
|
fieldset[disabled] .btn-success:focus,
|
||||||
|
.btn-success.disabled.focus,
|
||||||
|
.btn-success[disabled].focus,
|
||||||
|
fieldset[disabled] .btn-success.focus,
|
||||||
|
.btn-success.disabled:active,
|
||||||
|
.btn-success[disabled]:active,
|
||||||
|
fieldset[disabled] .btn-success:active,
|
||||||
|
.btn-success.disabled.active,
|
||||||
|
.btn-success[disabled].active,
|
||||||
|
fieldset[disabled] .btn-success.active {
|
||||||
background-color: #419641;
|
background-color: #419641;
|
||||||
background-image: none;
|
background-image: none;
|
||||||
}
|
}
|
||||||
@@ -142,8 +207,23 @@
|
|||||||
border-color: #28a4c9;
|
border-color: #28a4c9;
|
||||||
}
|
}
|
||||||
.btn-info.disabled,
|
.btn-info.disabled,
|
||||||
.btn-info:disabled,
|
.btn-info[disabled],
|
||||||
.btn-info[disabled] {
|
fieldset[disabled] .btn-info,
|
||||||
|
.btn-info.disabled:hover,
|
||||||
|
.btn-info[disabled]:hover,
|
||||||
|
fieldset[disabled] .btn-info:hover,
|
||||||
|
.btn-info.disabled:focus,
|
||||||
|
.btn-info[disabled]:focus,
|
||||||
|
fieldset[disabled] .btn-info:focus,
|
||||||
|
.btn-info.disabled.focus,
|
||||||
|
.btn-info[disabled].focus,
|
||||||
|
fieldset[disabled] .btn-info.focus,
|
||||||
|
.btn-info.disabled:active,
|
||||||
|
.btn-info[disabled]:active,
|
||||||
|
fieldset[disabled] .btn-info:active,
|
||||||
|
.btn-info.disabled.active,
|
||||||
|
.btn-info[disabled].active,
|
||||||
|
fieldset[disabled] .btn-info.active {
|
||||||
background-color: #2aabd2;
|
background-color: #2aabd2;
|
||||||
background-image: none;
|
background-image: none;
|
||||||
}
|
}
|
||||||
@@ -168,8 +248,23 @@
|
|||||||
border-color: #e38d13;
|
border-color: #e38d13;
|
||||||
}
|
}
|
||||||
.btn-warning.disabled,
|
.btn-warning.disabled,
|
||||||
.btn-warning:disabled,
|
.btn-warning[disabled],
|
||||||
.btn-warning[disabled] {
|
fieldset[disabled] .btn-warning,
|
||||||
|
.btn-warning.disabled:hover,
|
||||||
|
.btn-warning[disabled]:hover,
|
||||||
|
fieldset[disabled] .btn-warning:hover,
|
||||||
|
.btn-warning.disabled:focus,
|
||||||
|
.btn-warning[disabled]:focus,
|
||||||
|
fieldset[disabled] .btn-warning:focus,
|
||||||
|
.btn-warning.disabled.focus,
|
||||||
|
.btn-warning[disabled].focus,
|
||||||
|
fieldset[disabled] .btn-warning.focus,
|
||||||
|
.btn-warning.disabled:active,
|
||||||
|
.btn-warning[disabled]:active,
|
||||||
|
fieldset[disabled] .btn-warning:active,
|
||||||
|
.btn-warning.disabled.active,
|
||||||
|
.btn-warning[disabled].active,
|
||||||
|
fieldset[disabled] .btn-warning.active {
|
||||||
background-color: #eb9316;
|
background-color: #eb9316;
|
||||||
background-image: none;
|
background-image: none;
|
||||||
}
|
}
|
||||||
@@ -194,8 +289,23 @@
|
|||||||
border-color: #b92c28;
|
border-color: #b92c28;
|
||||||
}
|
}
|
||||||
.btn-danger.disabled,
|
.btn-danger.disabled,
|
||||||
.btn-danger:disabled,
|
.btn-danger[disabled],
|
||||||
.btn-danger[disabled] {
|
fieldset[disabled] .btn-danger,
|
||||||
|
.btn-danger.disabled:hover,
|
||||||
|
.btn-danger[disabled]:hover,
|
||||||
|
fieldset[disabled] .btn-danger:hover,
|
||||||
|
.btn-danger.disabled:focus,
|
||||||
|
.btn-danger[disabled]:focus,
|
||||||
|
fieldset[disabled] .btn-danger:focus,
|
||||||
|
.btn-danger.disabled.focus,
|
||||||
|
.btn-danger[disabled].focus,
|
||||||
|
fieldset[disabled] .btn-danger.focus,
|
||||||
|
.btn-danger.disabled:active,
|
||||||
|
.btn-danger[disabled]:active,
|
||||||
|
fieldset[disabled] .btn-danger:active,
|
||||||
|
.btn-danger.disabled.active,
|
||||||
|
.btn-danger[disabled].active,
|
||||||
|
fieldset[disabled] .btn-danger.active {
|
||||||
background-color: #c12e2a;
|
background-color: #c12e2a;
|
||||||
background-image: none;
|
background-image: none;
|
||||||
}
|
}
|
||||||
@@ -260,6 +370,7 @@
|
|||||||
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;
|
background-repeat: repeat-x;
|
||||||
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
.navbar-inverse .navbar-nav > .open > a,
|
.navbar-inverse .navbar-nav > .open > a,
|
||||||
.navbar-inverse .navbar-nav > .active > a {
|
.navbar-inverse .navbar-nav > .active > a {
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
bower_components/bootstrap/dist/css/bootstrap-theme.min.css.map
vendored
Normal file
1
bower_components/bootstrap/dist/css/bootstrap-theme.min.css.map
vendored
Normal file
File diff suppressed because one or more lines are too long
551
bower_components/bootstrap/dist/css/bootstrap.css
vendored
551
bower_components/bootstrap/dist/css/bootstrap.css
vendored
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
bower_components/bootstrap/dist/css/bootstrap.min.css.map
vendored
Normal file
1
bower_components/bootstrap/dist/css/bootstrap.min.css.map
vendored
Normal file
File diff suppressed because one or more lines are too long
421
bower_components/bootstrap/dist/js/bootstrap.js
vendored
421
bower_components/bootstrap/dist/js/bootstrap.js
vendored
@@ -1,7 +1,7 @@
|
|||||||
/*!
|
/*!
|
||||||
* Bootstrap v3.3.2 (http://getbootstrap.com)
|
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under the MIT license
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (typeof jQuery === 'undefined') {
|
if (typeof jQuery === 'undefined') {
|
||||||
@@ -11,16 +11,16 @@ if (typeof jQuery === 'undefined') {
|
|||||||
+function ($) {
|
+function ($) {
|
||||||
'use strict';
|
'use strict';
|
||||||
var version = $.fn.jquery.split(' ')[0].split('.')
|
var version = $.fn.jquery.split(' ')[0].split('.')
|
||||||
if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) {
|
if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) {
|
||||||
throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher')
|
throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')
|
||||||
}
|
}
|
||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: transition.js v3.3.2
|
* Bootstrap: transition.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#transitions
|
* http://getbootstrap.com/javascript/#transitions
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -77,10 +77,10 @@ if (typeof jQuery === 'undefined') {
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: alert.js v3.3.2
|
* Bootstrap: alert.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#alerts
|
* http://getbootstrap.com/javascript/#alerts
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -96,7 +96,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
$(el).on('click', dismiss, this.close)
|
$(el).on('click', dismiss, this.close)
|
||||||
}
|
}
|
||||||
|
|
||||||
Alert.VERSION = '3.3.2'
|
Alert.VERSION = '3.3.7'
|
||||||
|
|
||||||
Alert.TRANSITION_DURATION = 150
|
Alert.TRANSITION_DURATION = 150
|
||||||
|
|
||||||
@@ -109,7 +109,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
||||||
}
|
}
|
||||||
|
|
||||||
var $parent = $(selector)
|
var $parent = $(selector === '#' ? [] : selector)
|
||||||
|
|
||||||
if (e) e.preventDefault()
|
if (e) e.preventDefault()
|
||||||
|
|
||||||
@@ -172,10 +172,10 @@ if (typeof jQuery === 'undefined') {
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: button.js v3.3.2
|
* Bootstrap: button.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#buttons
|
* http://getbootstrap.com/javascript/#buttons
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -192,7 +192,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
this.isLoading = false
|
this.isLoading = false
|
||||||
}
|
}
|
||||||
|
|
||||||
Button.VERSION = '3.3.2'
|
Button.VERSION = '3.3.7'
|
||||||
|
|
||||||
Button.DEFAULTS = {
|
Button.DEFAULTS = {
|
||||||
loadingText: 'loading...'
|
loadingText: 'loading...'
|
||||||
@@ -204,7 +204,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
var val = $el.is('input') ? 'val' : 'html'
|
var val = $el.is('input') ? 'val' : 'html'
|
||||||
var data = $el.data()
|
var data = $el.data()
|
||||||
|
|
||||||
state = state + 'Text'
|
state += 'Text'
|
||||||
|
|
||||||
if (data.resetText == null) $el.data('resetText', $el[val]())
|
if (data.resetText == null) $el.data('resetText', $el[val]())
|
||||||
|
|
||||||
@@ -214,10 +214,10 @@ if (typeof jQuery === 'undefined') {
|
|||||||
|
|
||||||
if (state == 'loadingText') {
|
if (state == 'loadingText') {
|
||||||
this.isLoading = true
|
this.isLoading = true
|
||||||
$el.addClass(d).attr(d, d)
|
$el.addClass(d).attr(d, d).prop(d, true)
|
||||||
} else if (this.isLoading) {
|
} else if (this.isLoading) {
|
||||||
this.isLoading = false
|
this.isLoading = false
|
||||||
$el.removeClass(d).removeAttr(d)
|
$el.removeClass(d).removeAttr(d).prop(d, false)
|
||||||
}
|
}
|
||||||
}, this), 0)
|
}, this), 0)
|
||||||
}
|
}
|
||||||
@@ -229,15 +229,19 @@ if (typeof jQuery === 'undefined') {
|
|||||||
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') {
|
||||||
if ($input.prop('checked') && this.$element.hasClass('active')) changed = false
|
if ($input.prop('checked')) changed = false
|
||||||
else $parent.find('.active').removeClass('active')
|
$parent.find('.active').removeClass('active')
|
||||||
|
this.$element.addClass('active')
|
||||||
|
} else if ($input.prop('type') == 'checkbox') {
|
||||||
|
if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false
|
||||||
|
this.$element.toggleClass('active')
|
||||||
}
|
}
|
||||||
if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
|
$input.prop('checked', this.$element.hasClass('active'))
|
||||||
|
if (changed) $input.trigger('change')
|
||||||
} else {
|
} else {
|
||||||
this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
|
this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
|
||||||
|
this.$element.toggleClass('active')
|
||||||
}
|
}
|
||||||
|
|
||||||
if (changed) this.$element.toggleClass('active')
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -277,10 +281,15 @@ if (typeof jQuery === 'undefined') {
|
|||||||
|
|
||||||
$(document)
|
$(document)
|
||||||
.on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
|
.on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
|
||||||
var $btn = $(e.target)
|
var $btn = $(e.target).closest('.btn')
|
||||||
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
|
|
||||||
Plugin.call($btn, 'toggle')
|
Plugin.call($btn, 'toggle')
|
||||||
|
if (!($(e.target).is('input[type="radio"], input[type="checkbox"]'))) {
|
||||||
|
// Prevent double click on radios, and the double selections (so cancellation) on checkboxes
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
|
// The target component still receive the focus
|
||||||
|
if ($btn.is('input,button')) $btn.trigger('focus')
|
||||||
|
else $btn.find('input:visible,button:visible').first().trigger('focus')
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
|
.on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
|
||||||
$(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
|
$(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
|
||||||
@@ -289,10 +298,10 @@ if (typeof jQuery === 'undefined') {
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: carousel.js v3.3.2
|
* Bootstrap: carousel.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#carousel
|
* http://getbootstrap.com/javascript/#carousel
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -307,10 +316,10 @@ if (typeof jQuery === 'undefined') {
|
|||||||
this.$element = $(element)
|
this.$element = $(element)
|
||||||
this.$indicators = this.$element.find('.carousel-indicators')
|
this.$indicators = this.$element.find('.carousel-indicators')
|
||||||
this.options = options
|
this.options = options
|
||||||
this.paused =
|
this.paused = null
|
||||||
this.sliding =
|
this.sliding = null
|
||||||
this.interval =
|
this.interval = null
|
||||||
this.$active =
|
this.$active = null
|
||||||
this.$items = null
|
this.$items = null
|
||||||
|
|
||||||
this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
|
this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
|
||||||
@@ -320,7 +329,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
|
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
|
||||||
}
|
}
|
||||||
|
|
||||||
Carousel.VERSION = '3.3.2'
|
Carousel.VERSION = '3.3.7'
|
||||||
|
|
||||||
Carousel.TRANSITION_DURATION = 600
|
Carousel.TRANSITION_DURATION = 600
|
||||||
|
|
||||||
@@ -527,13 +536,14 @@ if (typeof jQuery === 'undefined') {
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: collapse.js v3.3.2
|
* Bootstrap: collapse.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#collapse
|
* http://getbootstrap.com/javascript/#collapse
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
|
/* jshint latedef: false */
|
||||||
|
|
||||||
+function ($) {
|
+function ($) {
|
||||||
'use strict';
|
'use strict';
|
||||||
@@ -544,7 +554,8 @@ if (typeof jQuery === 'undefined') {
|
|||||||
var Collapse = function (element, options) {
|
var Collapse = function (element, options) {
|
||||||
this.$element = $(element)
|
this.$element = $(element)
|
||||||
this.options = $.extend({}, Collapse.DEFAULTS, options)
|
this.options = $.extend({}, Collapse.DEFAULTS, options)
|
||||||
this.$trigger = $(this.options.trigger).filter('[href="#' + element.id + '"], [data-target="#' + element.id + '"]')
|
this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
|
||||||
|
'[data-toggle="collapse"][data-target="#' + element.id + '"]')
|
||||||
this.transitioning = null
|
this.transitioning = null
|
||||||
|
|
||||||
if (this.options.parent) {
|
if (this.options.parent) {
|
||||||
@@ -556,13 +567,12 @@ if (typeof jQuery === 'undefined') {
|
|||||||
if (this.options.toggle) this.toggle()
|
if (this.options.toggle) this.toggle()
|
||||||
}
|
}
|
||||||
|
|
||||||
Collapse.VERSION = '3.3.2'
|
Collapse.VERSION = '3.3.7'
|
||||||
|
|
||||||
Collapse.TRANSITION_DURATION = 350
|
Collapse.TRANSITION_DURATION = 350
|
||||||
|
|
||||||
Collapse.DEFAULTS = {
|
Collapse.DEFAULTS = {
|
||||||
toggle: true,
|
toggle: true
|
||||||
trigger: '[data-toggle="collapse"]'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Collapse.prototype.dimension = function () {
|
Collapse.prototype.dimension = function () {
|
||||||
@@ -700,7 +710,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
var data = $this.data('bs.collapse')
|
var data = $this.data('bs.collapse')
|
||||||
var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
|
var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
|
||||||
|
|
||||||
if (!data && options.toggle && option == 'show') options.toggle = false
|
if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
|
||||||
if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
|
if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
|
||||||
if (typeof option == 'string') data[option]()
|
if (typeof option == 'string') data[option]()
|
||||||
})
|
})
|
||||||
@@ -731,7 +741,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
|
|
||||||
var $target = getTargetFromTrigger($this)
|
var $target = getTargetFromTrigger($this)
|
||||||
var data = $target.data('bs.collapse')
|
var data = $target.data('bs.collapse')
|
||||||
var option = data ? 'toggle' : $.extend({}, $this.data(), { trigger: this })
|
var option = data ? 'toggle' : $this.data()
|
||||||
|
|
||||||
Plugin.call($target, option)
|
Plugin.call($target, option)
|
||||||
})
|
})
|
||||||
@@ -739,10 +749,10 @@ if (typeof jQuery === 'undefined') {
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: dropdown.js v3.3.2
|
* Bootstrap: dropdown.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#dropdowns
|
* http://getbootstrap.com/javascript/#dropdowns
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -759,7 +769,41 @@ if (typeof jQuery === 'undefined') {
|
|||||||
$(element).on('click.bs.dropdown', this.toggle)
|
$(element).on('click.bs.dropdown', this.toggle)
|
||||||
}
|
}
|
||||||
|
|
||||||
Dropdown.VERSION = '3.3.2'
|
Dropdown.VERSION = '3.3.7'
|
||||||
|
|
||||||
|
function getParent($this) {
|
||||||
|
var selector = $this.attr('data-target')
|
||||||
|
|
||||||
|
if (!selector) {
|
||||||
|
selector = $this.attr('href')
|
||||||
|
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
||||||
|
}
|
||||||
|
|
||||||
|
var $parent = selector && $(selector)
|
||||||
|
|
||||||
|
return $parent && $parent.length ? $parent : $this.parent()
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearMenus(e) {
|
||||||
|
if (e && e.which === 3) return
|
||||||
|
$(backdrop).remove()
|
||||||
|
$(toggle).each(function () {
|
||||||
|
var $this = $(this)
|
||||||
|
var $parent = getParent($this)
|
||||||
|
var relatedTarget = { relatedTarget: this }
|
||||||
|
|
||||||
|
if (!$parent.hasClass('open')) return
|
||||||
|
|
||||||
|
if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
|
||||||
|
|
||||||
|
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
|
||||||
|
|
||||||
|
if (e.isDefaultPrevented()) return
|
||||||
|
|
||||||
|
$this.attr('aria-expanded', 'false')
|
||||||
|
$parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
Dropdown.prototype.toggle = function (e) {
|
Dropdown.prototype.toggle = function (e) {
|
||||||
var $this = $(this)
|
var $this = $(this)
|
||||||
@@ -774,7 +818,10 @@ if (typeof jQuery === 'undefined') {
|
|||||||
if (!isActive) {
|
if (!isActive) {
|
||||||
if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
|
if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
|
||||||
// if mobile we use a backdrop because click events don't delegate
|
// if mobile we use a backdrop because click events don't delegate
|
||||||
$('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
|
$(document.createElement('div'))
|
||||||
|
.addClass('dropdown-backdrop')
|
||||||
|
.insertAfter($(this))
|
||||||
|
.on('click', clearMenus)
|
||||||
}
|
}
|
||||||
|
|
||||||
var relatedTarget = { relatedTarget: this }
|
var relatedTarget = { relatedTarget: this }
|
||||||
@@ -788,7 +835,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
|
|
||||||
$parent
|
$parent
|
||||||
.toggleClass('open')
|
.toggleClass('open')
|
||||||
.trigger('shown.bs.dropdown', relatedTarget)
|
.trigger($.Event('shown.bs.dropdown', relatedTarget))
|
||||||
}
|
}
|
||||||
|
|
||||||
return false
|
return false
|
||||||
@@ -807,13 +854,13 @@ if (typeof jQuery === 'undefined') {
|
|||||||
var $parent = getParent($this)
|
var $parent = getParent($this)
|
||||||
var isActive = $parent.hasClass('open')
|
var isActive = $parent.hasClass('open')
|
||||||
|
|
||||||
if ((!isActive && e.which != 27) || (isActive && e.which == 27)) {
|
if (!isActive && e.which != 27 || isActive && e.which == 27) {
|
||||||
if (e.which == 27) $parent.find(toggle).trigger('focus')
|
if (e.which == 27) $parent.find(toggle).trigger('focus')
|
||||||
return $this.trigger('click')
|
return $this.trigger('click')
|
||||||
}
|
}
|
||||||
|
|
||||||
var desc = ' li:not(.divider):visible a'
|
var desc = ' li:not(.disabled):visible a'
|
||||||
var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc)
|
var $items = $parent.find('.dropdown-menu' + desc)
|
||||||
|
|
||||||
if (!$items.length) return
|
if (!$items.length) return
|
||||||
|
|
||||||
@@ -826,38 +873,6 @@ if (typeof jQuery === 'undefined') {
|
|||||||
$items.eq(index).trigger('focus')
|
$items.eq(index).trigger('focus')
|
||||||
}
|
}
|
||||||
|
|
||||||
function clearMenus(e) {
|
|
||||||
if (e && e.which === 3) return
|
|
||||||
$(backdrop).remove()
|
|
||||||
$(toggle).each(function () {
|
|
||||||
var $this = $(this)
|
|
||||||
var $parent = getParent($this)
|
|
||||||
var relatedTarget = { relatedTarget: this }
|
|
||||||
|
|
||||||
if (!$parent.hasClass('open')) return
|
|
||||||
|
|
||||||
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
|
|
||||||
|
|
||||||
if (e.isDefaultPrevented()) return
|
|
||||||
|
|
||||||
$this.attr('aria-expanded', 'false')
|
|
||||||
$parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function getParent($this) {
|
|
||||||
var selector = $this.attr('data-target')
|
|
||||||
|
|
||||||
if (!selector) {
|
|
||||||
selector = $this.attr('href')
|
|
||||||
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
|
||||||
}
|
|
||||||
|
|
||||||
var $parent = selector && $(selector)
|
|
||||||
|
|
||||||
return $parent && $parent.length ? $parent : $this.parent()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// DROPDOWN PLUGIN DEFINITION
|
// DROPDOWN PLUGIN DEFINITION
|
||||||
// ==========================
|
// ==========================
|
||||||
@@ -895,16 +910,15 @@ if (typeof jQuery === 'undefined') {
|
|||||||
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
||||||
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
|
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
|
||||||
.on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
|
.on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
|
||||||
.on('keydown.bs.dropdown.data-api', '[role="menu"]', Dropdown.prototype.keydown)
|
.on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
|
||||||
.on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown)
|
|
||||||
|
|
||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: modal.js v3.3.2
|
* Bootstrap: modal.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#modals
|
* http://getbootstrap.com/javascript/#modals
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -919,9 +933,12 @@ if (typeof jQuery === 'undefined') {
|
|||||||
this.options = options
|
this.options = options
|
||||||
this.$body = $(document.body)
|
this.$body = $(document.body)
|
||||||
this.$element = $(element)
|
this.$element = $(element)
|
||||||
this.$backdrop =
|
this.$dialog = this.$element.find('.modal-dialog')
|
||||||
|
this.$backdrop = null
|
||||||
this.isShown = null
|
this.isShown = null
|
||||||
|
this.originalBodyPad = null
|
||||||
this.scrollbarWidth = 0
|
this.scrollbarWidth = 0
|
||||||
|
this.ignoreBackdropClick = false
|
||||||
|
|
||||||
if (this.options.remote) {
|
if (this.options.remote) {
|
||||||
this.$element
|
this.$element
|
||||||
@@ -932,7 +949,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Modal.VERSION = '3.3.2'
|
Modal.VERSION = '3.3.7'
|
||||||
|
|
||||||
Modal.TRANSITION_DURATION = 300
|
Modal.TRANSITION_DURATION = 300
|
||||||
Modal.BACKDROP_TRANSITION_DURATION = 150
|
Modal.BACKDROP_TRANSITION_DURATION = 150
|
||||||
@@ -966,6 +983,12 @@ if (typeof jQuery === 'undefined') {
|
|||||||
|
|
||||||
this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
|
this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
|
||||||
|
|
||||||
|
this.$dialog.on('mousedown.dismiss.bs.modal', function () {
|
||||||
|
that.$element.one('mouseup.dismiss.bs.modal', function (e) {
|
||||||
|
if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
this.backdrop(function () {
|
this.backdrop(function () {
|
||||||
var transition = $.support.transition && that.$element.hasClass('fade')
|
var transition = $.support.transition && that.$element.hasClass('fade')
|
||||||
|
|
||||||
@@ -977,23 +1000,20 @@ if (typeof jQuery === 'undefined') {
|
|||||||
.show()
|
.show()
|
||||||
.scrollTop(0)
|
.scrollTop(0)
|
||||||
|
|
||||||
if (that.options.backdrop) that.adjustBackdrop()
|
|
||||||
that.adjustDialog()
|
that.adjustDialog()
|
||||||
|
|
||||||
if (transition) {
|
if (transition) {
|
||||||
that.$element[0].offsetWidth // force reflow
|
that.$element[0].offsetWidth // force reflow
|
||||||
}
|
}
|
||||||
|
|
||||||
that.$element
|
that.$element.addClass('in')
|
||||||
.addClass('in')
|
|
||||||
.attr('aria-hidden', false)
|
|
||||||
|
|
||||||
that.enforceFocus()
|
that.enforceFocus()
|
||||||
|
|
||||||
var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
|
var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
|
||||||
|
|
||||||
transition ?
|
transition ?
|
||||||
that.$element.find('.modal-dialog') // wait for modal to slide in
|
that.$dialog // wait for modal to slide in
|
||||||
.one('bsTransitionEnd', function () {
|
.one('bsTransitionEnd', function () {
|
||||||
that.$element.trigger('focus').trigger(e)
|
that.$element.trigger('focus').trigger(e)
|
||||||
})
|
})
|
||||||
@@ -1020,8 +1040,10 @@ if (typeof jQuery === 'undefined') {
|
|||||||
|
|
||||||
this.$element
|
this.$element
|
||||||
.removeClass('in')
|
.removeClass('in')
|
||||||
.attr('aria-hidden', true)
|
|
||||||
.off('click.dismiss.bs.modal')
|
.off('click.dismiss.bs.modal')
|
||||||
|
.off('mouseup.dismiss.bs.modal')
|
||||||
|
|
||||||
|
this.$dialog.off('mousedown.dismiss.bs.modal')
|
||||||
|
|
||||||
$.support.transition && this.$element.hasClass('fade') ?
|
$.support.transition && this.$element.hasClass('fade') ?
|
||||||
this.$element
|
this.$element
|
||||||
@@ -1034,7 +1056,9 @@ if (typeof jQuery === 'undefined') {
|
|||||||
$(document)
|
$(document)
|
||||||
.off('focusin.bs.modal') // guard against infinite focus loop
|
.off('focusin.bs.modal') // guard against infinite focus loop
|
||||||
.on('focusin.bs.modal', $.proxy(function (e) {
|
.on('focusin.bs.modal', $.proxy(function (e) {
|
||||||
if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
|
if (document !== e.target &&
|
||||||
|
this.$element[0] !== e.target &&
|
||||||
|
!this.$element.has(e.target).length) {
|
||||||
this.$element.trigger('focus')
|
this.$element.trigger('focus')
|
||||||
}
|
}
|
||||||
}, this))
|
}, this))
|
||||||
@@ -1081,13 +1105,19 @@ if (typeof jQuery === 'undefined') {
|
|||||||
if (this.isShown && this.options.backdrop) {
|
if (this.isShown && this.options.backdrop) {
|
||||||
var doAnimate = $.support.transition && animate
|
var doAnimate = $.support.transition && animate
|
||||||
|
|
||||||
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
|
this.$backdrop = $(document.createElement('div'))
|
||||||
.prependTo(this.$element)
|
.addClass('modal-backdrop ' + animate)
|
||||||
.on('click.dismiss.bs.modal', $.proxy(function (e) {
|
.appendTo(this.$body)
|
||||||
|
|
||||||
|
this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
|
||||||
|
if (this.ignoreBackdropClick) {
|
||||||
|
this.ignoreBackdropClick = false
|
||||||
|
return
|
||||||
|
}
|
||||||
if (e.target !== e.currentTarget) return
|
if (e.target !== e.currentTarget) return
|
||||||
this.options.backdrop == 'static'
|
this.options.backdrop == 'static'
|
||||||
? this.$element[0].focus.call(this.$element[0])
|
? this.$element[0].focus()
|
||||||
: this.hide.call(this)
|
: this.hide()
|
||||||
}, this))
|
}, this))
|
||||||
|
|
||||||
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
|
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
|
||||||
@@ -1123,16 +1153,9 @@ if (typeof jQuery === 'undefined') {
|
|||||||
// these following methods are used to handle overflowing modals
|
// these following methods are used to handle overflowing modals
|
||||||
|
|
||||||
Modal.prototype.handleUpdate = function () {
|
Modal.prototype.handleUpdate = function () {
|
||||||
if (this.options.backdrop) this.adjustBackdrop()
|
|
||||||
this.adjustDialog()
|
this.adjustDialog()
|
||||||
}
|
}
|
||||||
|
|
||||||
Modal.prototype.adjustBackdrop = function () {
|
|
||||||
this.$backdrop
|
|
||||||
.css('height', 0)
|
|
||||||
.css('height', this.$element[0].scrollHeight)
|
|
||||||
}
|
|
||||||
|
|
||||||
Modal.prototype.adjustDialog = function () {
|
Modal.prototype.adjustDialog = function () {
|
||||||
var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
|
var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
|
||||||
|
|
||||||
@@ -1150,17 +1173,23 @@ if (typeof jQuery === 'undefined') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Modal.prototype.checkScrollbar = function () {
|
Modal.prototype.checkScrollbar = function () {
|
||||||
this.bodyIsOverflowing = document.body.scrollHeight > document.documentElement.clientHeight
|
var fullWindowWidth = window.innerWidth
|
||||||
|
if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
|
||||||
|
var documentElementRect = document.documentElement.getBoundingClientRect()
|
||||||
|
fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)
|
||||||
|
}
|
||||||
|
this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth
|
||||||
this.scrollbarWidth = this.measureScrollbar()
|
this.scrollbarWidth = this.measureScrollbar()
|
||||||
}
|
}
|
||||||
|
|
||||||
Modal.prototype.setScrollbar = function () {
|
Modal.prototype.setScrollbar = function () {
|
||||||
var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
|
var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
|
||||||
|
this.originalBodyPad = document.body.style.paddingRight || ''
|
||||||
if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
|
if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
|
||||||
}
|
}
|
||||||
|
|
||||||
Modal.prototype.resetScrollbar = function () {
|
Modal.prototype.resetScrollbar = function () {
|
||||||
this.$body.css('padding-right', '')
|
this.$body.css('padding-right', this.originalBodyPad)
|
||||||
}
|
}
|
||||||
|
|
||||||
Modal.prototype.measureScrollbar = function () { // thx walsh
|
Modal.prototype.measureScrollbar = function () { // thx walsh
|
||||||
@@ -1226,11 +1255,11 @@ if (typeof jQuery === 'undefined') {
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: tooltip.js v3.3.2
|
* Bootstrap: tooltip.js v3.3.7
|
||||||
* 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
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -1242,17 +1271,18 @@ if (typeof jQuery === 'undefined') {
|
|||||||
// ===============================
|
// ===============================
|
||||||
|
|
||||||
var Tooltip = function (element, options) {
|
var Tooltip = function (element, options) {
|
||||||
this.type =
|
this.type = null
|
||||||
this.options =
|
this.options = null
|
||||||
this.enabled =
|
this.enabled = null
|
||||||
this.timeout =
|
this.timeout = null
|
||||||
this.hoverState =
|
this.hoverState = null
|
||||||
this.$element = null
|
this.$element = null
|
||||||
|
this.inState = null
|
||||||
|
|
||||||
this.init('tooltip', element, options)
|
this.init('tooltip', element, options)
|
||||||
}
|
}
|
||||||
|
|
||||||
Tooltip.VERSION = '3.3.2'
|
Tooltip.VERSION = '3.3.7'
|
||||||
|
|
||||||
Tooltip.TRANSITION_DURATION = 150
|
Tooltip.TRANSITION_DURATION = 150
|
||||||
|
|
||||||
@@ -1277,7 +1307,12 @@ if (typeof jQuery === 'undefined') {
|
|||||||
this.type = type
|
this.type = type
|
||||||
this.$element = $(element)
|
this.$element = $(element)
|
||||||
this.options = this.getOptions(options)
|
this.options = this.getOptions(options)
|
||||||
this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport)
|
this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
|
||||||
|
this.inState = { click: false, hover: false, focus: false }
|
||||||
|
|
||||||
|
if (this.$element[0] instanceof document.constructor && !this.options.selector) {
|
||||||
|
throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
|
||||||
|
}
|
||||||
|
|
||||||
var triggers = this.options.trigger.split(' ')
|
var triggers = this.options.trigger.split(' ')
|
||||||
|
|
||||||
@@ -1332,16 +1367,20 @@ if (typeof jQuery === 'undefined') {
|
|||||||
var self = obj instanceof this.constructor ?
|
var self = obj instanceof this.constructor ?
|
||||||
obj : $(obj.currentTarget).data('bs.' + this.type)
|
obj : $(obj.currentTarget).data('bs.' + this.type)
|
||||||
|
|
||||||
if (self && self.$tip && self.$tip.is(':visible')) {
|
|
||||||
self.hoverState = 'in'
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!self) {
|
if (!self) {
|
||||||
self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
|
self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
|
||||||
$(obj.currentTarget).data('bs.' + this.type, self)
|
$(obj.currentTarget).data('bs.' + this.type, self)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (obj instanceof $.Event) {
|
||||||
|
self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true
|
||||||
|
}
|
||||||
|
|
||||||
|
if (self.tip().hasClass('in') || self.hoverState == 'in') {
|
||||||
|
self.hoverState = 'in'
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
clearTimeout(self.timeout)
|
clearTimeout(self.timeout)
|
||||||
|
|
||||||
self.hoverState = 'in'
|
self.hoverState = 'in'
|
||||||
@@ -1353,6 +1392,14 @@ if (typeof jQuery === 'undefined') {
|
|||||||
}, self.options.delay.show)
|
}, self.options.delay.show)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Tooltip.prototype.isInStateTrue = function () {
|
||||||
|
for (var key in this.inState) {
|
||||||
|
if (this.inState[key]) return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
Tooltip.prototype.leave = function (obj) {
|
Tooltip.prototype.leave = function (obj) {
|
||||||
var self = obj instanceof this.constructor ?
|
var self = obj instanceof this.constructor ?
|
||||||
obj : $(obj.currentTarget).data('bs.' + this.type)
|
obj : $(obj.currentTarget).data('bs.' + this.type)
|
||||||
@@ -1362,6 +1409,12 @@ if (typeof jQuery === 'undefined') {
|
|||||||
$(obj.currentTarget).data('bs.' + this.type, self)
|
$(obj.currentTarget).data('bs.' + this.type, self)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (obj instanceof $.Event) {
|
||||||
|
self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false
|
||||||
|
}
|
||||||
|
|
||||||
|
if (self.isInStateTrue()) return
|
||||||
|
|
||||||
clearTimeout(self.timeout)
|
clearTimeout(self.timeout)
|
||||||
|
|
||||||
self.hoverState = 'out'
|
self.hoverState = 'out'
|
||||||
@@ -1408,6 +1461,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
.data('bs.' + this.type, this)
|
.data('bs.' + this.type, this)
|
||||||
|
|
||||||
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
|
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
|
||||||
|
this.$element.trigger('inserted.bs.' + this.type)
|
||||||
|
|
||||||
var pos = this.getPosition()
|
var pos = this.getPosition()
|
||||||
var actualWidth = $tip[0].offsetWidth
|
var actualWidth = $tip[0].offsetWidth
|
||||||
@@ -1415,13 +1469,12 @@ if (typeof jQuery === 'undefined') {
|
|||||||
|
|
||||||
if (autoPlace) {
|
if (autoPlace) {
|
||||||
var orgPlacement = placement
|
var orgPlacement = placement
|
||||||
var $container = this.options.container ? $(this.options.container) : this.$element.parent()
|
var viewportDim = this.getPosition(this.$viewport)
|
||||||
var containerDim = this.getPosition($container)
|
|
||||||
|
|
||||||
placement = placement == 'bottom' && pos.bottom + actualHeight > containerDim.bottom ? 'top' :
|
placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :
|
||||||
placement == 'top' && pos.top - actualHeight < containerDim.top ? 'bottom' :
|
placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :
|
||||||
placement == 'right' && pos.right + actualWidth > containerDim.width ? 'left' :
|
placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :
|
||||||
placement == 'left' && pos.left - actualWidth < containerDim.left ? 'right' :
|
placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :
|
||||||
placement
|
placement
|
||||||
|
|
||||||
$tip
|
$tip
|
||||||
@@ -1462,8 +1515,8 @@ if (typeof jQuery === 'undefined') {
|
|||||||
if (isNaN(marginTop)) marginTop = 0
|
if (isNaN(marginTop)) marginTop = 0
|
||||||
if (isNaN(marginLeft)) marginLeft = 0
|
if (isNaN(marginLeft)) marginLeft = 0
|
||||||
|
|
||||||
offset.top = offset.top + marginTop
|
offset.top += marginTop
|
||||||
offset.left = offset.left + marginLeft
|
offset.left += marginLeft
|
||||||
|
|
||||||
// $.fn.offset doesn't round pixel values
|
// $.fn.offset doesn't round pixel values
|
||||||
// so we use setOffset directly with our own function B-0
|
// so we use setOffset directly with our own function B-0
|
||||||
@@ -1499,10 +1552,10 @@ if (typeof jQuery === 'undefined') {
|
|||||||
this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
|
this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
|
||||||
}
|
}
|
||||||
|
|
||||||
Tooltip.prototype.replaceArrow = function (delta, dimension, isHorizontal) {
|
Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
|
||||||
this.arrow()
|
this.arrow()
|
||||||
.css(isHorizontal ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
|
.css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
|
||||||
.css(isHorizontal ? 'top' : 'left', '')
|
.css(isVertical ? 'top' : 'left', '')
|
||||||
}
|
}
|
||||||
|
|
||||||
Tooltip.prototype.setContent = function () {
|
Tooltip.prototype.setContent = function () {
|
||||||
@@ -1515,14 +1568,16 @@ if (typeof jQuery === 'undefined') {
|
|||||||
|
|
||||||
Tooltip.prototype.hide = function (callback) {
|
Tooltip.prototype.hide = function (callback) {
|
||||||
var that = this
|
var that = this
|
||||||
var $tip = this.tip()
|
var $tip = $(this.$tip)
|
||||||
var e = $.Event('hide.bs.' + this.type)
|
var e = $.Event('hide.bs.' + this.type)
|
||||||
|
|
||||||
function complete() {
|
function complete() {
|
||||||
if (that.hoverState != 'in') $tip.detach()
|
if (that.hoverState != 'in') $tip.detach()
|
||||||
|
if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary.
|
||||||
that.$element
|
that.$element
|
||||||
.removeAttr('aria-describedby')
|
.removeAttr('aria-describedby')
|
||||||
.trigger('hidden.bs.' + that.type)
|
.trigger('hidden.bs.' + that.type)
|
||||||
|
}
|
||||||
callback && callback()
|
callback && callback()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1532,7 +1587,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
|
|
||||||
$tip.removeClass('in')
|
$tip.removeClass('in')
|
||||||
|
|
||||||
$.support.transition && this.$tip.hasClass('fade') ?
|
$.support.transition && $tip.hasClass('fade') ?
|
||||||
$tip
|
$tip
|
||||||
.one('bsTransitionEnd', complete)
|
.one('bsTransitionEnd', complete)
|
||||||
.emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
|
.emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
|
||||||
@@ -1545,7 +1600,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
|
|
||||||
Tooltip.prototype.fixTitle = function () {
|
Tooltip.prototype.fixTitle = function () {
|
||||||
var $e = this.$element
|
var $e = this.$element
|
||||||
if ($e.attr('title') || typeof ($e.attr('data-original-title')) != 'string') {
|
if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
|
||||||
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
|
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1565,7 +1620,10 @@ if (typeof jQuery === 'undefined') {
|
|||||||
// width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
|
// width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
|
||||||
elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
|
elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
|
||||||
}
|
}
|
||||||
var elOffset = isBody ? { top: 0, left: 0 } : $element.offset()
|
var isSvg = window.SVGElement && el instanceof window.SVGElement
|
||||||
|
// Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3.
|
||||||
|
// See https://github.com/twbs/bootstrap/issues/20280
|
||||||
|
var elOffset = isBody ? { top: 0, left: 0 } : (isSvg ? null : $element.offset())
|
||||||
var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
|
var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
|
||||||
var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
|
var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
|
||||||
|
|
||||||
@@ -1600,7 +1658,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
var rightEdgeOffset = pos.left + viewportPadding + actualWidth
|
var rightEdgeOffset = pos.left + viewportPadding + actualWidth
|
||||||
if (leftEdgeOffset < viewportDimensions.left) { // left overflow
|
if (leftEdgeOffset < viewportDimensions.left) { // left overflow
|
||||||
delta.left = viewportDimensions.left - leftEdgeOffset
|
delta.left = viewportDimensions.left - leftEdgeOffset
|
||||||
} else if (rightEdgeOffset > viewportDimensions.width) { // right overflow
|
} else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
|
||||||
delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
|
delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1626,7 +1684,13 @@ if (typeof jQuery === 'undefined') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Tooltip.prototype.tip = function () {
|
Tooltip.prototype.tip = function () {
|
||||||
return (this.$tip = this.$tip || $(this.options.template))
|
if (!this.$tip) {
|
||||||
|
this.$tip = $(this.options.template)
|
||||||
|
if (this.$tip.length != 1) {
|
||||||
|
throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return this.$tip
|
||||||
}
|
}
|
||||||
|
|
||||||
Tooltip.prototype.arrow = function () {
|
Tooltip.prototype.arrow = function () {
|
||||||
@@ -1655,14 +1719,27 @@ if (typeof jQuery === 'undefined') {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (e) {
|
||||||
|
self.inState.click = !self.inState.click
|
||||||
|
if (self.isInStateTrue()) self.enter(self)
|
||||||
|
else self.leave(self)
|
||||||
|
} else {
|
||||||
self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
|
self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Tooltip.prototype.destroy = function () {
|
Tooltip.prototype.destroy = function () {
|
||||||
var that = this
|
var that = this
|
||||||
clearTimeout(this.timeout)
|
clearTimeout(this.timeout)
|
||||||
this.hide(function () {
|
this.hide(function () {
|
||||||
that.$element.off('.' + that.type).removeData('bs.' + that.type)
|
that.$element.off('.' + that.type).removeData('bs.' + that.type)
|
||||||
|
if (that.$tip) {
|
||||||
|
that.$tip.detach()
|
||||||
|
}
|
||||||
|
that.$tip = null
|
||||||
|
that.$arrow = null
|
||||||
|
that.$viewport = null
|
||||||
|
that.$element = null
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1676,7 +1753,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
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 && /destroy|hide/.test(option)) 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]()
|
||||||
})
|
})
|
||||||
@@ -1699,10 +1776,10 @@ if (typeof jQuery === 'undefined') {
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: popover.js v3.3.2
|
* Bootstrap: popover.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#popovers
|
* http://getbootstrap.com/javascript/#popovers
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -1719,7 +1796,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
|
|
||||||
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
|
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
|
||||||
|
|
||||||
Popover.VERSION = '3.3.2'
|
Popover.VERSION = '3.3.7'
|
||||||
|
|
||||||
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
|
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
|
||||||
placement: 'right',
|
placement: 'right',
|
||||||
@@ -1775,11 +1852,6 @@ if (typeof jQuery === 'undefined') {
|
|||||||
return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
|
return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
|
||||||
}
|
}
|
||||||
|
|
||||||
Popover.prototype.tip = function () {
|
|
||||||
if (!this.$tip) this.$tip = $(this.options.template)
|
|
||||||
return this.$tip
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// POPOVER PLUGIN DEFINITION
|
// POPOVER PLUGIN DEFINITION
|
||||||
// =========================
|
// =========================
|
||||||
@@ -1790,7 +1862,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
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 && /destroy|hide/.test(option)) 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]()
|
||||||
})
|
})
|
||||||
@@ -1813,10 +1885,10 @@ if (typeof jQuery === 'undefined') {
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: scrollspy.js v3.3.2
|
* Bootstrap: scrollspy.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#scrollspy
|
* http://getbootstrap.com/javascript/#scrollspy
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -1828,10 +1900,8 @@ if (typeof jQuery === 'undefined') {
|
|||||||
// ==========================
|
// ==========================
|
||||||
|
|
||||||
function ScrollSpy(element, options) {
|
function ScrollSpy(element, options) {
|
||||||
var process = $.proxy(this.process, this)
|
this.$body = $(document.body)
|
||||||
|
this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
|
||||||
this.$body = $('body')
|
|
||||||
this.$scrollElement = $(element).is('body') ? $(window) : $(element)
|
|
||||||
this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
|
this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
|
||||||
this.selector = (this.options.target || '') + ' .nav li > a'
|
this.selector = (this.options.target || '') + ' .nav li > a'
|
||||||
this.offsets = []
|
this.offsets = []
|
||||||
@@ -1839,12 +1909,12 @@ if (typeof jQuery === 'undefined') {
|
|||||||
this.activeTarget = null
|
this.activeTarget = null
|
||||||
this.scrollHeight = 0
|
this.scrollHeight = 0
|
||||||
|
|
||||||
this.$scrollElement.on('scroll.bs.scrollspy', process)
|
this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
|
||||||
this.refresh()
|
this.refresh()
|
||||||
this.process()
|
this.process()
|
||||||
}
|
}
|
||||||
|
|
||||||
ScrollSpy.VERSION = '3.3.2'
|
ScrollSpy.VERSION = '3.3.7'
|
||||||
|
|
||||||
ScrollSpy.DEFAULTS = {
|
ScrollSpy.DEFAULTS = {
|
||||||
offset: 10
|
offset: 10
|
||||||
@@ -1855,19 +1925,18 @@ if (typeof jQuery === 'undefined') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ScrollSpy.prototype.refresh = function () {
|
ScrollSpy.prototype.refresh = function () {
|
||||||
|
var that = this
|
||||||
var offsetMethod = 'offset'
|
var offsetMethod = 'offset'
|
||||||
var offsetBase = 0
|
var offsetBase = 0
|
||||||
|
|
||||||
if (!$.isWindow(this.$scrollElement[0])) {
|
|
||||||
offsetMethod = 'position'
|
|
||||||
offsetBase = this.$scrollElement.scrollTop()
|
|
||||||
}
|
|
||||||
|
|
||||||
this.offsets = []
|
this.offsets = []
|
||||||
this.targets = []
|
this.targets = []
|
||||||
this.scrollHeight = this.getScrollHeight()
|
this.scrollHeight = this.getScrollHeight()
|
||||||
|
|
||||||
var self = this
|
if (!$.isWindow(this.$scrollElement[0])) {
|
||||||
|
offsetMethod = 'position'
|
||||||
|
offsetBase = this.$scrollElement.scrollTop()
|
||||||
|
}
|
||||||
|
|
||||||
this.$body
|
this.$body
|
||||||
.find(this.selector)
|
.find(this.selector)
|
||||||
@@ -1883,8 +1952,8 @@ if (typeof jQuery === 'undefined') {
|
|||||||
})
|
})
|
||||||
.sort(function (a, b) { return a[0] - b[0] })
|
.sort(function (a, b) { return a[0] - b[0] })
|
||||||
.each(function () {
|
.each(function () {
|
||||||
self.offsets.push(this[0])
|
that.offsets.push(this[0])
|
||||||
self.targets.push(this[1])
|
that.targets.push(this[1])
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1913,7 +1982,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
for (i = offsets.length; i--;) {
|
for (i = offsets.length; i--;) {
|
||||||
activeTarget != targets[i]
|
activeTarget != targets[i]
|
||||||
&& scrollTop >= offsets[i]
|
&& scrollTop >= offsets[i]
|
||||||
&& (!offsets[i + 1] || scrollTop <= offsets[i + 1])
|
&& (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
|
||||||
&& this.activate(targets[i])
|
&& this.activate(targets[i])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1989,10 +2058,10 @@ if (typeof jQuery === 'undefined') {
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: tab.js v3.3.2
|
* Bootstrap: tab.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#tabs
|
* http://getbootstrap.com/javascript/#tabs
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -2004,10 +2073,12 @@ if (typeof jQuery === 'undefined') {
|
|||||||
// ====================
|
// ====================
|
||||||
|
|
||||||
var Tab = function (element) {
|
var Tab = function (element) {
|
||||||
|
// jscs:disable requireDollarBeforejQueryAssignment
|
||||||
this.element = $(element)
|
this.element = $(element)
|
||||||
|
// jscs:enable requireDollarBeforejQueryAssignment
|
||||||
}
|
}
|
||||||
|
|
||||||
Tab.VERSION = '3.3.2'
|
Tab.VERSION = '3.3.7'
|
||||||
|
|
||||||
Tab.TRANSITION_DURATION = 150
|
Tab.TRANSITION_DURATION = 150
|
||||||
|
|
||||||
@@ -2055,7 +2126,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
var $active = container.find('> .active')
|
var $active = container.find('> .active')
|
||||||
var transition = callback
|
var transition = callback
|
||||||
&& $.support.transition
|
&& $.support.transition
|
||||||
&& (($active.length && $active.hasClass('fade')) || !!container.find('> .fade').length)
|
&& ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)
|
||||||
|
|
||||||
function next() {
|
function next() {
|
||||||
$active
|
$active
|
||||||
@@ -2078,7 +2149,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
element.removeClass('fade')
|
element.removeClass('fade')
|
||||||
}
|
}
|
||||||
|
|
||||||
if (element.parent('.dropdown-menu')) {
|
if (element.parent('.dropdown-menu').length) {
|
||||||
element
|
element
|
||||||
.closest('li.dropdown')
|
.closest('li.dropdown')
|
||||||
.addClass('active')
|
.addClass('active')
|
||||||
@@ -2143,10 +2214,10 @@ if (typeof jQuery === 'undefined') {
|
|||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: affix.js v3.3.2
|
* Bootstrap: affix.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#affix
|
* http://getbootstrap.com/javascript/#affix
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -2165,14 +2236,14 @@ if (typeof jQuery === 'undefined') {
|
|||||||
.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 = null
|
||||||
this.unpin =
|
this.unpin = null
|
||||||
this.pinnedOffset = null
|
this.pinnedOffset = null
|
||||||
|
|
||||||
this.checkPosition()
|
this.checkPosition()
|
||||||
}
|
}
|
||||||
|
|
||||||
Affix.VERSION = '3.3.2'
|
Affix.VERSION = '3.3.7'
|
||||||
|
|
||||||
Affix.RESET = 'affix affix-top affix-bottom'
|
Affix.RESET = 'affix affix-top affix-bottom'
|
||||||
|
|
||||||
@@ -2222,7 +2293,7 @@ if (typeof jQuery === 'undefined') {
|
|||||||
var offset = this.options.offset
|
var offset = this.options.offset
|
||||||
var offsetTop = offset.top
|
var offsetTop = offset.top
|
||||||
var offsetBottom = offset.bottom
|
var offsetBottom = offset.bottom
|
||||||
var scrollHeight = $('body').height()
|
var scrollHeight = Math.max($(document).height(), $(document.body).height())
|
||||||
|
|
||||||
if (typeof offset != 'object') offsetBottom = offsetTop = offset
|
if (typeof offset != 'object') offsetBottom = offsetTop = offset
|
||||||
if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
|
if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -1,4 +1,12 @@
|
|||||||
|
/*!
|
||||||
|
* Bootstrap Grunt task for the CommonJS module generation
|
||||||
|
* http://getbootstrap.com
|
||||||
|
* Copyright 2014-2015 Twitter, Inc.
|
||||||
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
|
*/
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
|
|
||||||
@@ -15,8 +23,7 @@ module.exports = function generateCommonJSModule(grunt, srcFiles, destFilepath)
|
|||||||
var moduleOutputJs = COMMONJS_BANNER + srcFiles.map(srcPathToDestRequire).join('\n');
|
var moduleOutputJs = COMMONJS_BANNER + srcFiles.map(srcPathToDestRequire).join('\n');
|
||||||
try {
|
try {
|
||||||
fs.writeFileSync(destFilepath, moduleOutputJs);
|
fs.writeFileSync(destFilepath, moduleOutputJs);
|
||||||
}
|
} catch (err) {
|
||||||
catch (err) {
|
|
||||||
grunt.fail.warn(err);
|
grunt.fail.warn(err);
|
||||||
}
|
}
|
||||||
grunt.log.writeln('File ' + destFilepath.cyan + ' created.');
|
grunt.log.writeln('File ' + destFilepath.cyan + ' created.');
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
/*!
|
/*!
|
||||||
* Bootstrap Grunt task for Glyphicons data generation
|
* Bootstrap Grunt task for Glyphicons data generation
|
||||||
* http://getbootstrap.com
|
* http://getbootstrap.com
|
||||||
* Copyright 2014 Twitter, Inc.
|
* Copyright 2014-2015 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
|
|
||||||
module.exports = function generateGlyphiconsData(grunt) {
|
module.exports = function generateGlyphiconsData(grunt) {
|
||||||
@@ -33,8 +35,7 @@ module.exports = function generateGlyphiconsData(grunt) {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
fs.writeFileSync(glyphiconsYml, glyphiconsData);
|
fs.writeFileSync(glyphiconsYml, glyphiconsData);
|
||||||
}
|
} catch (err) {
|
||||||
catch (err) {
|
|
||||||
grunt.fail.warn(err);
|
grunt.fail.warn(err);
|
||||||
}
|
}
|
||||||
grunt.log.writeln('File ' + glyphiconsYml.cyan + ' created.');
|
grunt.log.writeln('File ' + glyphiconsYml.cyan + ' created.');
|
||||||
|
|||||||
@@ -1,15 +1,16 @@
|
|||||||
/*!
|
/*!
|
||||||
* Bootstrap Grunt task for parsing Less docstrings
|
* Bootstrap Grunt task for parsing Less docstrings
|
||||||
* http://getbootstrap.com
|
* http://getbootstrap.com
|
||||||
* Copyright 2014 Twitter, Inc.
|
* Copyright 2014-2015 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var Remarkable = require('remarkable');
|
var Markdown = require('markdown-it');
|
||||||
|
|
||||||
function markdown2html(markdownString) {
|
function markdown2html(markdownString) {
|
||||||
var md = new Remarkable();
|
var md = new Markdown();
|
||||||
|
|
||||||
// the slice removes the <p>...</p> wrapper output by Markdown processor
|
// the slice removes the <p>...</p> wrapper output by Markdown processor
|
||||||
return md.render(markdownString.trim()).slice(3, -5);
|
return md.render(markdownString.trim()).slice(3, -5);
|
||||||
@@ -121,7 +122,7 @@ Tokenizer.prototype._shift = function () {
|
|||||||
return new VarDocstring(match[1]);
|
return new VarDocstring(match[1]);
|
||||||
}
|
}
|
||||||
var commentStart = line.lastIndexOf('//');
|
var commentStart = line.lastIndexOf('//');
|
||||||
var varLine = (commentStart === -1) ? line : line.slice(0, commentStart);
|
var varLine = commentStart === -1 ? line : line.slice(0, commentStart);
|
||||||
match = VAR_ASSIGNMENT.exec(varLine);
|
match = VAR_ASSIGNMENT.exec(varLine);
|
||||||
if (match !== null) {
|
if (match !== null) {
|
||||||
return new Variable(match[1], match[2]);
|
return new Variable(match[1], match[2]);
|
||||||
@@ -168,8 +169,7 @@ Parser.prototype.parseSection = function () {
|
|||||||
var docstring = this._tokenizer.shift();
|
var docstring = this._tokenizer.shift();
|
||||||
if (docstring instanceof SectionDocstring) {
|
if (docstring instanceof SectionDocstring) {
|
||||||
section.docstring = docstring;
|
section.docstring = docstring;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
this._tokenizer.unshift(docstring);
|
this._tokenizer.unshift(docstring);
|
||||||
}
|
}
|
||||||
this.parseSubSections(section);
|
this.parseSubSections(section);
|
||||||
@@ -185,15 +185,14 @@ Parser.prototype.parseSubSections = function (section) {
|
|||||||
// Presume an implicit initial subsection
|
// Presume an implicit initial subsection
|
||||||
subsection = new SubSection('');
|
subsection = new SubSection('');
|
||||||
this.parseVars(subsection);
|
this.parseVars(subsection);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
section.addSubSection(subsection);
|
section.addSubSection(subsection);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (section.subsections.length === 1 && !(section.subsections[0].heading) && section.subsections[0].variables.length === 0) {
|
if (section.subsections.length === 1 && !section.subsections[0].heading && section.subsections[0].variables.length === 0) {
|
||||||
// Ignore lone empty implicit subsection
|
// Ignore lone empty implicit subsection
|
||||||
section.subsections = [];
|
section.subsections = [];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,28 +1,27 @@
|
|||||||
/*!
|
/*!
|
||||||
* Bootstrap Grunt task for generating raw-files.min.js for the Customizer
|
* Bootstrap Grunt task for generating raw-files.min.js for the Customizer
|
||||||
* http://getbootstrap.com
|
* http://getbootstrap.com
|
||||||
* Copyright 2014 Twitter, Inc.
|
* Copyright 2014-2015 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* global btoa: true */
|
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
var btoa = require('btoa');
|
var btoa = require('btoa');
|
||||||
var glob = require('glob');
|
var glob = require('glob');
|
||||||
|
|
||||||
function getFiles(type) {
|
function getFiles(type) {
|
||||||
var files = {};
|
var files = {};
|
||||||
var recursive = (type === 'less');
|
var recursive = type === 'less';
|
||||||
var globExpr = (recursive ? '/**/*' : '/*');
|
var globExpr = recursive ? '/**/*' : '/*';
|
||||||
glob.sync(type + globExpr)
|
glob.sync(type + globExpr)
|
||||||
.filter(function (path) {
|
.filter(function (path) {
|
||||||
return type === 'fonts' ? true : new RegExp('\\.' + type + '$').test(path);
|
return type === 'fonts' ? true : new RegExp('\\.' + type + '$').test(path);
|
||||||
})
|
})
|
||||||
.forEach(function (fullPath) {
|
.forEach(function (fullPath) {
|
||||||
var relativePath = fullPath.replace(/^[^/]+\//, '');
|
var relativePath = fullPath.replace(/^[^/]+\//, '');
|
||||||
files[relativePath] = (type === 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8'));
|
files[relativePath] = type === 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8');
|
||||||
});
|
});
|
||||||
return 'var __' + type + ' = ' + JSON.stringify(files) + '\n';
|
return 'var __' + type + ' = ' + JSON.stringify(files) + '\n';
|
||||||
}
|
}
|
||||||
@@ -38,8 +37,7 @@ module.exports = function generateRawFilesJs(grunt, banner) {
|
|||||||
var rawFilesJs = 'docs/assets/js/raw-files.min.js';
|
var rawFilesJs = 'docs/assets/js/raw-files.min.js';
|
||||||
try {
|
try {
|
||||||
fs.writeFileSync(rawFilesJs, files);
|
fs.writeFileSync(rawFilesJs, files);
|
||||||
}
|
} catch (err) {
|
||||||
catch (err) {
|
|
||||||
grunt.fail.warn(err);
|
grunt.fail.warn(err);
|
||||||
}
|
}
|
||||||
grunt.log.writeln('File ' + rawFilesJs.cyan + ' created.');
|
grunt.log.writeln('File ' + rawFilesJs.cyan + ' created.');
|
||||||
|
|||||||
109
bower_components/bootstrap/grunt/change-version.js
vendored
Executable file
109
bower_components/bootstrap/grunt/change-version.js
vendored
Executable file
@@ -0,0 +1,109 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
/* globals Set */
|
||||||
|
/*!
|
||||||
|
* Script to update version number references in the project.
|
||||||
|
* Copyright 2015 Twitter, Inc.
|
||||||
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
|
*/
|
||||||
|
var fs = require('fs');
|
||||||
|
var path = require('path');
|
||||||
|
var sh = require('shelljs');
|
||||||
|
sh.config.fatal = true;
|
||||||
|
var sed = sh.sed;
|
||||||
|
|
||||||
|
// Blame TC39... https://github.com/benjamingr/RegExp.escape/issues/37
|
||||||
|
RegExp.quote = function (string) {
|
||||||
|
return string.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&');
|
||||||
|
};
|
||||||
|
RegExp.quoteReplacement = function (string) {
|
||||||
|
return string.replace(/[$]/g, '$$');
|
||||||
|
};
|
||||||
|
|
||||||
|
var DRY_RUN = false;
|
||||||
|
|
||||||
|
function walkAsync(directory, excludedDirectories, fileCallback, errback) {
|
||||||
|
if (excludedDirectories.has(path.parse(directory).base)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
fs.readdir(directory, function (err, names) {
|
||||||
|
if (err) {
|
||||||
|
errback(err);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
names.forEach(function (name) {
|
||||||
|
var filepath = path.join(directory, name);
|
||||||
|
fs.lstat(filepath, function (err, stats) {
|
||||||
|
if (err) {
|
||||||
|
process.nextTick(errback, err);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (stats.isSymbolicLink()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if (stats.isDirectory()) {
|
||||||
|
process.nextTick(walkAsync, filepath, excludedDirectories, fileCallback, errback);
|
||||||
|
}
|
||||||
|
else if (stats.isFile()) {
|
||||||
|
process.nextTick(fileCallback, filepath);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function replaceRecursively(directory, excludedDirectories, allowedExtensions, original, replacement) {
|
||||||
|
original = new RegExp(RegExp.quote(original), 'g');
|
||||||
|
replacement = RegExp.quoteReplacement(replacement);
|
||||||
|
var updateFile = !DRY_RUN ? function (filepath) {
|
||||||
|
if (allowedExtensions.has(path.parse(filepath).ext)) {
|
||||||
|
sed('-i', original, replacement, filepath);
|
||||||
|
}
|
||||||
|
} : function (filepath) {
|
||||||
|
if (allowedExtensions.has(path.parse(filepath).ext)) {
|
||||||
|
console.log('FILE: ' + filepath);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
console.log('EXCLUDED:' + filepath);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
walkAsync(directory, excludedDirectories, updateFile, function (err) {
|
||||||
|
console.error('ERROR while traversing directory!:');
|
||||||
|
console.error(err);
|
||||||
|
process.exit(1);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function main(args) {
|
||||||
|
if (args.length !== 2) {
|
||||||
|
console.error('USAGE: change-version old_version new_version');
|
||||||
|
console.error('Got arguments:', args);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
var oldVersion = args[0];
|
||||||
|
var newVersion = args[1];
|
||||||
|
var EXCLUDED_DIRS = new Set([
|
||||||
|
'.git',
|
||||||
|
'node_modules',
|
||||||
|
'vendor'
|
||||||
|
]);
|
||||||
|
var INCLUDED_EXTENSIONS = new Set([
|
||||||
|
// This extension whitelist is how we avoid modifying binary files
|
||||||
|
'',
|
||||||
|
'.css',
|
||||||
|
'.html',
|
||||||
|
'.js',
|
||||||
|
'.json',
|
||||||
|
'.less',
|
||||||
|
'.md',
|
||||||
|
'.nuspec',
|
||||||
|
'.ps1',
|
||||||
|
'.scss',
|
||||||
|
'.txt',
|
||||||
|
'.yml'
|
||||||
|
]);
|
||||||
|
replaceRecursively('.', EXCLUDED_DIRS, INCLUDED_EXTENSIONS, oldVersion, newVersion);
|
||||||
|
}
|
||||||
|
|
||||||
|
main(process.argv.slice(2));
|
||||||
@@ -11,8 +11,9 @@
|
|||||||
"../assets/js/src/customizer.js"
|
"../assets/js/src/customizer.js"
|
||||||
],
|
],
|
||||||
"docsJs": [
|
"docsJs": [
|
||||||
"../assets/js/vendor/holder.js",
|
"../assets/js/vendor/holder.min.js",
|
||||||
"../assets/js/vendor/ZeroClipboard.min.js",
|
"../assets/js/vendor/ZeroClipboard.min.js",
|
||||||
|
"../assets/js/vendor/anchor.min.js",
|
||||||
"../assets/js/src/application.js"
|
"../assets/js/src/application.js"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -36,8 +37,8 @@
|
|||||||
"+function ($) {",
|
"+function ($) {",
|
||||||
" 'use strict';",
|
" 'use strict';",
|
||||||
" var version = $.fn.jquery.split(' ')[0].split('.')",
|
" var version = $.fn.jquery.split(' ')[0].split('.')",
|
||||||
" if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) {",
|
" if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) {",
|
||||||
" throw new Error('Bootstrap\\'s JavaScript requires jQuery version 1.9.1 or higher')",
|
" throw new Error('Bootstrap\\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')",
|
||||||
" }",
|
" }",
|
||||||
"}(jQuery);\n\n"
|
"}(jQuery);\n\n"
|
||||||
]
|
]
|
||||||
|
|||||||
2679
bower_components/bootstrap/grunt/npm-shrinkwrap.json
generated
vendored
Normal file
2679
bower_components/bootstrap/grunt/npm-shrinkwrap.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
@@ -56,8 +56,8 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
browserName: "iphone",
|
browserName: "iphone",
|
||||||
platform: "OS X 10.9",
|
platform: "OS X 10.10",
|
||||||
version: "8.1"
|
version: "9.2"
|
||||||
},
|
},
|
||||||
|
|
||||||
# iOS Chrome not currently supported by Sauce Labs
|
# iOS Chrome not currently supported by Sauce Labs
|
||||||
|
|||||||
6
bower_components/bootstrap/js/.jscsrc
vendored
6
bower_components/bootstrap/js/.jscsrc
vendored
@@ -8,6 +8,7 @@
|
|||||||
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
|
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
|
||||||
"disallowSpaceBeforeBinaryOperators": [","],
|
"disallowSpaceBeforeBinaryOperators": [","],
|
||||||
"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
|
"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
|
||||||
|
"disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
|
||||||
"disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
|
"disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
|
||||||
"disallowSpacesInsideArrayBrackets": true,
|
"disallowSpacesInsideArrayBrackets": true,
|
||||||
"disallowSpacesInsideParentheses": true,
|
"disallowSpacesInsideParentheses": true,
|
||||||
@@ -16,8 +17,11 @@
|
|||||||
"requireCamelCaseOrUpperCaseIdentifiers": true,
|
"requireCamelCaseOrUpperCaseIdentifiers": true,
|
||||||
"requireCapitalizedConstructors": true,
|
"requireCapitalizedConstructors": true,
|
||||||
"requireCommaBeforeLineBreak": true,
|
"requireCommaBeforeLineBreak": true,
|
||||||
|
"requireDollarBeforejQueryAssignment": true,
|
||||||
"requireDotNotation": true,
|
"requireDotNotation": true,
|
||||||
"requireLineFeedAtFileEnd": true,
|
"requireLineFeedAtFileEnd": true,
|
||||||
|
"requirePaddingNewLinesAfterUseStrict": true,
|
||||||
|
"requirePaddingNewLinesBeforeExport": true,
|
||||||
"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", "<", ">=", "<="],
|
"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", "<", ">=", "<="],
|
||||||
"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch"],
|
"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch"],
|
||||||
"requireSpaceAfterLineComment": true,
|
"requireSpaceAfterLineComment": true,
|
||||||
@@ -30,7 +34,9 @@
|
|||||||
"requireSpacesInFunctionExpression": { "beforeOpeningCurlyBrace": true },
|
"requireSpacesInFunctionExpression": { "beforeOpeningCurlyBrace": true },
|
||||||
"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
|
"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
|
||||||
"requireSpacesInsideObjectBrackets": "allButNested",
|
"requireSpacesInsideObjectBrackets": "allButNested",
|
||||||
|
"validateAlignedFunctionParameters": true,
|
||||||
"validateIndentation": 2,
|
"validateIndentation": 2,
|
||||||
"validateLineBreaks": "LF",
|
"validateLineBreaks": "LF",
|
||||||
|
"validateNewlineAfterArrayElements": true,
|
||||||
"validateQuoteMarks": "'"
|
"validateQuoteMarks": "'"
|
||||||
}
|
}
|
||||||
|
|||||||
12
bower_components/bootstrap/js/affix.js
vendored
12
bower_components/bootstrap/js/affix.js
vendored
@@ -1,8 +1,8 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: affix.js v3.3.2
|
* Bootstrap: affix.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#affix
|
* http://getbootstrap.com/javascript/#affix
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -21,14 +21,14 @@
|
|||||||
.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 = null
|
||||||
this.unpin =
|
this.unpin = null
|
||||||
this.pinnedOffset = null
|
this.pinnedOffset = null
|
||||||
|
|
||||||
this.checkPosition()
|
this.checkPosition()
|
||||||
}
|
}
|
||||||
|
|
||||||
Affix.VERSION = '3.3.2'
|
Affix.VERSION = '3.3.7'
|
||||||
|
|
||||||
Affix.RESET = 'affix affix-top affix-bottom'
|
Affix.RESET = 'affix affix-top affix-bottom'
|
||||||
|
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
var offset = this.options.offset
|
var offset = this.options.offset
|
||||||
var offsetTop = offset.top
|
var offsetTop = offset.top
|
||||||
var offsetBottom = offset.bottom
|
var offsetBottom = offset.bottom
|
||||||
var scrollHeight = $('body').height()
|
var scrollHeight = Math.max($(document).height(), $(document.body).height())
|
||||||
|
|
||||||
if (typeof offset != 'object') offsetBottom = offsetTop = offset
|
if (typeof offset != 'object') offsetBottom = offsetTop = offset
|
||||||
if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
|
if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
|
||||||
|
|||||||
8
bower_components/bootstrap/js/alert.js
vendored
8
bower_components/bootstrap/js/alert.js
vendored
@@ -1,8 +1,8 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: alert.js v3.3.2
|
* Bootstrap: alert.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#alerts
|
* http://getbootstrap.com/javascript/#alerts
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
$(el).on('click', dismiss, this.close)
|
$(el).on('click', dismiss, this.close)
|
||||||
}
|
}
|
||||||
|
|
||||||
Alert.VERSION = '3.3.2'
|
Alert.VERSION = '3.3.7'
|
||||||
|
|
||||||
Alert.TRANSITION_DURATION = 150
|
Alert.TRANSITION_DURATION = 150
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
||||||
}
|
}
|
||||||
|
|
||||||
var $parent = $(selector)
|
var $parent = $(selector === '#' ? [] : selector)
|
||||||
|
|
||||||
if (e) e.preventDefault()
|
if (e) e.preventDefault()
|
||||||
|
|
||||||
|
|||||||
35
bower_components/bootstrap/js/button.js
vendored
35
bower_components/bootstrap/js/button.js
vendored
@@ -1,8 +1,8 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: button.js v3.3.2
|
* Bootstrap: button.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#buttons
|
* http://getbootstrap.com/javascript/#buttons
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
this.isLoading = false
|
this.isLoading = false
|
||||||
}
|
}
|
||||||
|
|
||||||
Button.VERSION = '3.3.2'
|
Button.VERSION = '3.3.7'
|
||||||
|
|
||||||
Button.DEFAULTS = {
|
Button.DEFAULTS = {
|
||||||
loadingText: 'loading...'
|
loadingText: 'loading...'
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
var val = $el.is('input') ? 'val' : 'html'
|
var val = $el.is('input') ? 'val' : 'html'
|
||||||
var data = $el.data()
|
var data = $el.data()
|
||||||
|
|
||||||
state = state + 'Text'
|
state += 'Text'
|
||||||
|
|
||||||
if (data.resetText == null) $el.data('resetText', $el[val]())
|
if (data.resetText == null) $el.data('resetText', $el[val]())
|
||||||
|
|
||||||
@@ -41,10 +41,10 @@
|
|||||||
|
|
||||||
if (state == 'loadingText') {
|
if (state == 'loadingText') {
|
||||||
this.isLoading = true
|
this.isLoading = true
|
||||||
$el.addClass(d).attr(d, d)
|
$el.addClass(d).attr(d, d).prop(d, true)
|
||||||
} else if (this.isLoading) {
|
} else if (this.isLoading) {
|
||||||
this.isLoading = false
|
this.isLoading = false
|
||||||
$el.removeClass(d).removeAttr(d)
|
$el.removeClass(d).removeAttr(d).prop(d, false)
|
||||||
}
|
}
|
||||||
}, this), 0)
|
}, this), 0)
|
||||||
}
|
}
|
||||||
@@ -56,15 +56,19 @@
|
|||||||
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') {
|
||||||
if ($input.prop('checked') && this.$element.hasClass('active')) changed = false
|
if ($input.prop('checked')) changed = false
|
||||||
else $parent.find('.active').removeClass('active')
|
$parent.find('.active').removeClass('active')
|
||||||
|
this.$element.addClass('active')
|
||||||
|
} else if ($input.prop('type') == 'checkbox') {
|
||||||
|
if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false
|
||||||
|
this.$element.toggleClass('active')
|
||||||
}
|
}
|
||||||
if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
|
$input.prop('checked', this.$element.hasClass('active'))
|
||||||
|
if (changed) $input.trigger('change')
|
||||||
} else {
|
} else {
|
||||||
this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
|
this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
|
||||||
|
this.$element.toggleClass('active')
|
||||||
}
|
}
|
||||||
|
|
||||||
if (changed) this.$element.toggleClass('active')
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -104,10 +108,15 @@
|
|||||||
|
|
||||||
$(document)
|
$(document)
|
||||||
.on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
|
.on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
|
||||||
var $btn = $(e.target)
|
var $btn = $(e.target).closest('.btn')
|
||||||
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
|
|
||||||
Plugin.call($btn, 'toggle')
|
Plugin.call($btn, 'toggle')
|
||||||
|
if (!($(e.target).is('input[type="radio"], input[type="checkbox"]'))) {
|
||||||
|
// Prevent double click on radios, and the double selections (so cancellation) on checkboxes
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
|
// The target component still receive the focus
|
||||||
|
if ($btn.is('input,button')) $btn.trigger('focus')
|
||||||
|
else $btn.find('input:visible,button:visible').first().trigger('focus')
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
|
.on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
|
||||||
$(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
|
$(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
|
||||||
|
|||||||
14
bower_components/bootstrap/js/carousel.js
vendored
14
bower_components/bootstrap/js/carousel.js
vendored
@@ -1,8 +1,8 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: carousel.js v3.3.2
|
* Bootstrap: carousel.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#carousel
|
* http://getbootstrap.com/javascript/#carousel
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -17,10 +17,10 @@
|
|||||||
this.$element = $(element)
|
this.$element = $(element)
|
||||||
this.$indicators = this.$element.find('.carousel-indicators')
|
this.$indicators = this.$element.find('.carousel-indicators')
|
||||||
this.options = options
|
this.options = options
|
||||||
this.paused =
|
this.paused = null
|
||||||
this.sliding =
|
this.sliding = null
|
||||||
this.interval =
|
this.interval = null
|
||||||
this.$active =
|
this.$active = null
|
||||||
this.$items = null
|
this.$items = null
|
||||||
|
|
||||||
this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
|
this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
|
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
|
||||||
}
|
}
|
||||||
|
|
||||||
Carousel.VERSION = '3.3.2'
|
Carousel.VERSION = '3.3.7'
|
||||||
|
|
||||||
Carousel.TRANSITION_DURATION = 600
|
Carousel.TRANSITION_DURATION = 600
|
||||||
|
|
||||||
|
|||||||
17
bower_components/bootstrap/js/collapse.js
vendored
17
bower_components/bootstrap/js/collapse.js
vendored
@@ -1,11 +1,12 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: collapse.js v3.3.2
|
* Bootstrap: collapse.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#collapse
|
* http://getbootstrap.com/javascript/#collapse
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
|
/* jshint latedef: false */
|
||||||
|
|
||||||
+function ($) {
|
+function ($) {
|
||||||
'use strict';
|
'use strict';
|
||||||
@@ -16,7 +17,8 @@
|
|||||||
var Collapse = function (element, options) {
|
var Collapse = function (element, options) {
|
||||||
this.$element = $(element)
|
this.$element = $(element)
|
||||||
this.options = $.extend({}, Collapse.DEFAULTS, options)
|
this.options = $.extend({}, Collapse.DEFAULTS, options)
|
||||||
this.$trigger = $(this.options.trigger).filter('[href="#' + element.id + '"], [data-target="#' + element.id + '"]')
|
this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
|
||||||
|
'[data-toggle="collapse"][data-target="#' + element.id + '"]')
|
||||||
this.transitioning = null
|
this.transitioning = null
|
||||||
|
|
||||||
if (this.options.parent) {
|
if (this.options.parent) {
|
||||||
@@ -28,13 +30,12 @@
|
|||||||
if (this.options.toggle) this.toggle()
|
if (this.options.toggle) this.toggle()
|
||||||
}
|
}
|
||||||
|
|
||||||
Collapse.VERSION = '3.3.2'
|
Collapse.VERSION = '3.3.7'
|
||||||
|
|
||||||
Collapse.TRANSITION_DURATION = 350
|
Collapse.TRANSITION_DURATION = 350
|
||||||
|
|
||||||
Collapse.DEFAULTS = {
|
Collapse.DEFAULTS = {
|
||||||
toggle: true,
|
toggle: true
|
||||||
trigger: '[data-toggle="collapse"]'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Collapse.prototype.dimension = function () {
|
Collapse.prototype.dimension = function () {
|
||||||
@@ -172,7 +173,7 @@
|
|||||||
var data = $this.data('bs.collapse')
|
var data = $this.data('bs.collapse')
|
||||||
var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
|
var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
|
||||||
|
|
||||||
if (!data && options.toggle && option == 'show') options.toggle = false
|
if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
|
||||||
if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
|
if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
|
||||||
if (typeof option == 'string') data[option]()
|
if (typeof option == 'string') data[option]()
|
||||||
})
|
})
|
||||||
@@ -203,7 +204,7 @@
|
|||||||
|
|
||||||
var $target = getTargetFromTrigger($this)
|
var $target = getTargetFromTrigger($this)
|
||||||
var data = $target.data('bs.collapse')
|
var data = $target.data('bs.collapse')
|
||||||
var option = data ? 'toggle' : $.extend({}, $this.data(), { trigger: this })
|
var option = data ? 'toggle' : $this.data()
|
||||||
|
|
||||||
Plugin.call($target, option)
|
Plugin.call($target, option)
|
||||||
})
|
})
|
||||||
|
|||||||
88
bower_components/bootstrap/js/dropdown.js
vendored
88
bower_components/bootstrap/js/dropdown.js
vendored
@@ -1,8 +1,8 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: dropdown.js v3.3.2
|
* Bootstrap: dropdown.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#dropdowns
|
* http://getbootstrap.com/javascript/#dropdowns
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -19,7 +19,41 @@
|
|||||||
$(element).on('click.bs.dropdown', this.toggle)
|
$(element).on('click.bs.dropdown', this.toggle)
|
||||||
}
|
}
|
||||||
|
|
||||||
Dropdown.VERSION = '3.3.2'
|
Dropdown.VERSION = '3.3.7'
|
||||||
|
|
||||||
|
function getParent($this) {
|
||||||
|
var selector = $this.attr('data-target')
|
||||||
|
|
||||||
|
if (!selector) {
|
||||||
|
selector = $this.attr('href')
|
||||||
|
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
||||||
|
}
|
||||||
|
|
||||||
|
var $parent = selector && $(selector)
|
||||||
|
|
||||||
|
return $parent && $parent.length ? $parent : $this.parent()
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearMenus(e) {
|
||||||
|
if (e && e.which === 3) return
|
||||||
|
$(backdrop).remove()
|
||||||
|
$(toggle).each(function () {
|
||||||
|
var $this = $(this)
|
||||||
|
var $parent = getParent($this)
|
||||||
|
var relatedTarget = { relatedTarget: this }
|
||||||
|
|
||||||
|
if (!$parent.hasClass('open')) return
|
||||||
|
|
||||||
|
if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
|
||||||
|
|
||||||
|
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
|
||||||
|
|
||||||
|
if (e.isDefaultPrevented()) return
|
||||||
|
|
||||||
|
$this.attr('aria-expanded', 'false')
|
||||||
|
$parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
Dropdown.prototype.toggle = function (e) {
|
Dropdown.prototype.toggle = function (e) {
|
||||||
var $this = $(this)
|
var $this = $(this)
|
||||||
@@ -34,7 +68,10 @@
|
|||||||
if (!isActive) {
|
if (!isActive) {
|
||||||
if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
|
if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
|
||||||
// if mobile we use a backdrop because click events don't delegate
|
// if mobile we use a backdrop because click events don't delegate
|
||||||
$('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
|
$(document.createElement('div'))
|
||||||
|
.addClass('dropdown-backdrop')
|
||||||
|
.insertAfter($(this))
|
||||||
|
.on('click', clearMenus)
|
||||||
}
|
}
|
||||||
|
|
||||||
var relatedTarget = { relatedTarget: this }
|
var relatedTarget = { relatedTarget: this }
|
||||||
@@ -48,7 +85,7 @@
|
|||||||
|
|
||||||
$parent
|
$parent
|
||||||
.toggleClass('open')
|
.toggleClass('open')
|
||||||
.trigger('shown.bs.dropdown', relatedTarget)
|
.trigger($.Event('shown.bs.dropdown', relatedTarget))
|
||||||
}
|
}
|
||||||
|
|
||||||
return false
|
return false
|
||||||
@@ -67,13 +104,13 @@
|
|||||||
var $parent = getParent($this)
|
var $parent = getParent($this)
|
||||||
var isActive = $parent.hasClass('open')
|
var isActive = $parent.hasClass('open')
|
||||||
|
|
||||||
if ((!isActive && e.which != 27) || (isActive && e.which == 27)) {
|
if (!isActive && e.which != 27 || isActive && e.which == 27) {
|
||||||
if (e.which == 27) $parent.find(toggle).trigger('focus')
|
if (e.which == 27) $parent.find(toggle).trigger('focus')
|
||||||
return $this.trigger('click')
|
return $this.trigger('click')
|
||||||
}
|
}
|
||||||
|
|
||||||
var desc = ' li:not(.divider):visible a'
|
var desc = ' li:not(.disabled):visible a'
|
||||||
var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc)
|
var $items = $parent.find('.dropdown-menu' + desc)
|
||||||
|
|
||||||
if (!$items.length) return
|
if (!$items.length) return
|
||||||
|
|
||||||
@@ -86,38 +123,6 @@
|
|||||||
$items.eq(index).trigger('focus')
|
$items.eq(index).trigger('focus')
|
||||||
}
|
}
|
||||||
|
|
||||||
function clearMenus(e) {
|
|
||||||
if (e && e.which === 3) return
|
|
||||||
$(backdrop).remove()
|
|
||||||
$(toggle).each(function () {
|
|
||||||
var $this = $(this)
|
|
||||||
var $parent = getParent($this)
|
|
||||||
var relatedTarget = { relatedTarget: this }
|
|
||||||
|
|
||||||
if (!$parent.hasClass('open')) return
|
|
||||||
|
|
||||||
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
|
|
||||||
|
|
||||||
if (e.isDefaultPrevented()) return
|
|
||||||
|
|
||||||
$this.attr('aria-expanded', 'false')
|
|
||||||
$parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function getParent($this) {
|
|
||||||
var selector = $this.attr('data-target')
|
|
||||||
|
|
||||||
if (!selector) {
|
|
||||||
selector = $this.attr('href')
|
|
||||||
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
|
||||||
}
|
|
||||||
|
|
||||||
var $parent = selector && $(selector)
|
|
||||||
|
|
||||||
return $parent && $parent.length ? $parent : $this.parent()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// DROPDOWN PLUGIN DEFINITION
|
// DROPDOWN PLUGIN DEFINITION
|
||||||
// ==========================
|
// ==========================
|
||||||
@@ -155,7 +160,6 @@
|
|||||||
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
||||||
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
|
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
|
||||||
.on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
|
.on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
|
||||||
.on('keydown.bs.dropdown.data-api', '[role="menu"]', Dropdown.prototype.keydown)
|
.on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
|
||||||
.on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown)
|
|
||||||
|
|
||||||
}(jQuery);
|
}(jQuery);
|
||||||
|
|||||||
65
bower_components/bootstrap/js/modal.js
vendored
65
bower_components/bootstrap/js/modal.js
vendored
@@ -1,8 +1,8 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: modal.js v3.3.2
|
* Bootstrap: modal.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#modals
|
* http://getbootstrap.com/javascript/#modals
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -17,9 +17,12 @@
|
|||||||
this.options = options
|
this.options = options
|
||||||
this.$body = $(document.body)
|
this.$body = $(document.body)
|
||||||
this.$element = $(element)
|
this.$element = $(element)
|
||||||
this.$backdrop =
|
this.$dialog = this.$element.find('.modal-dialog')
|
||||||
|
this.$backdrop = null
|
||||||
this.isShown = null
|
this.isShown = null
|
||||||
|
this.originalBodyPad = null
|
||||||
this.scrollbarWidth = 0
|
this.scrollbarWidth = 0
|
||||||
|
this.ignoreBackdropClick = false
|
||||||
|
|
||||||
if (this.options.remote) {
|
if (this.options.remote) {
|
||||||
this.$element
|
this.$element
|
||||||
@@ -30,7 +33,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Modal.VERSION = '3.3.2'
|
Modal.VERSION = '3.3.7'
|
||||||
|
|
||||||
Modal.TRANSITION_DURATION = 300
|
Modal.TRANSITION_DURATION = 300
|
||||||
Modal.BACKDROP_TRANSITION_DURATION = 150
|
Modal.BACKDROP_TRANSITION_DURATION = 150
|
||||||
@@ -64,6 +67,12 @@
|
|||||||
|
|
||||||
this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
|
this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
|
||||||
|
|
||||||
|
this.$dialog.on('mousedown.dismiss.bs.modal', function () {
|
||||||
|
that.$element.one('mouseup.dismiss.bs.modal', function (e) {
|
||||||
|
if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
this.backdrop(function () {
|
this.backdrop(function () {
|
||||||
var transition = $.support.transition && that.$element.hasClass('fade')
|
var transition = $.support.transition && that.$element.hasClass('fade')
|
||||||
|
|
||||||
@@ -75,23 +84,20 @@
|
|||||||
.show()
|
.show()
|
||||||
.scrollTop(0)
|
.scrollTop(0)
|
||||||
|
|
||||||
if (that.options.backdrop) that.adjustBackdrop()
|
|
||||||
that.adjustDialog()
|
that.adjustDialog()
|
||||||
|
|
||||||
if (transition) {
|
if (transition) {
|
||||||
that.$element[0].offsetWidth // force reflow
|
that.$element[0].offsetWidth // force reflow
|
||||||
}
|
}
|
||||||
|
|
||||||
that.$element
|
that.$element.addClass('in')
|
||||||
.addClass('in')
|
|
||||||
.attr('aria-hidden', false)
|
|
||||||
|
|
||||||
that.enforceFocus()
|
that.enforceFocus()
|
||||||
|
|
||||||
var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
|
var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
|
||||||
|
|
||||||
transition ?
|
transition ?
|
||||||
that.$element.find('.modal-dialog') // wait for modal to slide in
|
that.$dialog // wait for modal to slide in
|
||||||
.one('bsTransitionEnd', function () {
|
.one('bsTransitionEnd', function () {
|
||||||
that.$element.trigger('focus').trigger(e)
|
that.$element.trigger('focus').trigger(e)
|
||||||
})
|
})
|
||||||
@@ -118,8 +124,10 @@
|
|||||||
|
|
||||||
this.$element
|
this.$element
|
||||||
.removeClass('in')
|
.removeClass('in')
|
||||||
.attr('aria-hidden', true)
|
|
||||||
.off('click.dismiss.bs.modal')
|
.off('click.dismiss.bs.modal')
|
||||||
|
.off('mouseup.dismiss.bs.modal')
|
||||||
|
|
||||||
|
this.$dialog.off('mousedown.dismiss.bs.modal')
|
||||||
|
|
||||||
$.support.transition && this.$element.hasClass('fade') ?
|
$.support.transition && this.$element.hasClass('fade') ?
|
||||||
this.$element
|
this.$element
|
||||||
@@ -132,7 +140,9 @@
|
|||||||
$(document)
|
$(document)
|
||||||
.off('focusin.bs.modal') // guard against infinite focus loop
|
.off('focusin.bs.modal') // guard against infinite focus loop
|
||||||
.on('focusin.bs.modal', $.proxy(function (e) {
|
.on('focusin.bs.modal', $.proxy(function (e) {
|
||||||
if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
|
if (document !== e.target &&
|
||||||
|
this.$element[0] !== e.target &&
|
||||||
|
!this.$element.has(e.target).length) {
|
||||||
this.$element.trigger('focus')
|
this.$element.trigger('focus')
|
||||||
}
|
}
|
||||||
}, this))
|
}, this))
|
||||||
@@ -179,13 +189,19 @@
|
|||||||
if (this.isShown && this.options.backdrop) {
|
if (this.isShown && this.options.backdrop) {
|
||||||
var doAnimate = $.support.transition && animate
|
var doAnimate = $.support.transition && animate
|
||||||
|
|
||||||
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
|
this.$backdrop = $(document.createElement('div'))
|
||||||
.prependTo(this.$element)
|
.addClass('modal-backdrop ' + animate)
|
||||||
.on('click.dismiss.bs.modal', $.proxy(function (e) {
|
.appendTo(this.$body)
|
||||||
|
|
||||||
|
this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
|
||||||
|
if (this.ignoreBackdropClick) {
|
||||||
|
this.ignoreBackdropClick = false
|
||||||
|
return
|
||||||
|
}
|
||||||
if (e.target !== e.currentTarget) return
|
if (e.target !== e.currentTarget) return
|
||||||
this.options.backdrop == 'static'
|
this.options.backdrop == 'static'
|
||||||
? this.$element[0].focus.call(this.$element[0])
|
? this.$element[0].focus()
|
||||||
: this.hide.call(this)
|
: this.hide()
|
||||||
}, this))
|
}, this))
|
||||||
|
|
||||||
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
|
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
|
||||||
@@ -221,16 +237,9 @@
|
|||||||
// these following methods are used to handle overflowing modals
|
// these following methods are used to handle overflowing modals
|
||||||
|
|
||||||
Modal.prototype.handleUpdate = function () {
|
Modal.prototype.handleUpdate = function () {
|
||||||
if (this.options.backdrop) this.adjustBackdrop()
|
|
||||||
this.adjustDialog()
|
this.adjustDialog()
|
||||||
}
|
}
|
||||||
|
|
||||||
Modal.prototype.adjustBackdrop = function () {
|
|
||||||
this.$backdrop
|
|
||||||
.css('height', 0)
|
|
||||||
.css('height', this.$element[0].scrollHeight)
|
|
||||||
}
|
|
||||||
|
|
||||||
Modal.prototype.adjustDialog = function () {
|
Modal.prototype.adjustDialog = function () {
|
||||||
var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
|
var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
|
||||||
|
|
||||||
@@ -248,17 +257,23 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
Modal.prototype.checkScrollbar = function () {
|
Modal.prototype.checkScrollbar = function () {
|
||||||
this.bodyIsOverflowing = document.body.scrollHeight > document.documentElement.clientHeight
|
var fullWindowWidth = window.innerWidth
|
||||||
|
if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
|
||||||
|
var documentElementRect = document.documentElement.getBoundingClientRect()
|
||||||
|
fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)
|
||||||
|
}
|
||||||
|
this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth
|
||||||
this.scrollbarWidth = this.measureScrollbar()
|
this.scrollbarWidth = this.measureScrollbar()
|
||||||
}
|
}
|
||||||
|
|
||||||
Modal.prototype.setScrollbar = function () {
|
Modal.prototype.setScrollbar = function () {
|
||||||
var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
|
var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
|
||||||
|
this.originalBodyPad = document.body.style.paddingRight || ''
|
||||||
if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
|
if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
|
||||||
}
|
}
|
||||||
|
|
||||||
Modal.prototype.resetScrollbar = function () {
|
Modal.prototype.resetScrollbar = function () {
|
||||||
this.$body.css('padding-right', '')
|
this.$body.css('padding-right', this.originalBodyPad)
|
||||||
}
|
}
|
||||||
|
|
||||||
Modal.prototype.measureScrollbar = function () { // thx walsh
|
Modal.prototype.measureScrollbar = function () { // thx walsh
|
||||||
|
|||||||
13
bower_components/bootstrap/js/popover.js
vendored
13
bower_components/bootstrap/js/popover.js
vendored
@@ -1,8 +1,8 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: popover.js v3.3.2
|
* Bootstrap: popover.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#popovers
|
* http://getbootstrap.com/javascript/#popovers
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
|
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
|
||||||
|
|
||||||
Popover.VERSION = '3.3.2'
|
Popover.VERSION = '3.3.7'
|
||||||
|
|
||||||
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
|
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
|
||||||
placement: 'right',
|
placement: 'right',
|
||||||
@@ -75,11 +75,6 @@
|
|||||||
return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
|
return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
|
||||||
}
|
}
|
||||||
|
|
||||||
Popover.prototype.tip = function () {
|
|
||||||
if (!this.$tip) this.$tip = $(this.options.template)
|
|
||||||
return this.$tip
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// POPOVER PLUGIN DEFINITION
|
// POPOVER PLUGIN DEFINITION
|
||||||
// =========================
|
// =========================
|
||||||
@@ -90,7 +85,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 && /destroy|hide/.test(option)) 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]()
|
||||||
})
|
})
|
||||||
|
|||||||
31
bower_components/bootstrap/js/scrollspy.js
vendored
31
bower_components/bootstrap/js/scrollspy.js
vendored
@@ -1,8 +1,8 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: scrollspy.js v3.3.2
|
* Bootstrap: scrollspy.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#scrollspy
|
* http://getbootstrap.com/javascript/#scrollspy
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -14,10 +14,8 @@
|
|||||||
// ==========================
|
// ==========================
|
||||||
|
|
||||||
function ScrollSpy(element, options) {
|
function ScrollSpy(element, options) {
|
||||||
var process = $.proxy(this.process, this)
|
this.$body = $(document.body)
|
||||||
|
this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
|
||||||
this.$body = $('body')
|
|
||||||
this.$scrollElement = $(element).is('body') ? $(window) : $(element)
|
|
||||||
this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
|
this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
|
||||||
this.selector = (this.options.target || '') + ' .nav li > a'
|
this.selector = (this.options.target || '') + ' .nav li > a'
|
||||||
this.offsets = []
|
this.offsets = []
|
||||||
@@ -25,12 +23,12 @@
|
|||||||
this.activeTarget = null
|
this.activeTarget = null
|
||||||
this.scrollHeight = 0
|
this.scrollHeight = 0
|
||||||
|
|
||||||
this.$scrollElement.on('scroll.bs.scrollspy', process)
|
this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
|
||||||
this.refresh()
|
this.refresh()
|
||||||
this.process()
|
this.process()
|
||||||
}
|
}
|
||||||
|
|
||||||
ScrollSpy.VERSION = '3.3.2'
|
ScrollSpy.VERSION = '3.3.7'
|
||||||
|
|
||||||
ScrollSpy.DEFAULTS = {
|
ScrollSpy.DEFAULTS = {
|
||||||
offset: 10
|
offset: 10
|
||||||
@@ -41,19 +39,18 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
ScrollSpy.prototype.refresh = function () {
|
ScrollSpy.prototype.refresh = function () {
|
||||||
|
var that = this
|
||||||
var offsetMethod = 'offset'
|
var offsetMethod = 'offset'
|
||||||
var offsetBase = 0
|
var offsetBase = 0
|
||||||
|
|
||||||
if (!$.isWindow(this.$scrollElement[0])) {
|
|
||||||
offsetMethod = 'position'
|
|
||||||
offsetBase = this.$scrollElement.scrollTop()
|
|
||||||
}
|
|
||||||
|
|
||||||
this.offsets = []
|
this.offsets = []
|
||||||
this.targets = []
|
this.targets = []
|
||||||
this.scrollHeight = this.getScrollHeight()
|
this.scrollHeight = this.getScrollHeight()
|
||||||
|
|
||||||
var self = this
|
if (!$.isWindow(this.$scrollElement[0])) {
|
||||||
|
offsetMethod = 'position'
|
||||||
|
offsetBase = this.$scrollElement.scrollTop()
|
||||||
|
}
|
||||||
|
|
||||||
this.$body
|
this.$body
|
||||||
.find(this.selector)
|
.find(this.selector)
|
||||||
@@ -69,8 +66,8 @@
|
|||||||
})
|
})
|
||||||
.sort(function (a, b) { return a[0] - b[0] })
|
.sort(function (a, b) { return a[0] - b[0] })
|
||||||
.each(function () {
|
.each(function () {
|
||||||
self.offsets.push(this[0])
|
that.offsets.push(this[0])
|
||||||
self.targets.push(this[1])
|
that.targets.push(this[1])
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,7 +96,7 @@
|
|||||||
for (i = offsets.length; i--;) {
|
for (i = offsets.length; i--;) {
|
||||||
activeTarget != targets[i]
|
activeTarget != targets[i]
|
||||||
&& scrollTop >= offsets[i]
|
&& scrollTop >= offsets[i]
|
||||||
&& (!offsets[i + 1] || scrollTop <= offsets[i + 1])
|
&& (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
|
||||||
&& this.activate(targets[i])
|
&& this.activate(targets[i])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
12
bower_components/bootstrap/js/tab.js
vendored
12
bower_components/bootstrap/js/tab.js
vendored
@@ -1,8 +1,8 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: tab.js v3.3.2
|
* Bootstrap: tab.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#tabs
|
* http://getbootstrap.com/javascript/#tabs
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -14,10 +14,12 @@
|
|||||||
// ====================
|
// ====================
|
||||||
|
|
||||||
var Tab = function (element) {
|
var Tab = function (element) {
|
||||||
|
// jscs:disable requireDollarBeforejQueryAssignment
|
||||||
this.element = $(element)
|
this.element = $(element)
|
||||||
|
// jscs:enable requireDollarBeforejQueryAssignment
|
||||||
}
|
}
|
||||||
|
|
||||||
Tab.VERSION = '3.3.2'
|
Tab.VERSION = '3.3.7'
|
||||||
|
|
||||||
Tab.TRANSITION_DURATION = 150
|
Tab.TRANSITION_DURATION = 150
|
||||||
|
|
||||||
@@ -65,7 +67,7 @@
|
|||||||
var $active = container.find('> .active')
|
var $active = container.find('> .active')
|
||||||
var transition = callback
|
var transition = callback
|
||||||
&& $.support.transition
|
&& $.support.transition
|
||||||
&& (($active.length && $active.hasClass('fade')) || !!container.find('> .fade').length)
|
&& ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)
|
||||||
|
|
||||||
function next() {
|
function next() {
|
||||||
$active
|
$active
|
||||||
@@ -88,7 +90,7 @@
|
|||||||
element.removeClass('fade')
|
element.removeClass('fade')
|
||||||
}
|
}
|
||||||
|
|
||||||
if (element.parent('.dropdown-menu')) {
|
if (element.parent('.dropdown-menu').length) {
|
||||||
element
|
element
|
||||||
.closest('li.dropdown')
|
.closest('li.dropdown')
|
||||||
.addClass('active')
|
.addClass('active')
|
||||||
|
|||||||
112
bower_components/bootstrap/js/tooltip.js
vendored
112
bower_components/bootstrap/js/tooltip.js
vendored
@@ -1,9 +1,9 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: tooltip.js v3.3.2
|
* Bootstrap: tooltip.js v3.3.7
|
||||||
* 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
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
@@ -15,17 +15,18 @@
|
|||||||
// ===============================
|
// ===============================
|
||||||
|
|
||||||
var Tooltip = function (element, options) {
|
var Tooltip = function (element, options) {
|
||||||
this.type =
|
this.type = null
|
||||||
this.options =
|
this.options = null
|
||||||
this.enabled =
|
this.enabled = null
|
||||||
this.timeout =
|
this.timeout = null
|
||||||
this.hoverState =
|
this.hoverState = null
|
||||||
this.$element = null
|
this.$element = null
|
||||||
|
this.inState = null
|
||||||
|
|
||||||
this.init('tooltip', element, options)
|
this.init('tooltip', element, options)
|
||||||
}
|
}
|
||||||
|
|
||||||
Tooltip.VERSION = '3.3.2'
|
Tooltip.VERSION = '3.3.7'
|
||||||
|
|
||||||
Tooltip.TRANSITION_DURATION = 150
|
Tooltip.TRANSITION_DURATION = 150
|
||||||
|
|
||||||
@@ -50,7 +51,12 @@
|
|||||||
this.type = type
|
this.type = type
|
||||||
this.$element = $(element)
|
this.$element = $(element)
|
||||||
this.options = this.getOptions(options)
|
this.options = this.getOptions(options)
|
||||||
this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport)
|
this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
|
||||||
|
this.inState = { click: false, hover: false, focus: false }
|
||||||
|
|
||||||
|
if (this.$element[0] instanceof document.constructor && !this.options.selector) {
|
||||||
|
throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
|
||||||
|
}
|
||||||
|
|
||||||
var triggers = this.options.trigger.split(' ')
|
var triggers = this.options.trigger.split(' ')
|
||||||
|
|
||||||
@@ -105,16 +111,20 @@
|
|||||||
var self = obj instanceof this.constructor ?
|
var self = obj instanceof this.constructor ?
|
||||||
obj : $(obj.currentTarget).data('bs.' + this.type)
|
obj : $(obj.currentTarget).data('bs.' + this.type)
|
||||||
|
|
||||||
if (self && self.$tip && self.$tip.is(':visible')) {
|
|
||||||
self.hoverState = 'in'
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!self) {
|
if (!self) {
|
||||||
self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
|
self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
|
||||||
$(obj.currentTarget).data('bs.' + this.type, self)
|
$(obj.currentTarget).data('bs.' + this.type, self)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (obj instanceof $.Event) {
|
||||||
|
self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true
|
||||||
|
}
|
||||||
|
|
||||||
|
if (self.tip().hasClass('in') || self.hoverState == 'in') {
|
||||||
|
self.hoverState = 'in'
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
clearTimeout(self.timeout)
|
clearTimeout(self.timeout)
|
||||||
|
|
||||||
self.hoverState = 'in'
|
self.hoverState = 'in'
|
||||||
@@ -126,6 +136,14 @@
|
|||||||
}, self.options.delay.show)
|
}, self.options.delay.show)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Tooltip.prototype.isInStateTrue = function () {
|
||||||
|
for (var key in this.inState) {
|
||||||
|
if (this.inState[key]) return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
Tooltip.prototype.leave = function (obj) {
|
Tooltip.prototype.leave = function (obj) {
|
||||||
var self = obj instanceof this.constructor ?
|
var self = obj instanceof this.constructor ?
|
||||||
obj : $(obj.currentTarget).data('bs.' + this.type)
|
obj : $(obj.currentTarget).data('bs.' + this.type)
|
||||||
@@ -135,6 +153,12 @@
|
|||||||
$(obj.currentTarget).data('bs.' + this.type, self)
|
$(obj.currentTarget).data('bs.' + this.type, self)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (obj instanceof $.Event) {
|
||||||
|
self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false
|
||||||
|
}
|
||||||
|
|
||||||
|
if (self.isInStateTrue()) return
|
||||||
|
|
||||||
clearTimeout(self.timeout)
|
clearTimeout(self.timeout)
|
||||||
|
|
||||||
self.hoverState = 'out'
|
self.hoverState = 'out'
|
||||||
@@ -181,6 +205,7 @@
|
|||||||
.data('bs.' + this.type, this)
|
.data('bs.' + this.type, this)
|
||||||
|
|
||||||
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
|
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
|
||||||
|
this.$element.trigger('inserted.bs.' + this.type)
|
||||||
|
|
||||||
var pos = this.getPosition()
|
var pos = this.getPosition()
|
||||||
var actualWidth = $tip[0].offsetWidth
|
var actualWidth = $tip[0].offsetWidth
|
||||||
@@ -188,13 +213,12 @@
|
|||||||
|
|
||||||
if (autoPlace) {
|
if (autoPlace) {
|
||||||
var orgPlacement = placement
|
var orgPlacement = placement
|
||||||
var $container = this.options.container ? $(this.options.container) : this.$element.parent()
|
var viewportDim = this.getPosition(this.$viewport)
|
||||||
var containerDim = this.getPosition($container)
|
|
||||||
|
|
||||||
placement = placement == 'bottom' && pos.bottom + actualHeight > containerDim.bottom ? 'top' :
|
placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :
|
||||||
placement == 'top' && pos.top - actualHeight < containerDim.top ? 'bottom' :
|
placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :
|
||||||
placement == 'right' && pos.right + actualWidth > containerDim.width ? 'left' :
|
placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :
|
||||||
placement == 'left' && pos.left - actualWidth < containerDim.left ? 'right' :
|
placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :
|
||||||
placement
|
placement
|
||||||
|
|
||||||
$tip
|
$tip
|
||||||
@@ -235,8 +259,8 @@
|
|||||||
if (isNaN(marginTop)) marginTop = 0
|
if (isNaN(marginTop)) marginTop = 0
|
||||||
if (isNaN(marginLeft)) marginLeft = 0
|
if (isNaN(marginLeft)) marginLeft = 0
|
||||||
|
|
||||||
offset.top = offset.top + marginTop
|
offset.top += marginTop
|
||||||
offset.left = offset.left + marginLeft
|
offset.left += marginLeft
|
||||||
|
|
||||||
// $.fn.offset doesn't round pixel values
|
// $.fn.offset doesn't round pixel values
|
||||||
// so we use setOffset directly with our own function B-0
|
// so we use setOffset directly with our own function B-0
|
||||||
@@ -272,10 +296,10 @@
|
|||||||
this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
|
this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
|
||||||
}
|
}
|
||||||
|
|
||||||
Tooltip.prototype.replaceArrow = function (delta, dimension, isHorizontal) {
|
Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
|
||||||
this.arrow()
|
this.arrow()
|
||||||
.css(isHorizontal ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
|
.css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
|
||||||
.css(isHorizontal ? 'top' : 'left', '')
|
.css(isVertical ? 'top' : 'left', '')
|
||||||
}
|
}
|
||||||
|
|
||||||
Tooltip.prototype.setContent = function () {
|
Tooltip.prototype.setContent = function () {
|
||||||
@@ -288,14 +312,16 @@
|
|||||||
|
|
||||||
Tooltip.prototype.hide = function (callback) {
|
Tooltip.prototype.hide = function (callback) {
|
||||||
var that = this
|
var that = this
|
||||||
var $tip = this.tip()
|
var $tip = $(this.$tip)
|
||||||
var e = $.Event('hide.bs.' + this.type)
|
var e = $.Event('hide.bs.' + this.type)
|
||||||
|
|
||||||
function complete() {
|
function complete() {
|
||||||
if (that.hoverState != 'in') $tip.detach()
|
if (that.hoverState != 'in') $tip.detach()
|
||||||
|
if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary.
|
||||||
that.$element
|
that.$element
|
||||||
.removeAttr('aria-describedby')
|
.removeAttr('aria-describedby')
|
||||||
.trigger('hidden.bs.' + that.type)
|
.trigger('hidden.bs.' + that.type)
|
||||||
|
}
|
||||||
callback && callback()
|
callback && callback()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -305,7 +331,7 @@
|
|||||||
|
|
||||||
$tip.removeClass('in')
|
$tip.removeClass('in')
|
||||||
|
|
||||||
$.support.transition && this.$tip.hasClass('fade') ?
|
$.support.transition && $tip.hasClass('fade') ?
|
||||||
$tip
|
$tip
|
||||||
.one('bsTransitionEnd', complete)
|
.one('bsTransitionEnd', complete)
|
||||||
.emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
|
.emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
|
||||||
@@ -318,7 +344,7 @@
|
|||||||
|
|
||||||
Tooltip.prototype.fixTitle = function () {
|
Tooltip.prototype.fixTitle = function () {
|
||||||
var $e = this.$element
|
var $e = this.$element
|
||||||
if ($e.attr('title') || typeof ($e.attr('data-original-title')) != 'string') {
|
if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
|
||||||
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
|
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -338,7 +364,10 @@
|
|||||||
// width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
|
// width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
|
||||||
elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
|
elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
|
||||||
}
|
}
|
||||||
var elOffset = isBody ? { top: 0, left: 0 } : $element.offset()
|
var isSvg = window.SVGElement && el instanceof window.SVGElement
|
||||||
|
// Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3.
|
||||||
|
// See https://github.com/twbs/bootstrap/issues/20280
|
||||||
|
var elOffset = isBody ? { top: 0, left: 0 } : (isSvg ? null : $element.offset())
|
||||||
var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
|
var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
|
||||||
var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
|
var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
|
||||||
|
|
||||||
@@ -373,7 +402,7 @@
|
|||||||
var rightEdgeOffset = pos.left + viewportPadding + actualWidth
|
var rightEdgeOffset = pos.left + viewportPadding + actualWidth
|
||||||
if (leftEdgeOffset < viewportDimensions.left) { // left overflow
|
if (leftEdgeOffset < viewportDimensions.left) { // left overflow
|
||||||
delta.left = viewportDimensions.left - leftEdgeOffset
|
delta.left = viewportDimensions.left - leftEdgeOffset
|
||||||
} else if (rightEdgeOffset > viewportDimensions.width) { // right overflow
|
} else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
|
||||||
delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
|
delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -399,7 +428,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
Tooltip.prototype.tip = function () {
|
Tooltip.prototype.tip = function () {
|
||||||
return (this.$tip = this.$tip || $(this.options.template))
|
if (!this.$tip) {
|
||||||
|
this.$tip = $(this.options.template)
|
||||||
|
if (this.$tip.length != 1) {
|
||||||
|
throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return this.$tip
|
||||||
}
|
}
|
||||||
|
|
||||||
Tooltip.prototype.arrow = function () {
|
Tooltip.prototype.arrow = function () {
|
||||||
@@ -428,14 +463,27 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (e) {
|
||||||
|
self.inState.click = !self.inState.click
|
||||||
|
if (self.isInStateTrue()) self.enter(self)
|
||||||
|
else self.leave(self)
|
||||||
|
} else {
|
||||||
self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
|
self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Tooltip.prototype.destroy = function () {
|
Tooltip.prototype.destroy = function () {
|
||||||
var that = this
|
var that = this
|
||||||
clearTimeout(this.timeout)
|
clearTimeout(this.timeout)
|
||||||
this.hide(function () {
|
this.hide(function () {
|
||||||
that.$element.off('.' + that.type).removeData('bs.' + that.type)
|
that.$element.off('.' + that.type).removeData('bs.' + that.type)
|
||||||
|
if (that.$tip) {
|
||||||
|
that.$tip.detach()
|
||||||
|
}
|
||||||
|
that.$tip = null
|
||||||
|
that.$arrow = null
|
||||||
|
that.$viewport = null
|
||||||
|
that.$element = null
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -449,7 +497,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 && /destroy|hide/.test(option)) 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]()
|
||||||
})
|
})
|
||||||
|
|||||||
4
bower_components/bootstrap/js/transition.js
vendored
4
bower_components/bootstrap/js/transition.js
vendored
@@ -1,8 +1,8 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: transition.js v3.3.2
|
* Bootstrap: transition.js v3.3.7
|
||||||
* http://getbootstrap.com/javascript/#transitions
|
* http://getbootstrap.com/javascript/#transitions
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2011-2015 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
* ======================================================================== */
|
* ======================================================================== */
|
||||||
|
|
||||||
|
|||||||
5
bower_components/bootstrap/less/badges.less
vendored
5
bower_components/bootstrap/less/badges.less
vendored
@@ -12,7 +12,7 @@
|
|||||||
font-weight: @badge-font-weight;
|
font-weight: @badge-font-weight;
|
||||||
color: @badge-color;
|
color: @badge-color;
|
||||||
line-height: @badge-line-height;
|
line-height: @badge-line-height;
|
||||||
vertical-align: baseline;
|
vertical-align: middle;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background-color: @badge-bg;
|
background-color: @badge-bg;
|
||||||
@@ -29,7 +29,8 @@
|
|||||||
top: -1px;
|
top: -1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-xs & {
|
.btn-xs &,
|
||||||
|
.btn-group-xs > .btn & {
|
||||||
top: 0;
|
top: 0;
|
||||||
padding: 1px 5px;
|
padding: 1px 5px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
/*!
|
||||||
|
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
||||||
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
|
*/
|
||||||
|
|
||||||
// Core variables and mixins
|
// Core variables and mixins
|
||||||
@import "variables.less";
|
@import "variables.less";
|
||||||
@import "mixins.less";
|
@import "mixins.less";
|
||||||
|
|||||||
@@ -36,6 +36,7 @@
|
|||||||
margin-left: -5px; // Offset the first child's margin
|
margin-left: -5px; // Offset the first child's margin
|
||||||
&:extend(.clearfix all);
|
&:extend(.clearfix all);
|
||||||
|
|
||||||
|
.btn,
|
||||||
.btn-group,
|
.btn-group,
|
||||||
.input-group {
|
.input-group {
|
||||||
float: left;
|
float: left;
|
||||||
@@ -58,7 +59,7 @@
|
|||||||
.border-right-radius(0);
|
.border-right-radius(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
|
// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it
|
||||||
.btn-group > .btn:last-child:not(:first-child),
|
.btn-group > .btn:last-child:not(:first-child),
|
||||||
.btn-group > .dropdown-toggle:not(:first-child) {
|
.btn-group > .dropdown-toggle:not(:first-child) {
|
||||||
.border-left-radius(0);
|
.border-left-radius(0);
|
||||||
@@ -172,12 +173,12 @@
|
|||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
&:first-child:not(:last-child) {
|
&:first-child:not(:last-child) {
|
||||||
border-top-right-radius: @border-radius-base;
|
.border-top-radius(@btn-border-radius-base);
|
||||||
.border-bottom-radius(0);
|
.border-bottom-radius(0);
|
||||||
}
|
}
|
||||||
&:last-child:not(:first-child) {
|
&:last-child:not(:first-child) {
|
||||||
border-bottom-left-radius: @border-radius-base;
|
|
||||||
.border-top-radius(0);
|
.border-top-radius(0);
|
||||||
|
.border-bottom-radius(@btn-border-radius-base);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
|
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
|
||||||
|
|||||||
16
bower_components/bootstrap/less/buttons.less
vendored
16
bower_components/bootstrap/less/buttons.less
vendored
@@ -17,7 +17,7 @@
|
|||||||
background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
|
background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
|
||||||
border: 1px solid transparent;
|
border: 1px solid transparent;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
.button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base);
|
.button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);
|
||||||
.user-select(none);
|
.user-select(none);
|
||||||
|
|
||||||
&,
|
&,
|
||||||
@@ -47,10 +47,16 @@
|
|||||||
&[disabled],
|
&[disabled],
|
||||||
fieldset[disabled] & {
|
fieldset[disabled] & {
|
||||||
cursor: @cursor-disabled;
|
cursor: @cursor-disabled;
|
||||||
pointer-events: none; // Future-proof disabling of clicks
|
|
||||||
.opacity(.65);
|
.opacity(.65);
|
||||||
.box-shadow(none);
|
.box-shadow(none);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
a& {
|
||||||
|
&.disabled,
|
||||||
|
fieldset[disabled] & {
|
||||||
|
pointer-events: none; // Future-proof disabling of clicks on `<a>` elements
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -126,14 +132,14 @@
|
|||||||
|
|
||||||
.btn-lg {
|
.btn-lg {
|
||||||
// line-height: ensure even-numbered height of button next to large input
|
// line-height: ensure even-numbered height of button next to large input
|
||||||
.button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);
|
.button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);
|
||||||
}
|
}
|
||||||
.btn-sm {
|
.btn-sm {
|
||||||
// line-height: ensure proper height of button next to small input
|
// line-height: ensure proper height of button next to small input
|
||||||
.button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);
|
.button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);
|
||||||
}
|
}
|
||||||
.btn-xs {
|
.btn-xs {
|
||||||
.button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @border-radius-small);
|
.button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
17
bower_components/bootstrap/less/carousel.less
vendored
17
bower_components/bootstrap/less/carousel.less
vendored
@@ -29,7 +29,7 @@
|
|||||||
@media all and (transform-3d), (-webkit-transform-3d) {
|
@media all and (transform-3d), (-webkit-transform-3d) {
|
||||||
.transition-transform(~'0.6s ease-in-out');
|
.transition-transform(~'0.6s ease-in-out');
|
||||||
.backface-visibility(~'hidden');
|
.backface-visibility(~'hidden');
|
||||||
.perspective(1000);
|
.perspective(1000px);
|
||||||
|
|
||||||
&.next,
|
&.next,
|
||||||
&.active.right {
|
&.active.right {
|
||||||
@@ -101,6 +101,7 @@
|
|||||||
color: @carousel-control-color;
|
color: @carousel-control-color;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
text-shadow: @carousel-text-shadow;
|
text-shadow: @carousel-text-shadow;
|
||||||
|
background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug
|
||||||
// We can't have this transition here because WebKit cancels the carousel
|
// We can't have this transition here because WebKit cancels the carousel
|
||||||
// animation if you trip this while in the middle of another animation.
|
// animation if you trip this while in the middle of another animation.
|
||||||
|
|
||||||
@@ -130,6 +131,7 @@
|
|||||||
.glyphicon-chevron-right {
|
.glyphicon-chevron-right {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
|
margin-top: -10px;
|
||||||
z-index: 5;
|
z-index: 5;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
@@ -147,7 +149,6 @@
|
|||||||
.icon-next {
|
.icon-next {
|
||||||
width: 20px;
|
width: 20px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
margin-top: -10px;
|
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
font-family: serif;
|
font-family: serif;
|
||||||
}
|
}
|
||||||
@@ -240,18 +241,18 @@
|
|||||||
.glyphicon-chevron-right,
|
.glyphicon-chevron-right,
|
||||||
.icon-prev,
|
.icon-prev,
|
||||||
.icon-next {
|
.icon-next {
|
||||||
width: 30px;
|
width: (@carousel-control-font-size * 1.5);
|
||||||
height: 30px;
|
height: (@carousel-control-font-size * 1.5);
|
||||||
margin-top: -15px;
|
margin-top: (@carousel-control-font-size / -2);
|
||||||
font-size: 30px;
|
font-size: (@carousel-control-font-size * 1.5);
|
||||||
}
|
}
|
||||||
.glyphicon-chevron-left,
|
.glyphicon-chevron-left,
|
||||||
.icon-prev {
|
.icon-prev {
|
||||||
margin-left: -15px;
|
margin-left: (@carousel-control-font-size / -2);
|
||||||
}
|
}
|
||||||
.glyphicon-chevron-right,
|
.glyphicon-chevron-right,
|
||||||
.icon-next {
|
.icon-next {
|
||||||
margin-right: -15px;
|
margin-right: (@carousel-control-font-size / -2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,9 +17,8 @@
|
|||||||
|
|
||||||
.collapse {
|
.collapse {
|
||||||
display: none;
|
display: none;
|
||||||
visibility: hidden;
|
|
||||||
|
|
||||||
&.in { display: block; visibility: visible; }
|
&.in { display: block; }
|
||||||
tr&.in { display: table-row; }
|
tr&.in { display: table-row; }
|
||||||
tbody&.in { display: table-row-group; }
|
tbody&.in { display: table-row-group; }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,8 @@
|
|||||||
height: 0;
|
height: 0;
|
||||||
margin-left: 2px;
|
margin-left: 2px;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
border-top: @caret-width-base solid;
|
border-top: @caret-width-base dashed;
|
||||||
|
border-top: @caret-width-base solid ~"\9"; // IE8
|
||||||
border-right: @caret-width-base solid transparent;
|
border-right: @caret-width-base solid transparent;
|
||||||
border-left: @caret-width-base solid transparent;
|
border-left: @caret-width-base solid transparent;
|
||||||
}
|
}
|
||||||
@@ -184,7 +185,8 @@
|
|||||||
// Reverse the caret
|
// Reverse the caret
|
||||||
.caret {
|
.caret {
|
||||||
border-top: 0;
|
border-top: 0;
|
||||||
border-bottom: @caret-width-base solid;
|
border-bottom: @caret-width-base dashed;
|
||||||
|
border-bottom: @caret-width-base solid ~"\9"; // IE8
|
||||||
content: "";
|
content: "";
|
||||||
}
|
}
|
||||||
// Different positioning for bottom up menu
|
// Different positioning for bottom up menu
|
||||||
|
|||||||
69
bower_components/bootstrap/less/forms.less
vendored
69
bower_components/bootstrap/less/forms.less
vendored
@@ -56,7 +56,6 @@ input[type="checkbox"] {
|
|||||||
line-height: normal;
|
line-height: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the height of file controls to match text inputs
|
|
||||||
input[type="file"] {
|
input[type="file"] {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
@@ -133,6 +132,12 @@ output {
|
|||||||
// Placeholder
|
// Placeholder
|
||||||
.placeholder();
|
.placeholder();
|
||||||
|
|
||||||
|
// Unstyle the caret on `<select>`s in IE10+.
|
||||||
|
&::-ms-expand {
|
||||||
|
border: 0;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
// Disabled and read-only inputs
|
// Disabled and read-only inputs
|
||||||
//
|
//
|
||||||
// HTML5 says that controls under a fieldset > legend:first-child won't be
|
// HTML5 says that controls under a fieldset > legend:first-child won't be
|
||||||
@@ -141,11 +146,15 @@ output {
|
|||||||
&[disabled],
|
&[disabled],
|
||||||
&[readonly],
|
&[readonly],
|
||||||
fieldset[disabled] & {
|
fieldset[disabled] & {
|
||||||
cursor: @cursor-disabled;
|
|
||||||
background-color: @input-bg-disabled;
|
background-color: @input-bg-disabled;
|
||||||
opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655
|
opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&[disabled],
|
||||||
|
fieldset[disabled] & {
|
||||||
|
cursor: @cursor-disabled;
|
||||||
|
}
|
||||||
|
|
||||||
// Reset height for `textarea`s
|
// Reset height for `textarea`s
|
||||||
textarea& {
|
textarea& {
|
||||||
height: auto;
|
height: auto;
|
||||||
@@ -171,13 +180,17 @@ input[type="search"] {
|
|||||||
// text within the input to become vertically misaligned. As a workaround, we
|
// text within the input to become vertically misaligned. As a workaround, we
|
||||||
// set a pixel line-height that matches the given height of the input, but only
|
// set a pixel line-height that matches the given height of the input, but only
|
||||||
// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
|
// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
|
||||||
|
//
|
||||||
|
// Note that as of 9.3, iOS doesn't support `week`.
|
||||||
|
|
||||||
@media screen and (-webkit-min-device-pixel-ratio: 0) {
|
@media screen and (-webkit-min-device-pixel-ratio: 0) {
|
||||||
input[type="date"],
|
input[type="date"],
|
||||||
input[type="time"],
|
input[type="time"],
|
||||||
input[type="datetime-local"],
|
input[type="datetime-local"],
|
||||||
input[type="month"] {
|
input[type="month"] {
|
||||||
|
&.form-control {
|
||||||
line-height: @input-height-base;
|
line-height: @input-height-base;
|
||||||
|
}
|
||||||
|
|
||||||
&.input-sm,
|
&.input-sm,
|
||||||
.input-group-sm & {
|
.input-group-sm & {
|
||||||
@@ -198,7 +211,7 @@ input[type="search"] {
|
|||||||
// horizontal forms, use the predefined grid classes.
|
// horizontal forms, use the predefined grid classes.
|
||||||
|
|
||||||
.form-group {
|
.form-group {
|
||||||
margin-bottom: 15px;
|
margin-bottom: @form-group-margin-bottom;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -238,6 +251,7 @@ input[type="search"] {
|
|||||||
// Radios and checkboxes on same line
|
// Radios and checkboxes on same line
|
||||||
.radio-inline,
|
.radio-inline,
|
||||||
.checkbox-inline {
|
.checkbox-inline {
|
||||||
|
position: relative;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding-left: 20px;
|
padding-left: 20px;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
@@ -294,6 +308,7 @@ input[type="checkbox"] {
|
|||||||
padding-bottom: (@padding-base-vertical + 1);
|
padding-bottom: (@padding-base-vertical + 1);
|
||||||
// Remove default margin from `p`
|
// Remove default margin from `p`
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
|
min-height: (@line-height-computed + @font-size-base);
|
||||||
|
|
||||||
&.input-lg,
|
&.input-lg,
|
||||||
&.input-sm {
|
&.input-sm {
|
||||||
@@ -316,11 +331,24 @@ input[type="checkbox"] {
|
|||||||
}
|
}
|
||||||
.form-group-sm {
|
.form-group-sm {
|
||||||
.form-control {
|
.form-control {
|
||||||
.input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);
|
height: @input-height-small;
|
||||||
|
padding: @padding-small-vertical @padding-small-horizontal;
|
||||||
|
font-size: @font-size-small;
|
||||||
|
line-height: @line-height-small;
|
||||||
|
border-radius: @input-border-radius-small;
|
||||||
|
}
|
||||||
|
select.form-control {
|
||||||
|
height: @input-height-small;
|
||||||
|
line-height: @input-height-small;
|
||||||
|
}
|
||||||
|
textarea.form-control,
|
||||||
|
select[multiple].form-control {
|
||||||
|
height: auto;
|
||||||
}
|
}
|
||||||
.form-control-static {
|
.form-control-static {
|
||||||
height: @input-height-small;
|
height: @input-height-small;
|
||||||
padding: @padding-small-vertical @padding-small-horizontal;
|
min-height: (@line-height-computed + @font-size-small);
|
||||||
|
padding: (@padding-small-vertical + 1) @padding-small-horizontal;
|
||||||
font-size: @font-size-small;
|
font-size: @font-size-small;
|
||||||
line-height: @line-height-small;
|
line-height: @line-height-small;
|
||||||
}
|
}
|
||||||
@@ -331,11 +359,24 @@ input[type="checkbox"] {
|
|||||||
}
|
}
|
||||||
.form-group-lg {
|
.form-group-lg {
|
||||||
.form-control {
|
.form-control {
|
||||||
.input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);
|
height: @input-height-large;
|
||||||
|
padding: @padding-large-vertical @padding-large-horizontal;
|
||||||
|
font-size: @font-size-large;
|
||||||
|
line-height: @line-height-large;
|
||||||
|
border-radius: @input-border-radius-large;
|
||||||
|
}
|
||||||
|
select.form-control {
|
||||||
|
height: @input-height-large;
|
||||||
|
line-height: @input-height-large;
|
||||||
|
}
|
||||||
|
textarea.form-control,
|
||||||
|
select[multiple].form-control {
|
||||||
|
height: auto;
|
||||||
}
|
}
|
||||||
.form-control-static {
|
.form-control-static {
|
||||||
height: @input-height-large;
|
height: @input-height-large;
|
||||||
padding: @padding-large-vertical @padding-large-horizontal;
|
min-height: (@line-height-computed + @font-size-large);
|
||||||
|
padding: (@padding-large-vertical + 1) @padding-large-horizontal;
|
||||||
font-size: @font-size-large;
|
font-size: @font-size-large;
|
||||||
line-height: @line-height-large;
|
line-height: @line-height-large;
|
||||||
}
|
}
|
||||||
@@ -368,12 +409,16 @@ input[type="checkbox"] {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
.input-lg + .form-control-feedback {
|
.input-lg + .form-control-feedback,
|
||||||
|
.input-group-lg + .form-control-feedback,
|
||||||
|
.form-group-lg .form-control + .form-control-feedback {
|
||||||
width: @input-height-large;
|
width: @input-height-large;
|
||||||
height: @input-height-large;
|
height: @input-height-large;
|
||||||
line-height: @input-height-large;
|
line-height: @input-height-large;
|
||||||
}
|
}
|
||||||
.input-sm + .form-control-feedback {
|
.input-sm + .form-control-feedback,
|
||||||
|
.input-group-sm + .form-control-feedback,
|
||||||
|
.form-group-sm .form-control + .form-control-feedback {
|
||||||
width: @input-height-small;
|
width: @input-height-small;
|
||||||
height: @input-height-small;
|
height: @input-height-small;
|
||||||
line-height: @input-height-small;
|
line-height: @input-height-small;
|
||||||
@@ -542,7 +587,7 @@ input[type="checkbox"] {
|
|||||||
// Reposition the icon because it's now within a grid column and columns have
|
// Reposition the icon because it's now within a grid column and columns have
|
||||||
// `position: relative;` on them. Also accounts for the grid gutter padding.
|
// `position: relative;` on them. Also accounts for the grid gutter padding.
|
||||||
.has-feedback .form-control-feedback {
|
.has-feedback .form-control-feedback {
|
||||||
right: (@grid-gutter-width / 2);
|
right: floor((@grid-gutter-width / 2));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Form group sizes
|
// Form group sizes
|
||||||
@@ -552,7 +597,8 @@ input[type="checkbox"] {
|
|||||||
.form-group-lg {
|
.form-group-lg {
|
||||||
@media (min-width: @screen-sm-min) {
|
@media (min-width: @screen-sm-min) {
|
||||||
.control-label {
|
.control-label {
|
||||||
padding-top: ((@padding-large-vertical * @line-height-large) + 1);
|
padding-top: (@padding-large-vertical + 1);
|
||||||
|
font-size: @font-size-large;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -560,6 +606,7 @@ input[type="checkbox"] {
|
|||||||
@media (min-width: @screen-sm-min) {
|
@media (min-width: @screen-sm-min) {
|
||||||
.control-label {
|
.control-label {
|
||||||
padding-top: (@padding-small-vertical + 1);
|
padding-top: (@padding-small-vertical + 1);
|
||||||
|
font-size: @font-size-small;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,8 +32,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Individual icons
|
// Individual icons
|
||||||
.glyphicon-asterisk { &:before { content: "\2a"; } }
|
.glyphicon-asterisk { &:before { content: "\002a"; } }
|
||||||
.glyphicon-plus { &:before { content: "\2b"; } }
|
.glyphicon-plus { &:before { content: "\002b"; } }
|
||||||
.glyphicon-euro,
|
.glyphicon-euro,
|
||||||
.glyphicon-eur { &:before { content: "\20ac"; } }
|
.glyphicon-eur { &:before { content: "\20ac"; } }
|
||||||
.glyphicon-minus { &:before { content: "\2212"; } }
|
.glyphicon-minus { &:before { content: "\2212"; } }
|
||||||
@@ -266,8 +266,12 @@
|
|||||||
.glyphicon-piggy-bank { &:before { content: "\e225"; } }
|
.glyphicon-piggy-bank { &:before { content: "\e225"; } }
|
||||||
.glyphicon-scissors { &:before { content: "\e226"; } }
|
.glyphicon-scissors { &:before { content: "\e226"; } }
|
||||||
.glyphicon-bitcoin { &:before { content: "\e227"; } }
|
.glyphicon-bitcoin { &:before { content: "\e227"; } }
|
||||||
|
.glyphicon-btc { &:before { content: "\e227"; } }
|
||||||
|
.glyphicon-xbt { &:before { content: "\e227"; } }
|
||||||
.glyphicon-yen { &:before { content: "\00a5"; } }
|
.glyphicon-yen { &:before { content: "\00a5"; } }
|
||||||
|
.glyphicon-jpy { &:before { content: "\00a5"; } }
|
||||||
.glyphicon-ruble { &:before { content: "\20bd"; } }
|
.glyphicon-ruble { &:before { content: "\20bd"; } }
|
||||||
|
.glyphicon-rub { &:before { content: "\20bd"; } }
|
||||||
.glyphicon-scale { &:before { content: "\e230"; } }
|
.glyphicon-scale { &:before { content: "\e230"; } }
|
||||||
.glyphicon-ice-lolly { &:before { content: "\e231"; } }
|
.glyphicon-ice-lolly { &:before { content: "\e231"; } }
|
||||||
.glyphicon-ice-lolly-tasted { &:before { content: "\e232"; } }
|
.glyphicon-ice-lolly-tasted { &:before { content: "\e232"; } }
|
||||||
|
|||||||
@@ -29,6 +29,10 @@
|
|||||||
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
|
|
||||||
|
&:focus {
|
||||||
|
z-index: 3;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,18 +83,18 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
background-color: @input-group-addon-bg;
|
background-color: @input-group-addon-bg;
|
||||||
border: 1px solid @input-group-addon-border-color;
|
border: 1px solid @input-group-addon-border-color;
|
||||||
border-radius: @border-radius-base;
|
border-radius: @input-border-radius;
|
||||||
|
|
||||||
// Sizing
|
// Sizing
|
||||||
&.input-sm {
|
&.input-sm {
|
||||||
padding: @padding-small-vertical @padding-small-horizontal;
|
padding: @padding-small-vertical @padding-small-horizontal;
|
||||||
font-size: @font-size-small;
|
font-size: @font-size-small;
|
||||||
border-radius: @border-radius-small;
|
border-radius: @input-border-radius-small;
|
||||||
}
|
}
|
||||||
&.input-lg {
|
&.input-lg {
|
||||||
padding: @padding-large-vertical @padding-large-horizontal;
|
padding: @padding-large-vertical @padding-large-horizontal;
|
||||||
font-size: @font-size-large;
|
font-size: @font-size-large;
|
||||||
border-radius: @border-radius-large;
|
border-radius: @input-border-radius-large;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Nuke default margins from checkboxes and radios to vertically center within.
|
// Nuke default margins from checkboxes and radios to vertically center within.
|
||||||
@@ -160,6 +164,7 @@
|
|||||||
&:last-child {
|
&:last-child {
|
||||||
> .btn,
|
> .btn,
|
||||||
> .btn-group {
|
> .btn-group {
|
||||||
|
z-index: 2;
|
||||||
margin-left: -1px;
|
margin-left: -1px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
10
bower_components/bootstrap/less/jumbotron.less
vendored
10
bower_components/bootstrap/less/jumbotron.less
vendored
@@ -4,7 +4,8 @@
|
|||||||
|
|
||||||
|
|
||||||
.jumbotron {
|
.jumbotron {
|
||||||
padding: @jumbotron-padding (@jumbotron-padding / 2);
|
padding-top: @jumbotron-padding;
|
||||||
|
padding-bottom: @jumbotron-padding;
|
||||||
margin-bottom: @jumbotron-padding;
|
margin-bottom: @jumbotron-padding;
|
||||||
color: @jumbotron-color;
|
color: @jumbotron-color;
|
||||||
background-color: @jumbotron-bg;
|
background-color: @jumbotron-bg;
|
||||||
@@ -27,6 +28,8 @@
|
|||||||
.container &,
|
.container &,
|
||||||
.container-fluid & {
|
.container-fluid & {
|
||||||
border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container
|
border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container
|
||||||
|
padding-left: (@grid-gutter-width / 2);
|
||||||
|
padding-right: (@grid-gutter-width / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
@@ -34,7 +37,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: @screen-sm-min) {
|
@media screen and (min-width: @screen-sm-min) {
|
||||||
padding: (@jumbotron-padding * 1.6) 0;
|
padding-top: (@jumbotron-padding * 1.6);
|
||||||
|
padding-bottom: (@jumbotron-padding * 1.6);
|
||||||
|
|
||||||
.container &,
|
.container &,
|
||||||
.container-fluid & {
|
.container-fluid & {
|
||||||
@@ -44,7 +48,7 @@
|
|||||||
|
|
||||||
h1,
|
h1,
|
||||||
.h1 {
|
.h1 {
|
||||||
font-size: (@font-size-base * 4.5);
|
font-size: @jumbotron-heading-font-size;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
12
bower_components/bootstrap/less/list-group.less
vendored
12
bower_components/bootstrap/less/list-group.less
vendored
@@ -38,12 +38,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Linked list items
|
// Interactive list items
|
||||||
//
|
//
|
||||||
// Use anchor elements instead of `li`s or `div`s to create linked list items.
|
// Use anchor or button elements instead of `li`s or `div`s to create interactive items.
|
||||||
// Includes an extra `.active` modifier class for showing selected items.
|
// Includes an extra `.active` modifier class for showing selected items.
|
||||||
|
|
||||||
a.list-group-item {
|
a.list-group-item,
|
||||||
|
button.list-group-item {
|
||||||
color: @list-group-link-color;
|
color: @list-group-link-color;
|
||||||
|
|
||||||
.list-group-item-heading {
|
.list-group-item-heading {
|
||||||
@@ -59,6 +60,11 @@ a.list-group-item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
button.list-group-item {
|
||||||
|
width: 100%;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
.list-group-item {
|
.list-group-item {
|
||||||
// Disabled state
|
// Disabled state
|
||||||
&.disabled,
|
&.disabled,
|
||||||
|
|||||||
5
bower_components/bootstrap/less/media.less
vendored
5
bower_components/bootstrap/less/media.less
vendored
@@ -19,6 +19,11 @@
|
|||||||
|
|
||||||
.media-object {
|
.media-object {
|
||||||
display: block;
|
display: block;
|
||||||
|
|
||||||
|
// Fix collapse in webkit from max-width: 100% and display: table-cell.
|
||||||
|
&.img-thumbnail {
|
||||||
|
max-width: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.media-right,
|
.media-right,
|
||||||
|
|||||||
1
bower_components/bootstrap/less/mixins.less
vendored
1
bower_components/bootstrap/less/mixins.less
vendored
@@ -11,6 +11,7 @@
|
|||||||
@import "mixins/responsive-visibility.less";
|
@import "mixins/responsive-visibility.less";
|
||||||
@import "mixins/size.less";
|
@import "mixins/size.less";
|
||||||
@import "mixins/tab-focus.less";
|
@import "mixins/tab-focus.less";
|
||||||
|
@import "mixins/reset-text.less";
|
||||||
@import "mixins/text-emphasis.less";
|
@import "mixins/text-emphasis.less";
|
||||||
@import "mixins/text-overflow.less";
|
@import "mixins/text-overflow.less";
|
||||||
@import "mixins/vendor-prefixes.less";
|
@import "mixins/vendor-prefixes.less";
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
.bg-variant(@color) {
|
.bg-variant(@color) {
|
||||||
background-color: @color;
|
background-color: @color;
|
||||||
a&:hover {
|
a&:hover,
|
||||||
|
a&:focus {
|
||||||
background-color: darken(@color, 10%);
|
background-color: darken(@color, 10%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,15 +8,31 @@
|
|||||||
background-color: @background;
|
background-color: @background;
|
||||||
border-color: @border;
|
border-color: @border;
|
||||||
|
|
||||||
&:hover,
|
|
||||||
&:focus,
|
&:focus,
|
||||||
&.focus,
|
&.focus {
|
||||||
|
color: @color;
|
||||||
|
background-color: darken(@background, 10%);
|
||||||
|
border-color: darken(@border, 25%);
|
||||||
|
}
|
||||||
|
&:hover {
|
||||||
|
color: @color;
|
||||||
|
background-color: darken(@background, 10%);
|
||||||
|
border-color: darken(@border, 12%);
|
||||||
|
}
|
||||||
&:active,
|
&:active,
|
||||||
&.active,
|
&.active,
|
||||||
.open > .dropdown-toggle& {
|
.open > .dropdown-toggle& {
|
||||||
color: @color;
|
color: @color;
|
||||||
background-color: darken(@background, 10%);
|
background-color: darken(@background, 10%);
|
||||||
border-color: darken(@border, 12%);
|
border-color: darken(@border, 12%);
|
||||||
|
|
||||||
|
&:hover,
|
||||||
|
&:focus,
|
||||||
|
&.focus {
|
||||||
|
color: @color;
|
||||||
|
background-color: darken(@background, 17%);
|
||||||
|
border-color: darken(@border, 25%);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
&:active,
|
&:active,
|
||||||
&.active,
|
&.active,
|
||||||
@@ -26,12 +42,9 @@
|
|||||||
&.disabled,
|
&.disabled,
|
||||||
&[disabled],
|
&[disabled],
|
||||||
fieldset[disabled] & {
|
fieldset[disabled] & {
|
||||||
&,
|
|
||||||
&:hover,
|
&:hover,
|
||||||
&:focus,
|
&:focus,
|
||||||
&.focus,
|
&.focus {
|
||||||
&:active,
|
|
||||||
&.active {
|
|
||||||
background-color: @background;
|
background-color: @background;
|
||||||
border-color: @border;
|
border-color: @border;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,8 +19,8 @@
|
|||||||
// Prevent columns from collapsing when empty
|
// Prevent columns from collapsing when empty
|
||||||
min-height: 1px;
|
min-height: 1px;
|
||||||
// Inner gutter via padding
|
// Inner gutter via padding
|
||||||
padding-left: (@grid-gutter-width / 2);
|
padding-left: ceil((@grid-gutter-width / 2));
|
||||||
padding-right: (@grid-gutter-width / 2);
|
padding-right: floor((@grid-gutter-width / 2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.col(1); // kickstart it
|
.col(1); // kickstart it
|
||||||
|
|||||||
@@ -6,15 +6,15 @@
|
|||||||
.container-fixed(@gutter: @grid-gutter-width) {
|
.container-fixed(@gutter: @grid-gutter-width) {
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
padding-left: (@gutter / 2);
|
padding-left: floor((@gutter / 2));
|
||||||
padding-right: (@gutter / 2);
|
padding-right: ceil((@gutter / 2));
|
||||||
&:extend(.clearfix all);
|
&:extend(.clearfix all);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Creates a wrapper for a series of columns
|
// Creates a wrapper for a series of columns
|
||||||
.make-row(@gutter: @grid-gutter-width) {
|
.make-row(@gutter: @grid-gutter-width) {
|
||||||
margin-left: (@gutter / -2);
|
margin-left: ceil((@gutter / -2));
|
||||||
margin-right: (@gutter / -2);
|
margin-right: floor((@gutter / -2));
|
||||||
&:extend(.clearfix all);
|
&:extend(.clearfix all);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
// CSS image replacement
|
// CSS image replacement
|
||||||
//
|
//
|
||||||
// Heads up! v3 launched with with only `.hide-text()`, but per our pattern for
|
// Heads up! v3 launched with only `.hide-text()`, but per our pattern for
|
||||||
// mixins being reused as classes with the same name, this doesn't hold up. As
|
// mixins being reused as classes with the same name, this doesn't hold up. As
|
||||||
// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.
|
// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.
|
||||||
//
|
//
|
||||||
// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
|
// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
|
||||||
|
|
||||||
// Deprecated as of v3.0.1 (will be removed in v4)
|
// Deprecated as of v3.0.1 (has been removed in v4)
|
||||||
.hide-text() {
|
.hide-text() {
|
||||||
font: ~"0/0" a;
|
font: ~"0/0" a;
|
||||||
color: transparent;
|
color: transparent;
|
||||||
|
|||||||
@@ -5,7 +5,8 @@
|
|||||||
color: @color;
|
color: @color;
|
||||||
background-color: @background;
|
background-color: @background;
|
||||||
|
|
||||||
a& {
|
a&,
|
||||||
|
button& {
|
||||||
color: @color;
|
color: @color;
|
||||||
|
|
||||||
.list-group-item-heading {
|
.list-group-item-heading {
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
// Pagination
|
// Pagination
|
||||||
|
|
||||||
.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @border-radius) {
|
.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
|
||||||
> li {
|
> li {
|
||||||
> a,
|
> a,
|
||||||
> span {
|
> span {
|
||||||
padding: @padding-vertical @padding-horizontal;
|
padding: @padding-vertical @padding-horizontal;
|
||||||
font-size: @font-size;
|
font-size: @font-size;
|
||||||
|
line-height: @line-height;
|
||||||
}
|
}
|
||||||
&:first-child {
|
&:first-child {
|
||||||
> a,
|
> a,
|
||||||
|
|||||||
18
bower_components/bootstrap/less/mixins/reset-text.less
vendored
Normal file
18
bower_components/bootstrap/less/mixins/reset-text.less
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
.reset-text() {
|
||||||
|
font-family: @font-family-base;
|
||||||
|
// We deliberately do NOT reset font-size.
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: normal;
|
||||||
|
letter-spacing: normal;
|
||||||
|
line-break: auto;
|
||||||
|
line-height: @line-height-base;
|
||||||
|
text-align: left; // Fallback for where `start` is not supported
|
||||||
|
text-align: start;
|
||||||
|
text-decoration: none;
|
||||||
|
text-shadow: none;
|
||||||
|
text-transform: none;
|
||||||
|
white-space: normal;
|
||||||
|
word-break: normal;
|
||||||
|
word-spacing: normal;
|
||||||
|
word-wrap: normal;
|
||||||
|
}
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
// More easily include all the states for responsive-utilities.less.
|
// More easily include all the states for responsive-utilities.less.
|
||||||
.responsive-visibility() {
|
.responsive-visibility() {
|
||||||
display: block !important;
|
display: block !important;
|
||||||
table& { display: table; }
|
table& { display: table !important; }
|
||||||
tr& { display: table-row !important; }
|
tr& { display: table-row !important; }
|
||||||
th&,
|
th&,
|
||||||
td& { display: table-cell !important; }
|
td& { display: table-cell !important; }
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
// WebKit-style focus
|
// WebKit-style focus
|
||||||
|
|
||||||
.tab-focus() {
|
.tab-focus() {
|
||||||
// Default
|
// WebKit-specific. Other browsers will keep their default outline style.
|
||||||
outline: thin dotted;
|
// (Initially tried to also force default via `outline: initial`,
|
||||||
// WebKit
|
// but that seems to erroneously remove the outline in Firefox altogether.)
|
||||||
outline: 5px auto -webkit-focus-ring-color;
|
outline: 5px auto -webkit-focus-ring-color;
|
||||||
outline-offset: -2px;
|
outline-offset: -2px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
.text-emphasis-variant(@color) {
|
.text-emphasis-variant(@color) {
|
||||||
color: @color;
|
color: @color;
|
||||||
a&:hover {
|
a&:hover,
|
||||||
|
a&:focus {
|
||||||
color: darken(@color, 10%);
|
color: darken(@color, 10%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Vendor Prefixes
|
// Vendor Prefixes
|
||||||
//
|
//
|
||||||
// All vendor mixins are deprecated as of v3.2.0 due to the introduction of
|
// All vendor mixins are deprecated as of v3.2.0 due to the introduction of
|
||||||
// Autoprefixer in our Gruntfile. They will be removed in v4.
|
// Autoprefixer in our Gruntfile. They have been removed in v4.
|
||||||
|
|
||||||
// - Animations
|
// - Animations
|
||||||
// - Backface visibility
|
// - Backface visibility
|
||||||
|
|||||||
6
bower_components/bootstrap/less/modals.less
vendored
6
bower_components/bootstrap/less/modals.less
vendored
@@ -62,10 +62,12 @@
|
|||||||
|
|
||||||
// Modal background
|
// Modal background
|
||||||
.modal-backdrop {
|
.modal-backdrop {
|
||||||
position: absolute;
|
position: fixed;
|
||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
|
z-index: @zindex-modal-background;
|
||||||
background-color: @modal-backdrop-bg;
|
background-color: @modal-backdrop-bg;
|
||||||
// Fade for backdrop
|
// Fade for backdrop
|
||||||
&.fade { .opacity(0); }
|
&.fade { .opacity(0); }
|
||||||
@@ -77,7 +79,7 @@
|
|||||||
.modal-header {
|
.modal-header {
|
||||||
padding: @modal-title-padding;
|
padding: @modal-title-padding;
|
||||||
border-bottom: 1px solid @modal-header-border-color;
|
border-bottom: 1px solid @modal-header-border-color;
|
||||||
min-height: (@modal-title-padding + @modal-title-line-height);
|
&:extend(.clearfix all);
|
||||||
}
|
}
|
||||||
// Close icon
|
// Close icon
|
||||||
.modal-header .close {
|
.modal-header .close {
|
||||||
|
|||||||
1
bower_components/bootstrap/less/navbar.less
vendored
1
bower_components/bootstrap/less/navbar.less
vendored
@@ -67,7 +67,6 @@
|
|||||||
|
|
||||||
&.collapse {
|
&.collapse {
|
||||||
display: block !important;
|
display: block !important;
|
||||||
visibility: visible !important;
|
|
||||||
height: auto !important;
|
height: auto !important;
|
||||||
padding-bottom: 0; // Override default setting
|
padding-bottom: 0; // Override default setting
|
||||||
overflow: visible !important;
|
overflow: visible !important;
|
||||||
|
|||||||
2
bower_components/bootstrap/less/navs.less
vendored
2
bower_components/bootstrap/less/navs.less
vendored
@@ -223,11 +223,9 @@
|
|||||||
.tab-content {
|
.tab-content {
|
||||||
> .tab-pane {
|
> .tab-pane {
|
||||||
display: none;
|
display: none;
|
||||||
visibility: hidden;
|
|
||||||
}
|
}
|
||||||
> .active {
|
> .active {
|
||||||
display: block;
|
display: block;
|
||||||
visibility: visible;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
19
bower_components/bootstrap/less/normalize.less
vendored
19
bower_components/bootstrap/less/normalize.less
vendored
@@ -1,9 +1,9 @@
|
|||||||
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
|
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
|
||||||
|
|
||||||
//
|
//
|
||||||
// 1. Set default font family to sans-serif.
|
// 1. Set default font family to sans-serif.
|
||||||
// 2. Prevent iOS text size adjust after orientation change, without disabling
|
// 2. Prevent iOS and IE text size adjust after device orientation change,
|
||||||
// user zoom.
|
// without disabling user zoom.
|
||||||
//
|
//
|
||||||
|
|
||||||
html {
|
html {
|
||||||
@@ -71,7 +71,7 @@ audio:not([controls]) {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Address `[hidden]` styling not present in IE 8/9/10.
|
// Address `[hidden]` styling not present in IE 8/9/10.
|
||||||
// Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
|
// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
|
||||||
//
|
//
|
||||||
|
|
||||||
[hidden],
|
[hidden],
|
||||||
@@ -91,7 +91,8 @@ a {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Improve readability when focused and also mouse hovered in all browsers.
|
// Improve readability of focused elements when they are also in an
|
||||||
|
// active/hover state.
|
||||||
//
|
//
|
||||||
|
|
||||||
a:active,
|
a:active,
|
||||||
@@ -209,7 +210,6 @@ figure {
|
|||||||
//
|
//
|
||||||
|
|
||||||
hr {
|
hr {
|
||||||
-moz-box-sizing: content-box;
|
|
||||||
box-sizing: content-box;
|
box-sizing: content-box;
|
||||||
height: 0;
|
height: 0;
|
||||||
}
|
}
|
||||||
@@ -350,15 +350,12 @@ input[type="number"]::-webkit-outer-spin-button {
|
|||||||
|
|
||||||
//
|
//
|
||||||
// 1. Address `appearance` set to `searchfield` in Safari and Chrome.
|
// 1. Address `appearance` set to `searchfield` in Safari and Chrome.
|
||||||
// 2. Address `box-sizing` set to `border-box` in Safari and Chrome
|
// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
|
||||||
// (include `-moz` to future-proof).
|
|
||||||
//
|
//
|
||||||
|
|
||||||
input[type="search"] {
|
input[type="search"] {
|
||||||
-webkit-appearance: textfield; // 1
|
-webkit-appearance: textfield; // 1
|
||||||
-moz-box-sizing: content-box;
|
box-sizing: content-box; //2
|
||||||
-webkit-box-sizing: content-box; // 2
|
|
||||||
box-sizing: content-box;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -40,6 +40,7 @@
|
|||||||
> li > span {
|
> li > span {
|
||||||
&:hover,
|
&:hover,
|
||||||
&:focus {
|
&:focus {
|
||||||
|
z-index: 2;
|
||||||
color: @pagination-hover-color;
|
color: @pagination-hover-color;
|
||||||
background-color: @pagination-hover-bg;
|
background-color: @pagination-hover-bg;
|
||||||
border-color: @pagination-hover-border;
|
border-color: @pagination-hover-border;
|
||||||
@@ -51,7 +52,7 @@
|
|||||||
&,
|
&,
|
||||||
&:hover,
|
&:hover,
|
||||||
&:focus {
|
&:focus {
|
||||||
z-index: 2;
|
z-index: 3;
|
||||||
color: @pagination-active-color;
|
color: @pagination-active-color;
|
||||||
background-color: @pagination-active-bg;
|
background-color: @pagination-active-bg;
|
||||||
border-color: @pagination-active-border;
|
border-color: @pagination-active-border;
|
||||||
@@ -79,10 +80,10 @@
|
|||||||
|
|
||||||
// Large
|
// Large
|
||||||
.pagination-lg {
|
.pagination-lg {
|
||||||
.pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @border-radius-large);
|
.pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Small
|
// Small
|
||||||
.pagination-sm {
|
.pagination-sm {
|
||||||
.pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @border-radius-small);
|
.pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);
|
||||||
}
|
}
|
||||||
|
|||||||
8
bower_components/bootstrap/less/panels.less
vendored
8
bower_components/bootstrap/less/panels.less
vendored
@@ -76,6 +76,7 @@
|
|||||||
.border-top-radius((@panel-border-radius - 1));
|
.border-top-radius((@panel-border-radius - 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add border bottom radius for last one
|
// Add border bottom radius for last one
|
||||||
&:last-child {
|
&:last-child {
|
||||||
.list-group-item:last-child {
|
.list-group-item:last-child {
|
||||||
@@ -84,6 +85,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
> .panel-heading + .panel-collapse > .list-group {
|
||||||
|
.list-group-item:first-child {
|
||||||
|
.border-top-radius(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// Collapse space between when there's no additional content.
|
// Collapse space between when there's no additional content.
|
||||||
.panel-heading + .list-group {
|
.panel-heading + .list-group {
|
||||||
@@ -208,7 +214,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Collapsable panels (aka, accordion)
|
// Collapsible panels (aka, accordion)
|
||||||
//
|
//
|
||||||
// Wrap a series of panels in `.panel-group` to turn them into an accordion with
|
// Wrap a series of panels in `.panel-group` to turn them into an accordion with
|
||||||
// the help of our collapse JavaScript plugin.
|
// the help of our collapse JavaScript plugin.
|
||||||
|
|||||||
12
bower_components/bootstrap/less/popovers.less
vendored
12
bower_components/bootstrap/less/popovers.less
vendored
@@ -11,12 +11,11 @@
|
|||||||
display: none;
|
display: none;
|
||||||
max-width: @popover-max-width;
|
max-width: @popover-max-width;
|
||||||
padding: 1px;
|
padding: 1px;
|
||||||
// Reset font and text properties given new insertion method
|
// Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.
|
||||||
font-family: @font-family-base;
|
// So reset our font and text properties to avoid inheriting weird values.
|
||||||
|
.reset-text();
|
||||||
font-size: @font-size-base;
|
font-size: @font-size-base;
|
||||||
font-weight: normal;
|
|
||||||
line-height: @line-height-base;
|
|
||||||
text-align: left;
|
|
||||||
background-color: @popover-bg;
|
background-color: @popover-bg;
|
||||||
background-clip: padding-box;
|
background-clip: padding-box;
|
||||||
border: 1px solid @popover-fallback-border-color;
|
border: 1px solid @popover-fallback-border-color;
|
||||||
@@ -24,9 +23,6 @@
|
|||||||
border-radius: @border-radius-large;
|
border-radius: @border-radius-large;
|
||||||
.box-shadow(0 5px 10px rgba(0,0,0,.2));
|
.box-shadow(0 5px 10px rgba(0,0,0,.2));
|
||||||
|
|
||||||
// Overrides for proper insertion
|
|
||||||
white-space: normal;
|
|
||||||
|
|
||||||
// Offset the popover to account for the popover arrow
|
// Offset the popover to account for the popover arrow
|
||||||
&.top { margin-top: -@popover-arrow-width; }
|
&.top { margin-top: -@popover-arrow-width; }
|
||||||
&.right { margin-left: @popover-arrow-width; }
|
&.right { margin-left: @popover-arrow-width; }
|
||||||
|
|||||||
6
bower_components/bootstrap/less/print.less
vendored
6
bower_components/bootstrap/less/print.less
vendored
@@ -67,12 +67,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Bootstrap specific changes start
|
// Bootstrap specific changes start
|
||||||
//
|
|
||||||
// Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245
|
|
||||||
// Once fixed, we can just straight up remove this.
|
|
||||||
select {
|
|
||||||
background: #fff !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Bootstrap components
|
// Bootstrap components
|
||||||
.navbar {
|
.navbar {
|
||||||
|
|||||||
@@ -22,14 +22,14 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Modifier class for 16:9 aspect ratio
|
// Modifier class for 16:9 aspect ratio
|
||||||
&.embed-responsive-16by9 {
|
.embed-responsive-16by9 {
|
||||||
padding-bottom: 56.25%;
|
padding-bottom: 56.25%;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Modifier class for 4:3 aspect ratio
|
// Modifier class for 4:3 aspect ratio
|
||||||
&.embed-responsive-4by3 {
|
.embed-responsive-4by3 {
|
||||||
padding-bottom: 75%;
|
padding-bottom: 75%;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|||||||
13
bower_components/bootstrap/less/scaffolding.less
vendored
13
bower_components/bootstrap/less/scaffolding.less
vendored
@@ -120,7 +120,7 @@ hr {
|
|||||||
|
|
||||||
// Only display content to screen readers
|
// Only display content to screen readers
|
||||||
//
|
//
|
||||||
// See: http://a11yproject.com/posts/how-to-hide-content/
|
// See: http://a11yproject.com/posts/how-to-hide-content
|
||||||
|
|
||||||
.sr-only {
|
.sr-only {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@@ -148,3 +148,14 @@ hr {
|
|||||||
clip: auto;
|
clip: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// iOS "clickable elements" fix for role="button"
|
||||||
|
//
|
||||||
|
// Fixes "clickability" issue (and more generally, the firing of events such as focus as well)
|
||||||
|
// for traditionally non-focusable elements with role="button"
|
||||||
|
// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
|
||||||
|
|
||||||
|
[role="button"] {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|||||||
24
bower_components/bootstrap/less/theme.less
vendored
24
bower_components/bootstrap/less/theme.less
vendored
@@ -1,3 +1,8 @@
|
|||||||
|
/*!
|
||||||
|
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
||||||
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
|
*/
|
||||||
|
|
||||||
//
|
//
|
||||||
// Load core variables and mixins
|
// Load core variables and mixins
|
||||||
@@ -28,6 +33,12 @@
|
|||||||
.box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
|
.box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.disabled,
|
||||||
|
&[disabled],
|
||||||
|
fieldset[disabled] & {
|
||||||
|
.box-shadow(none);
|
||||||
|
}
|
||||||
|
|
||||||
.badge {
|
.badge {
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
}
|
}
|
||||||
@@ -53,12 +64,19 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&.disabled,
|
&.disabled,
|
||||||
&:disabled,
|
&[disabled],
|
||||||
&[disabled] {
|
fieldset[disabled] & {
|
||||||
|
&,
|
||||||
|
&:hover,
|
||||||
|
&:focus,
|
||||||
|
&.focus,
|
||||||
|
&:active,
|
||||||
|
&.active {
|
||||||
background-color: darken(@btn-color, 12%);
|
background-color: darken(@btn-color, 12%);
|
||||||
background-image: none;
|
background-image: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Common styles
|
// Common styles
|
||||||
.btn {
|
.btn {
|
||||||
@@ -132,7 +150,7 @@
|
|||||||
.navbar-inverse {
|
.navbar-inverse {
|
||||||
#gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);
|
#gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);
|
||||||
.reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257
|
.reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257
|
||||||
|
border-radius: @navbar-border-radius;
|
||||||
.navbar-nav > .open > a,
|
.navbar-nav > .open > a,
|
||||||
.navbar-nav > .active > a {
|
.navbar-nav > .active > a {
|
||||||
#gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));
|
#gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));
|
||||||
|
|||||||
10
bower_components/bootstrap/less/tooltip.less
vendored
10
bower_components/bootstrap/less/tooltip.less
vendored
@@ -8,12 +8,11 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: @zindex-tooltip;
|
z-index: @zindex-tooltip;
|
||||||
display: block;
|
display: block;
|
||||||
visibility: visible;
|
// Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
|
||||||
// Reset font and text properties given new insertion method
|
// So reset our font and text properties to avoid inheriting weird values.
|
||||||
font-family: @font-family-base;
|
.reset-text();
|
||||||
font-size: @font-size-small;
|
font-size: @font-size-small;
|
||||||
font-weight: normal;
|
|
||||||
line-height: 1.4;
|
|
||||||
.opacity(0);
|
.opacity(0);
|
||||||
|
|
||||||
&.in { .opacity(@tooltip-opacity); }
|
&.in { .opacity(@tooltip-opacity); }
|
||||||
@@ -29,7 +28,6 @@
|
|||||||
padding: 3px 8px;
|
padding: 3px 8px;
|
||||||
color: @tooltip-color;
|
color: @tooltip-color;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
text-decoration: none;
|
|
||||||
background-color: @tooltip-bg;
|
background-color: @tooltip-bg;
|
||||||
border-radius: @border-radius-base;
|
border-radius: @border-radius-base;
|
||||||
}
|
}
|
||||||
|
|||||||
4
bower_components/bootstrap/less/type.less
vendored
4
bower_components/bootstrap/less/type.less
vendored
@@ -211,7 +211,7 @@ dd {
|
|||||||
&:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present
|
&:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: @grid-float-breakpoint) {
|
@media (min-width: @dl-horizontal-breakpoint) {
|
||||||
dt {
|
dt {
|
||||||
float: left;
|
float: left;
|
||||||
width: (@dl-horizontal-offset - 20);
|
width: (@dl-horizontal-offset - 20);
|
||||||
@@ -238,7 +238,7 @@ abbr[data-original-title] {
|
|||||||
}
|
}
|
||||||
.initialism {
|
.initialism {
|
||||||
font-size: 90%;
|
font-size: 90%;
|
||||||
text-transform: uppercase;
|
.text-uppercase();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Blockquotes
|
// Blockquotes
|
||||||
|
|||||||
@@ -44,7 +44,6 @@
|
|||||||
|
|
||||||
.hidden {
|
.hidden {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
visibility: hidden !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
18
bower_components/bootstrap/less/variables.less
vendored
18
bower_components/bootstrap/less/variables.less
vendored
@@ -111,7 +111,7 @@
|
|||||||
//** Global background color for active items (e.g., navs or dropdowns).
|
//** Global background color for active items (e.g., navs or dropdowns).
|
||||||
@component-active-bg: @brand-primary;
|
@component-active-bg: @brand-primary;
|
||||||
|
|
||||||
//** Width of the `border` for generating carets that indicator dropdowns.
|
//** Width of the `border` for generating carets that indicate dropdowns.
|
||||||
@caret-width-base: 4px;
|
@caret-width-base: 4px;
|
||||||
//** Carets increase slightly in size for larger components.
|
//** Carets increase slightly in size for larger components.
|
||||||
@caret-width-large: 5px;
|
@caret-width-large: 5px;
|
||||||
@@ -170,6 +170,11 @@
|
|||||||
|
|
||||||
@btn-link-disabled-color: @gray-light;
|
@btn-link-disabled-color: @gray-light;
|
||||||
|
|
||||||
|
// Allows for customizing button radius independently from global border radius
|
||||||
|
@btn-border-radius-base: @border-radius-base;
|
||||||
|
@btn-border-radius-large: @border-radius-large;
|
||||||
|
@btn-border-radius-small: @border-radius-small;
|
||||||
|
|
||||||
|
|
||||||
//== Forms
|
//== Forms
|
||||||
//
|
//
|
||||||
@@ -207,6 +212,9 @@
|
|||||||
//** Small `.form-control` height
|
//** Small `.form-control` height
|
||||||
@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
|
@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
|
||||||
|
|
||||||
|
//** `.form-group` margin
|
||||||
|
@form-group-margin-bottom: 15px;
|
||||||
|
|
||||||
@legend-color: @gray-dark;
|
@legend-color: @gray-dark;
|
||||||
@legend-border-color: #e5e5e5;
|
@legend-border-color: #e5e5e5;
|
||||||
|
|
||||||
@@ -266,7 +274,8 @@
|
|||||||
@zindex-popover: 1060;
|
@zindex-popover: 1060;
|
||||||
@zindex-tooltip: 1070;
|
@zindex-tooltip: 1070;
|
||||||
@zindex-navbar-fixed: 1030;
|
@zindex-navbar-fixed: 1030;
|
||||||
@zindex-modal: 1040;
|
@zindex-modal-background: 1040;
|
||||||
|
@zindex-modal: 1050;
|
||||||
|
|
||||||
|
|
||||||
//== Media queries breakpoints
|
//== Media queries breakpoints
|
||||||
@@ -379,7 +388,7 @@
|
|||||||
@navbar-default-toggle-border-color: #ddd;
|
@navbar-default-toggle-border-color: #ddd;
|
||||||
|
|
||||||
|
|
||||||
// Inverted navbar
|
//=== Inverted navbar
|
||||||
// Reset inverted navbar basics
|
// Reset inverted navbar basics
|
||||||
@navbar-inverse-color: lighten(@gray-light, 15%);
|
@navbar-inverse-color: lighten(@gray-light, 15%);
|
||||||
@navbar-inverse-bg: #222;
|
@navbar-inverse-bg: #222;
|
||||||
@@ -480,6 +489,7 @@
|
|||||||
@jumbotron-bg: @gray-lighter;
|
@jumbotron-bg: @gray-lighter;
|
||||||
@jumbotron-heading-color: inherit;
|
@jumbotron-heading-color: inherit;
|
||||||
@jumbotron-font-size: ceil((@font-size-base * 1.5));
|
@jumbotron-font-size: ceil((@font-size-base * 1.5));
|
||||||
|
@jumbotron-heading-font-size: ceil((@font-size-base * 4.5));
|
||||||
|
|
||||||
|
|
||||||
//== Form states and alerts
|
//== Form states and alerts
|
||||||
@@ -853,5 +863,7 @@
|
|||||||
@page-header-border-color: @gray-lighter;
|
@page-header-border-color: @gray-lighter;
|
||||||
//** Width of horizontal description list titles
|
//** Width of horizontal description list titles
|
||||||
@dl-horizontal-offset: @component-offset-horizontal;
|
@dl-horizontal-offset: @component-offset-horizontal;
|
||||||
|
//** Point at which .dl-horizontal becomes horizontal
|
||||||
|
@dl-horizontal-breakpoint: @grid-float-breakpoint;
|
||||||
//** Horizontal line color.
|
//** Horizontal line color.
|
||||||
@hr-border: @gray-lighter;
|
@hr-border: @gray-lighter;
|
||||||
|
|||||||
8
bower_components/bootstrap/nuget/MyGet.ps1
vendored
Normal file
8
bower_components/bootstrap/nuget/MyGet.ps1
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
$nuget = $env:NuGet
|
||||||
|
|
||||||
|
# parse the version number out of package.json
|
||||||
|
$bsversion = ((Get-Content $env:SourcesPath\package.json) -join "`n" | ConvertFrom-Json).version
|
||||||
|
|
||||||
|
# create packages
|
||||||
|
& $nuget pack "nuget\bootstrap.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion
|
||||||
|
& $nuget pack "nuget\bootstrap.less.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion
|
||||||
28
bower_components/bootstrap/nuget/bootstrap.less.nuspec
vendored
Normal file
28
bower_components/bootstrap/nuget/bootstrap.less.nuspec
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||||
|
<metadata>
|
||||||
|
<id>bootstrap.less</id>
|
||||||
|
<version>3.3.7</version>
|
||||||
|
<title>Bootstrap Less</title>
|
||||||
|
<authors>Twitter, Inc.</authors>
|
||||||
|
<owners>bootstrap</owners>
|
||||||
|
<description>The most popular front-end framework for developing responsive, mobile first projects on the web.</description>
|
||||||
|
<releaseNotes>http://blog.getbootstrap.com</releaseNotes>
|
||||||
|
<summary>Bootstrap framework in Less. Includes fonts and JavaScript</summary>
|
||||||
|
<language>en-us</language>
|
||||||
|
<projectUrl>http://getbootstrap.com</projectUrl>
|
||||||
|
<iconUrl>http://getbootstrap.com/apple-touch-icon.png</iconUrl>
|
||||||
|
<licenseUrl>https://github.com/twbs/bootstrap/blob/master/LICENSE</licenseUrl>
|
||||||
|
<copyright>Copyright 2016</copyright>
|
||||||
|
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||||
|
<dependencies>
|
||||||
|
<dependency id="jQuery" version="[1.9.1,4)" />
|
||||||
|
</dependencies>
|
||||||
|
<tags>css js less mobile-first responsive front-end framework web</tags>
|
||||||
|
</metadata>
|
||||||
|
<files>
|
||||||
|
<file src="less\**\*.less" target="content\Content\bootstrap" />
|
||||||
|
<file src="fonts\*.*" target="content\Content\fonts" />
|
||||||
|
<file src="dist\js\bootstrap*.js" target="content\Scripts" />
|
||||||
|
</files>
|
||||||
|
</package>
|
||||||
28
bower_components/bootstrap/nuget/bootstrap.nuspec
vendored
Normal file
28
bower_components/bootstrap/nuget/bootstrap.nuspec
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||||
|
<metadata>
|
||||||
|
<id>bootstrap</id>
|
||||||
|
<version>3.3.7</version>
|
||||||
|
<title>Bootstrap CSS</title>
|
||||||
|
<authors>Twitter, Inc.</authors>
|
||||||
|
<owners>bootstrap</owners>
|
||||||
|
<description>The most popular front-end framework for developing responsive, mobile first projects on the web.</description>
|
||||||
|
<releaseNotes>http://blog.getbootstrap.com</releaseNotes>
|
||||||
|
<summary>Bootstrap framework in CSS. Includes fonts and JavaScript</summary>
|
||||||
|
<language>en-us</language>
|
||||||
|
<projectUrl>http://getbootstrap.com</projectUrl>
|
||||||
|
<iconUrl>http://getbootstrap.com/apple-touch-icon.png</iconUrl>
|
||||||
|
<licenseUrl>https://github.com/twbs/bootstrap/blob/master/LICENSE</licenseUrl>
|
||||||
|
<copyright>Copyright 2016</copyright>
|
||||||
|
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||||
|
<dependencies>
|
||||||
|
<dependency id="jQuery" version="[1.9.1,4)" />
|
||||||
|
</dependencies>
|
||||||
|
<tags>css js less mobile-first responsive front-end framework web</tags>
|
||||||
|
</metadata>
|
||||||
|
<files>
|
||||||
|
<file src="dist\css\*.*" target="content\Content" />
|
||||||
|
<file src="dist\fonts\*.*" target="content\fonts" />
|
||||||
|
<file src="dist\js\bootstrap*.js" target="content\Scripts" />
|
||||||
|
</files>
|
||||||
|
</package>
|
||||||
32
bower_components/bootstrap/package.js
vendored
Normal file
32
bower_components/bootstrap/package.js
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
// package metadata file for Meteor.js
|
||||||
|
|
||||||
|
/* jshint strict:false */
|
||||||
|
/* global Package:true */
|
||||||
|
|
||||||
|
Package.describe({
|
||||||
|
name: 'twbs:bootstrap', // http://atmospherejs.com/twbs/bootstrap
|
||||||
|
summary: 'The most popular front-end framework for developing responsive, mobile first projects on the web.',
|
||||||
|
version: '3.3.7',
|
||||||
|
git: 'https://github.com/twbs/bootstrap.git'
|
||||||
|
});
|
||||||
|
|
||||||
|
Package.onUse(function (api) {
|
||||||
|
api.versionsFrom('METEOR@1.0');
|
||||||
|
api.use('jquery', 'client');
|
||||||
|
var assets = [
|
||||||
|
'dist/fonts/glyphicons-halflings-regular.eot',
|
||||||
|
'dist/fonts/glyphicons-halflings-regular.svg',
|
||||||
|
'dist/fonts/glyphicons-halflings-regular.ttf',
|
||||||
|
'dist/fonts/glyphicons-halflings-regular.woff',
|
||||||
|
'dist/fonts/glyphicons-halflings-regular.woff2'
|
||||||
|
];
|
||||||
|
if (api.addAssets) {
|
||||||
|
api.addAssets(assets, 'client');
|
||||||
|
} else {
|
||||||
|
api.addFiles(assets, 'client', { isAsset: true });
|
||||||
|
}
|
||||||
|
api.addFiles([
|
||||||
|
'dist/css/bootstrap.css',
|
||||||
|
'dist/js/bootstrap.js'
|
||||||
|
], 'client');
|
||||||
|
});
|
||||||
90
bower_components/bootstrap/package.json
vendored
90
bower_components/bootstrap/package.json
vendored
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "bootstrap",
|
"name": "bootstrap",
|
||||||
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
|
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
|
||||||
"version": "3.3.2",
|
"version": "3.3.7",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"css",
|
"css",
|
||||||
"less",
|
"less",
|
||||||
@@ -14,6 +14,8 @@
|
|||||||
"homepage": "http://getbootstrap.com",
|
"homepage": "http://getbootstrap.com",
|
||||||
"author": "Twitter, Inc.",
|
"author": "Twitter, Inc.",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"change-version": "node grunt/change-version.js",
|
||||||
|
"update-shrinkwrap": "npm shrinkwrap --dev && shx mv ./npm-shrinkwrap.json ./grunt/npm-shrinkwrap.json",
|
||||||
"test": "grunt test"
|
"test": "grunt test"
|
||||||
},
|
},
|
||||||
"style": "dist/css/bootstrap.css",
|
"style": "dist/css/bootstrap.css",
|
||||||
@@ -26,58 +28,62 @@
|
|||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/twbs/bootstrap/issues"
|
"url": "https://github.com/twbs/bootstrap/issues"
|
||||||
},
|
},
|
||||||
"license": {
|
"license": "MIT",
|
||||||
"type": "MIT",
|
|
||||||
"url": "https://github.com/twbs/bootstrap/blob/master/LICENSE"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"btoa": "~1.1.2",
|
"btoa": "~1.1.2",
|
||||||
"glob": "~4.3.5",
|
"glob": "~7.0.3",
|
||||||
"grunt": "~0.4.5",
|
"grunt": "~1.0.1",
|
||||||
"grunt-autoprefixer": "~2.1.0",
|
"grunt-autoprefixer": "~3.0.4",
|
||||||
"grunt-banner": "~0.3.1",
|
"grunt-contrib-clean": "~1.0.0",
|
||||||
"grunt-contrib-clean": "~0.6.0",
|
"grunt-contrib-compress": "~1.3.0",
|
||||||
"grunt-contrib-compress": "~0.13.0",
|
"grunt-contrib-concat": "~1.0.0",
|
||||||
"grunt-contrib-concat": "~0.5.0",
|
"grunt-contrib-connect": "~1.0.0",
|
||||||
"grunt-contrib-connect": "~0.9.0",
|
"grunt-contrib-copy": "~1.0.0",
|
||||||
"grunt-contrib-copy": "~0.7.0",
|
"grunt-contrib-csslint": "~1.0.0",
|
||||||
"grunt-contrib-csslint": "~0.3.1",
|
"grunt-contrib-cssmin": "~1.0.0",
|
||||||
"grunt-contrib-cssmin": "~0.11.0",
|
"grunt-contrib-htmlmin": "~1.5.0",
|
||||||
"grunt-contrib-jade": "~0.14.0",
|
"grunt-contrib-jshint": "~1.0.0",
|
||||||
"grunt-contrib-jshint": "~0.10.0",
|
"grunt-contrib-less": "~1.3.0",
|
||||||
"grunt-contrib-less": "~1.0.0",
|
"grunt-contrib-pug": "~1.0.0",
|
||||||
"grunt-contrib-qunit": "~0.5.2",
|
"grunt-contrib-qunit": "~0.7.0",
|
||||||
"grunt-contrib-uglify": "~0.7.0",
|
"grunt-contrib-uglify": "~1.0.0",
|
||||||
"grunt-contrib-watch": "~0.6.1",
|
"grunt-contrib-watch": "~1.0.0",
|
||||||
"grunt-csscomb": "~3.0.0",
|
"grunt-csscomb": "~3.1.0",
|
||||||
"grunt-exec": "~0.4.6",
|
"grunt-exec": "~1.0.0",
|
||||||
"grunt-html-validation": "~0.1.18",
|
"grunt-html": "~8.0.1",
|
||||||
"grunt-jekyll": "~0.4.2",
|
"grunt-jekyll": "~0.4.4",
|
||||||
"grunt-jscs": "~1.2.0",
|
"grunt-jscs": "~3.0.1",
|
||||||
"grunt-saucelabs": "~8.4.1",
|
"grunt-saucelabs": "~9.0.0",
|
||||||
"grunt-sed": "~0.1.1",
|
"load-grunt-tasks": "~3.5.0",
|
||||||
"load-grunt-tasks": "~2.0.0",
|
"markdown-it": "^7.0.0",
|
||||||
"npm-shrinkwrap": "^200.0.0",
|
"shelljs": "^0.7.0",
|
||||||
"remarkable": "~1.6.0",
|
"shx": "^0.1.2",
|
||||||
"time-grunt": "~1.0.0"
|
"time-grunt": "^1.3.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "~0.10.1"
|
"node": ">=0.10.1"
|
||||||
},
|
},
|
||||||
|
"files": [
|
||||||
|
"dist",
|
||||||
|
"fonts",
|
||||||
|
"grunt",
|
||||||
|
"js/*.js",
|
||||||
|
"less/**/*.less",
|
||||||
|
"Gruntfile.js",
|
||||||
|
"LICENSE"
|
||||||
|
],
|
||||||
"jspm": {
|
"jspm": {
|
||||||
"main": "js/bootstrap",
|
"main": "js/bootstrap",
|
||||||
"directories": {
|
|
||||||
"example": "examples",
|
|
||||||
"lib": "dist"
|
|
||||||
},
|
|
||||||
"shim": {
|
"shim": {
|
||||||
"js/bootstrap": {
|
"js/bootstrap": {
|
||||||
"imports": "jquery",
|
"deps": "jquery",
|
||||||
"exports": "$"
|
"exports": "$"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"buildConfig": {
|
"files": [
|
||||||
"uglify": true
|
"css",
|
||||||
}
|
"fonts",
|
||||||
|
"js"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "datatables-responsive",
|
"name": "datatables-responsive",
|
||||||
"version": "1.0.3",
|
"version": "1.0.6",
|
||||||
"main": [
|
"main": [
|
||||||
"js/dataTables.responsive.js",
|
"js/dataTables.responsive.js",
|
||||||
"css/dataTables.responsive.css"
|
"css/dataTables.responsive.css"
|
||||||
@@ -10,14 +10,13 @@
|
|||||||
"datatables": ">=1.10.1"
|
"datatables": ">=1.10.1"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/DataTables/Responsive",
|
"homepage": "https://github.com/DataTables/Responsive",
|
||||||
"_release": "1.0.3",
|
"_release": "1.0.6",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "1.0.3",
|
"tag": "1.0.6",
|
||||||
"commit": "21e780fff0ebf78ca67f714d8ec07ca4f20a104b"
|
"commit": "4000f7d1876bc2cb6e1e75eddef431c5fff83afd"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/DataTables/Responsive.git",
|
"_source": "https://github.com/DataTables/Responsive.git",
|
||||||
"_target": "~1.0.3",
|
"_target": "1.0.6",
|
||||||
"_originalSource": "datatables-responsive",
|
"_originalSource": "datatables-responsive"
|
||||||
"_direct": true
|
|
||||||
}
|
}
|
||||||
20
bower_components/datatables-responsive/License.txt
vendored
Normal file
20
bower_components/datatables-responsive/License.txt
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
Copyright (c) 2014-2015 SpryMedia Limited
|
||||||
|
http://datatables.net
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "datatables-responsive",
|
"name": "datatables-responsive",
|
||||||
"version": "1.0.2",
|
"version": "1.0.6",
|
||||||
"main": [
|
"main": [
|
||||||
"js/dataTables.responsive.js",
|
"js/dataTables.responsive.js",
|
||||||
"css/dataTables.responsive.css"
|
"css/dataTables.responsive.css"
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
table.dataTable.dtr-inline.collapsed tbody td:first-child,
|
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child,
|
||||||
table.dataTable.dtr-inline.collapsed tbody th:first-child {
|
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-left: 30px;
|
padding-left: 30px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
table.dataTable.dtr-inline.collapsed tbody td:first-child:before,
|
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child:before,
|
||||||
table.dataTable.dtr-inline.collapsed tbody th:first-child:before {
|
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child:before {
|
||||||
top: 8px;
|
top: 8px;
|
||||||
left: 4px;
|
left: 4px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
@@ -22,25 +22,38 @@ table.dataTable.dtr-inline.collapsed tbody th:first-child:before {
|
|||||||
content: '+';
|
content: '+';
|
||||||
background-color: #31b131;
|
background-color: #31b131;
|
||||||
}
|
}
|
||||||
table.dataTable.dtr-inline.collapsed tbody td:first-child.dataTables_empty:before,
|
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child.dataTables_empty:before,
|
||||||
table.dataTable.dtr-inline.collapsed tbody th:first-child.dataTables_empty:before {
|
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child.dataTables_empty:before {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
table.dataTable.dtr-inline.collapsed tbody tr.parent td:first-child:before,
|
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td:first-child:before,
|
||||||
table.dataTable.dtr-inline.collapsed tbody tr.parent th:first-child:before {
|
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th:first-child:before {
|
||||||
content: '-';
|
content: '-';
|
||||||
background-color: #d33333;
|
background-color: #d33333;
|
||||||
}
|
}
|
||||||
table.dataTable.dtr-inline.collapsed tbody tr.child td:before {
|
table.dataTable.dtr-inline.collapsed > tbody > tr.child td:before {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
table.dataTable.dtr-column tbody td.control,
|
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child,
|
||||||
table.dataTable.dtr-column tbody th.control {
|
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child {
|
||||||
|
padding-left: 27px;
|
||||||
|
}
|
||||||
|
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child:before,
|
||||||
|
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child:before {
|
||||||
|
top: 5px;
|
||||||
|
left: 4px;
|
||||||
|
height: 14px;
|
||||||
|
width: 14px;
|
||||||
|
border-radius: 14px;
|
||||||
|
line-height: 12px;
|
||||||
|
}
|
||||||
|
table.dataTable.dtr-column > tbody > tr > td.control,
|
||||||
|
table.dataTable.dtr-column > tbody > tr > th.control {
|
||||||
position: relative;
|
position: relative;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
table.dataTable.dtr-column tbody td.control:before,
|
table.dataTable.dtr-column > tbody > tr > td.control:before,
|
||||||
table.dataTable.dtr-column tbody th.control:before {
|
table.dataTable.dtr-column > tbody > tr > th.control:before {
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
@@ -59,35 +72,34 @@ table.dataTable.dtr-column tbody th.control:before {
|
|||||||
content: '+';
|
content: '+';
|
||||||
background-color: #31b131;
|
background-color: #31b131;
|
||||||
}
|
}
|
||||||
table.dataTable.dtr-column tbody tr.parent td.control:before,
|
table.dataTable.dtr-column > tbody > tr.parent td.control:before,
|
||||||
table.dataTable.dtr-column tbody tr.parent th.control:before {
|
table.dataTable.dtr-column > tbody > tr.parent th.control:before {
|
||||||
content: '-';
|
content: '-';
|
||||||
background-color: #d33333;
|
background-color: #d33333;
|
||||||
}
|
}
|
||||||
table.dataTable tr.child {
|
table.dataTable > tbody > tr.child {
|
||||||
padding: 0.5em 1em;
|
padding: 0.5em 1em;
|
||||||
}
|
}
|
||||||
table.dataTable tr.child:hover {
|
table.dataTable > tbody > tr.child:hover {
|
||||||
background: transparent !important;
|
background: transparent !important;
|
||||||
}
|
}
|
||||||
table.dataTable tr.child ul {
|
table.dataTable > tbody > tr.child ul {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
table.dataTable tr.child ul li {
|
table.dataTable > tbody > tr.child ul li {
|
||||||
border-bottom: 1px solid #efefef;
|
border-bottom: 1px solid #efefef;
|
||||||
padding: 0.5em 0;
|
padding: 0.5em 0;
|
||||||
white-space: nowrap;
|
|
||||||
}
|
}
|
||||||
table.dataTable tr.child ul li:first-child {
|
table.dataTable > tbody > tr.child ul li:first-child {
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
}
|
}
|
||||||
table.dataTable tr.child ul li:last-child {
|
table.dataTable > tbody > tr.child ul li:last-child {
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
}
|
}
|
||||||
table.dataTable tr.child span.dtr-title {
|
table.dataTable > tbody > tr.child span.dtr-title {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
min-width: 75px;
|
min-width: 75px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|||||||
@@ -30,9 +30,9 @@
|
|||||||
//
|
//
|
||||||
table.dataTable {
|
table.dataTable {
|
||||||
// Styling for the `inline` type
|
// Styling for the `inline` type
|
||||||
&.dtr-inline.collapsed tbody {
|
&.dtr-inline.collapsed > tbody {
|
||||||
td:first-child,
|
> tr > td:first-child,
|
||||||
th:first-child {
|
> tr > th:first-child {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-left: 30px;
|
padding-left: 30px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
@@ -51,23 +51,40 @@ table.dataTable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tr.parent {
|
> tr.parent {
|
||||||
td:first-child:before,
|
> td:first-child:before,
|
||||||
th:first-child:before {
|
> th:first-child:before {
|
||||||
@include control-close;
|
@include control-close;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tr.child td:before {
|
> tr.child td:before {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DataTables' `compact` styling
|
||||||
|
&.dtr-inline.collapsed.compact > tbody {
|
||||||
|
> tr > td:first-child,
|
||||||
|
> tr > th:first-child {
|
||||||
|
padding-left: 27px;
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
top: 5px;
|
||||||
|
left: 4px;
|
||||||
|
height: 14px;
|
||||||
|
width: 14px;
|
||||||
|
border-radius: 14px;
|
||||||
|
line-height: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Styling for the `column` type
|
// Styling for the `column` type
|
||||||
&.dtr-column tbody {
|
&.dtr-column > tbody {
|
||||||
td.control,
|
> tr > td.control,
|
||||||
th.control {
|
> tr > th.control {
|
||||||
position: relative;
|
position: relative;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
@@ -83,7 +100,7 @@ table.dataTable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tr.parent {
|
> tr.parent {
|
||||||
td.control:before,
|
td.control:before,
|
||||||
th.control:before {
|
th.control:before {
|
||||||
@include control-close;
|
@include control-close;
|
||||||
@@ -93,7 +110,7 @@ table.dataTable {
|
|||||||
|
|
||||||
|
|
||||||
// Child row styling
|
// Child row styling
|
||||||
tr.child {
|
> tbody > tr.child {
|
||||||
padding: 0.5em 1em;
|
padding: 0.5em 1em;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
@@ -109,7 +126,6 @@ table.dataTable {
|
|||||||
li {
|
li {
|
||||||
border-bottom: 1px solid #efefef;
|
border-bottom: 1px solid #efefef;
|
||||||
padding: 0.5em 0;
|
padding: 0.5em 0;
|
||||||
white-space: nowrap;
|
|
||||||
|
|
||||||
&:first-child {
|
&:first-child {
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
|
|||||||
30
bower_components/datatables-responsive/docs/api/responsive.rebuild().xml
vendored
Normal file
30
bower_components/datatables-responsive/docs/api/responsive.rebuild().xml
vendored
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<dt-api group="responsive">
|
||||||
|
<name>responsive.rebuild()</name>
|
||||||
|
<summary>Recalculate the column breakpoints based on the class information of the column header cells</summary>
|
||||||
|
<since>1.0.4</since>
|
||||||
|
|
||||||
|
<type type="function">
|
||||||
|
<signature>responsive.rebuild()</signature>
|
||||||
|
<description>Recalculate the column breakpoints based on the class information of the column header cells</description>
|
||||||
|
<returns type="DataTables.Api">DataTables API instance</returns>
|
||||||
|
</type>
|
||||||
|
|
||||||
|
<description>
|
||||||
|
It can be useful to be able to control the column breakpoint information that Responsive responds to after a DataTable has been initialised. For example you may wish to provide user control over which columns are visible. This can be done using code that will add or remove the class `never` ([the other classes](http://datatables.net/extensions/responsive/classes) can also be used) and then calling this method.
|
||||||
|
|
||||||
|
You will also likely wish to immediately call `r-api responsive.recalc()` to have Responsive update the display for the change in classes. Having this as a separate call allows multiple changes to be drawn at the same time to help improve performance.
|
||||||
|
</description>
|
||||||
|
|
||||||
|
<example title="Hide a column completely by adding a class name and rebuilding"><![CDATA[
|
||||||
|
|
||||||
|
var table = $('#example').DataTable();
|
||||||
|
|
||||||
|
$( table.column( 2 ).header() ).addClass( 'never' );
|
||||||
|
|
||||||
|
table.responsive.rebuild();
|
||||||
|
table.responsive.recalc();
|
||||||
|
|
||||||
|
]]></example>
|
||||||
|
|
||||||
|
</dt-api>
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
<type type="function">
|
<type type="function">
|
||||||
<signature>responsive.recalc()</signature>
|
<signature>responsive.recalc()</signature>
|
||||||
<description>Recalculate the widths used by responsive after a change in the display</description>
|
<description>Recalculate the widths used by responsive after a change in the display</description>
|
||||||
<returns type="DataTables.Api">DataTables API instance with the cached data for each selected cell in the result set</returns>
|
<returns type="DataTables.Api">DataTables API instance</returns>
|
||||||
</type>
|
</type>
|
||||||
|
|
||||||
<description>
|
<description>
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
|
|
||||||
Note that if you define your own array of breakpoints, ordering of the breakpoints is not important. Responsive will automatically sort the array into its required internal order before using it.
|
Note that if you define your own array of breakpoints, ordering of the breakpoints is not important. Responsive will automatically sort the array into its required internal order before using it.
|
||||||
|
|
||||||
Please note that as with all other configuration options for Responsive, this option is an extension to the [default set of DataTables options](/reference/init). This property should be set in the DataTables initialisation object.
|
Please note that as with all other configuration options for Responsive, this option is an extension to the [default set of DataTables options](/reference/option). This property should be set in the DataTables initialisation object.
|
||||||
</description>
|
</description>
|
||||||
|
|
||||||
<example title="Set custom breakpoints in the DataTables initialisation"><. This property should be set in the DataTables initialisation object.
|
Please note that as with all other configuration options for Responsive, this option is an extension to the [default set of DataTables options](/reference/option). This property should be set in the DataTables initialisation object.
|
||||||
</description>
|
</description>
|
||||||
|
|
||||||
<example title="Custom renderer which displays the data that has been hidden in an HTML table"><. This property should be set in the DataTables initialisation object.
|
Please note that as with all other configuration options for Responsive, this option is an extension to the [default set of DataTables options](/reference/option). This property should be set in the DataTables initialisation object.
|
||||||
</description>
|
</description>
|
||||||
|
|
||||||
<example title="Use the `column` control type and target the right most column"><. This property should be set in the DataTables initialisation object.
|
Please note that as with all other configuration options for Responsive, this option is an extension to the [default set of DataTables options](/reference/option). This property should be set in the DataTables initialisation object.
|
||||||
</description>
|
</description>
|
||||||
|
|
||||||
<example title="Use the `column` control type"><![CDATA[
|
<example title="Use the `column` control type"><![CDATA[
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user