Compare commits

..

25 Commits

Author SHA1 Message Date
David Miller
49fbecb507 Merge pull request #125 from BlackrockDigital/master
update to bootstrap 3.3.7
2016-07-25 16:49:41 -04:00
David Miller
4eb66ac3b5 update to bootstrap 3.3.7 2016-07-25 16:48:58 -04:00
David Miller
8eee15719f Merge pull request #109 from kingdomh2007/gh-pages
multi-drop down's display isn't correct
2016-06-30 17:14:30 -04:00
David Miller
8685919860 Merge pull request #121 from odurgeau/gh-pages
#120 - Not spread background color for panel heading
2016-06-30 17:13:38 -04:00
Olivier DURGEAU
15dade60d0 #120 - Not spread background color for panel heading 2016-06-07 14:56:44 +02:00
David Miller
7acc1a0540 update CSS to MIT 2016-05-28 14:55:11 -04:00
sherry
06d8702103 multi-drop down's display isn't correct
multi-drop down's display isn't correct.
2016-03-24 18:21:19 +08:00
David Miller
39805790df update to MIT license 2016-02-04 15:53:16 -05:00
David Miller
bc69b30bbe remove line example to make homepage menu correct 2016-02-02 15:17:24 -05:00
David Miller
0c64b68b30 Merge pull request #66 from nymanjens/gh-pages
Made bower.json->license compatible with bower.json-spec
2016-01-29 16:52:28 -05:00
David Miller
76ef6da0fb Merge pull request #80 from pmichna/gh-pages
remove wrong checking of active link in sidebar
2016-01-29 16:46:13 -05:00
David Miller
b9b4738f4f Merge pull request #100 from foxou33/gh-pages
Added composer.json for installation from packagist
2016-01-29 16:42:28 -05:00
David Miller
7d43502565 Merge pull request #96 from krzysiekpiasecki/gh-pages
Fix responsive datatable example and prevent from 404
2016-01-29 16:42:10 -05:00
David Miller
f64e47d361 Merge pull request #97 from krzysiekpiasecki/patch-6
Remove unnecessary console output
2016-01-29 16:38:49 -05:00
David Miller
9c094e9eaa Merge pull request #92 from krzysiekpiasecki/patch-2
Add missing morris-line-chart example
2016-01-29 16:36:58 -05:00
David Miller
90fc3d77a3 Merge pull request #52 from zerkms/patch-1
All local variables must be prepended with `var`
2016-01-29 16:36:38 -05:00
foxou33
578afca14a Create composer.json 2016-01-14 00:16:39 +01:00
Krzysztof Piasecki
6192b94721 Remove unnecessary console output 2016-01-06 23:38:12 +01:00
Krzysztof Piasecki
9da00b7d4a Freeze datatable-responsive dependency
Patch version 1.0.7 of datatables-responsive library breaks backward compatibility. There is no css distribution files and they are renamed.


https://github.com/DataTables/Responsive/issues/45
2016-01-06 23:09:41 +01:00
Krzysztof Piasecki
8c064ad0a9 Fix invalid responsive data table example
- add missing dataTables.responsive.js script
- add width attribute
2016-01-06 23:02:26 +01:00
Krzysztof Piasecki
1847b90c83 Add missing morris-line-chart example 2016-01-06 15:23:49 +01:00
David Miller
61131dfe62 update version in bower.json 2015-12-06 12:18:09 -05:00
Paweł Michna
f509833df1 remove wrong checking of active link in sidebar 2015-09-30 12:32:39 +02:00
Jens Nyman
948ed10a1d Made bower.json->license compatible with bower.json-spec (https://github.com/bower/bower.json-spec, using a SPDX license identifier). 2015-06-07 12:09:19 +02:00
Ivan Kurnosov
486c11882b All local variables must be prepended with var
Otherwise it causes problems in `'use strict';` mode
2015-04-10 08:43:29 +12:00
91 changed files with 3368 additions and 603 deletions

214
LICENSE
View File

@@ -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.

View File

@@ -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.

View File

@@ -1,6 +1,6 @@
{ {
"name": "startbootstrap-sb-admin-2", "name": "startbootstrap-sb-admin-2",
"version": "1.0.7", "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.6", "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"
} }

View File

@@ -29,16 +29,16 @@
"test-infra" "test-infra"
], ],
"dependencies": { "dependencies": {
"jquery": "1.9.1 - 2" "jquery": "1.9.1 - 3"
}, },
"version": "3.3.6", "version": "3.3.7",
"_release": "3.3.6", "_release": "3.3.7",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "v3.3.6", "tag": "v3.3.7",
"commit": "81df608a40bf0629a1dc08e584849bb1e43e0b7a" "commit": "0b9c4a4007c44201dce9a6cc1a38407005c26c86"
}, },
"_source": "git://github.com/twbs/bootstrap.git", "_source": "https://github.com/twbs/bootstrap.git",
"_target": "~3.3.6", "_target": "~3.3.7",
"_originalSource": "bootstrap" "_originalSource": "bootstrap"
} }

6
bower_components/bootstrap/Gemfile vendored Normal file
View 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
View 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

View File

@@ -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 () {
@@ -130,7 +129,7 @@ module.exports = function (grunt) {
warnings: false warnings: false
}, },
mangle: true, mangle: true,
preserveComments: 'some' preserveComments: /^!|@preserve|@license|@cc_on/i
}, },
core: { core: {
src: '<%= concat.bootstrap.dest %>', src: '<%= concat.bootstrap.dest %>',
@@ -232,6 +231,7 @@ module.exports = function (grunt) {
compatibility: 'ie8', compatibility: 'ie8',
keepSpecialComments: '*', keepSpecialComments: '*',
sourceMap: true, sourceMap: true,
sourceMapInlineSources: true,
advanced: false advanced: false
}, },
minifyCore: { minifyCore: {
@@ -277,7 +277,7 @@ module.exports = function (grunt) {
copy: { copy: {
fonts: { fonts: {
expand: true, expand: true,
src: 'fonts/*', src: 'fonts/**',
dest: 'dist/' dest: 'dist/'
}, },
docs: { docs: {
@@ -301,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: {
@@ -314,12 +316,27 @@ module.exports = function (grunt) {
htmlmin: { htmlmin: {
dist: { dist: {
options: { options: {
collapseBooleanAttributes: true,
collapseWhitespace: true, collapseWhitespace: true,
conservativeCollapse: true, conservativeCollapse: true,
minifyCSS: true, decodeEntities: false,
minifyCSS: {
compatibility: 'ie8',
keepSpecialComments: 0
},
minifyJS: true, minifyJS: true,
minifyURLs: false,
processConditionalComments: true,
removeAttributeQuotes: true, removeAttributeQuotes: true,
removeComments: true removeComments: true,
removeOptionalAttributes: true,
removeOptionalTags: true,
removeRedundantAttributes: true,
removeScriptTypeAttributes: true,
removeStyleLinkTypeAttributes: true,
removeTagWhitespace: false,
sortAttributes: true,
sortClassName: true
}, },
expand: true, expand: true,
cwd: '_gh_pages', cwd: '_gh_pages',
@@ -331,17 +348,17 @@ module.exports = function (grunt) {
} }
}, },
jade: { 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'
} }
}, },
@@ -350,7 +367,7 @@ module.exports = function (grunt) {
options: { options: {
ignore: [ ignore: [
'Attribute "autocomplete" not allowed on element "button" at this point.', 'Attribute "autocomplete" not allowed on element "button" at this point.',
'Attribute "autocomplete" is only allowed when the input type is "color", "date", "datetime", "datetime-local", "email", "month", "number", "password", "range", "search", "tel", "text", "time", "url", or "week".', '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".',
'Element "img" is missing required attribute "src".' 'Element "img" is missing required attribute "src".'
] ]
}, },
@@ -372,25 +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'),
exclude: [
'dist/fonts',
'docs/assets',
'fonts',
'js/tests/vendor',
'node_modules',
'test-infra'
],
recursive: true
}
},
'saucelabs-qunit': { 'saucelabs-qunit': {
all: { all: {
options: { options: {
@@ -485,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);
@@ -512,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', ['dist', 'docs', 'jekyll:github', 'htmlmin', '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();
});
});
}; };

View 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

View File

@@ -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

View File

@@ -29,10 +29,10 @@ To get started, check out <http://getbootstrap.com>!
Several quick start options are available: Several quick start options are available:
* [Download the latest release](https://github.com/twbs/bootstrap/archive/v3.3.6.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.com): `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 [Meteor](https://www.meteor.com): `meteor add twbs:bootstrap`.
* Install with [Composer](https://getcomposer.org): `composer require twbs/bootstrap`. * Install with [Composer](https://getcomposer.org): `composer require twbs/bootstrap`.
@@ -71,6 +71,8 @@ We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified
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
@@ -78,10 +80,9 @@ 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 v3.0.x). 1. If necessary, [install Jekyll](http://jekyllrb.com/docs/installation) and other Ruby dependencies with `bundle install`.
**Note for 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/).
@@ -99,6 +100,8 @@ Please read through our [contributing guidelines](https://github.com/twbs/bootst
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). 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>.
@@ -136,4 +139,4 @@ See [the Releases section of our GitHub project](https://github.com/twbs/bootstr
## 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).

View File

@@ -29,6 +29,6 @@
"test-infra" "test-infra"
], ],
"dependencies": { "dependencies": {
"jquery": "1.9.1 - 2" "jquery": "1.9.1 - 3"
} }
} }

View File

@@ -1,6 +1,6 @@
/*! /*!
* Bootstrap v3.3.6 (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,

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
/*! /*!
* Bootstrap v3.3.6 (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)
*/ */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
@@ -1106,7 +1106,6 @@ a:focus {
text-decoration: underline; text-decoration: underline;
} }
a:focus { a:focus {
outline: thin dotted;
outline: 5px auto -webkit-focus-ring-color; outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px; outline-offset: -2px;
} }
@@ -2537,7 +2536,6 @@ select[size] {
input[type="file"]:focus, input[type="file"]:focus,
input[type="radio"]:focus, input[type="radio"]:focus,
input[type="checkbox"]:focus { input[type="checkbox"]:focus {
outline: thin dotted;
outline: 5px auto -webkit-focus-ring-color; outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px; outline-offset: -2px;
} }
@@ -3029,7 +3027,6 @@ select[multiple].input-lg {
.btn.focus, .btn.focus,
.btn:active.focus, .btn:active.focus,
.btn.active.focus { .btn.active.focus {
outline: thin dotted;
outline: 5px auto -webkit-focus-ring-color; outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px; outline-offset: -2px;
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
/*! /*!
* Bootstrap v3.3.6 (http://getbootstrap.com) * Bootstrap v3.3.7 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2016 Twitter, Inc.
* Licensed under the MIT license * Licensed under the MIT license
*/ */
@@ -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) || (version[0] > 2)) { 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, but lower than version 3') 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.6 * 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.6 * 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.6' 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.6 * 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.6' Button.VERSION = '3.3.7'
Button.DEFAULTS = { Button.DEFAULTS = {
loadingText: 'loading...' loadingText: 'loading...'
@@ -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)
} }
@@ -281,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"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault() 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()
// 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))
@@ -293,10 +298,10 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: carousel.js v3.3.6 * 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)
* ======================================================================== */ * ======================================================================== */
@@ -324,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.6' Carousel.VERSION = '3.3.7'
Carousel.TRANSITION_DURATION = 600 Carousel.TRANSITION_DURATION = 600
@@ -531,13 +536,14 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: collapse.js v3.3.6 * 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';
@@ -561,7 +567,7 @@ if (typeof jQuery === 'undefined') {
if (this.options.toggle) this.toggle() if (this.options.toggle) this.toggle()
} }
Collapse.VERSION = '3.3.6' Collapse.VERSION = '3.3.7'
Collapse.TRANSITION_DURATION = 350 Collapse.TRANSITION_DURATION = 350
@@ -743,10 +749,10 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: dropdown.js v3.3.6 * 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)
* ======================================================================== */ * ======================================================================== */
@@ -763,7 +769,7 @@ if (typeof jQuery === 'undefined') {
$(element).on('click.bs.dropdown', this.toggle) $(element).on('click.bs.dropdown', this.toggle)
} }
Dropdown.VERSION = '3.3.6' Dropdown.VERSION = '3.3.7'
function getParent($this) { function getParent($this) {
var selector = $this.attr('data-target') var selector = $this.attr('data-target')
@@ -909,10 +915,10 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: modal.js v3.3.6 * 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)
* ======================================================================== */ * ======================================================================== */
@@ -943,7 +949,7 @@ if (typeof jQuery === 'undefined') {
} }
} }
Modal.VERSION = '3.3.6' Modal.VERSION = '3.3.7'
Modal.TRANSITION_DURATION = 300 Modal.TRANSITION_DURATION = 300
Modal.BACKDROP_TRANSITION_DURATION = 150 Modal.BACKDROP_TRANSITION_DURATION = 150
@@ -1050,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))
@@ -1247,11 +1255,11 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: tooltip.js v3.3.6 * 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)
* ======================================================================== */ * ======================================================================== */
@@ -1274,7 +1282,7 @@ if (typeof jQuery === 'undefined') {
this.init('tooltip', element, options) this.init('tooltip', element, options)
} }
Tooltip.VERSION = '3.3.6' Tooltip.VERSION = '3.3.7'
Tooltip.TRANSITION_DURATION = 150 Tooltip.TRANSITION_DURATION = 150
@@ -1565,9 +1573,11 @@ if (typeof jQuery === 'undefined') {
function complete() { function complete() {
if (that.hoverState != 'in') $tip.detach() if (that.hoverState != 'in') $tip.detach()
that.$element if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary.
.removeAttr('aria-describedby') that.$element
.trigger('hidden.bs.' + that.type) .removeAttr('aria-describedby')
.trigger('hidden.bs.' + that.type)
}
callback && callback() callback && callback()
} }
@@ -1610,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
@@ -1726,6 +1739,7 @@ if (typeof jQuery === 'undefined') {
that.$tip = null that.$tip = null
that.$arrow = null that.$arrow = null
that.$viewport = null that.$viewport = null
that.$element = null
}) })
} }
@@ -1762,10 +1776,10 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: popover.js v3.3.6 * 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)
* ======================================================================== */ * ======================================================================== */
@@ -1782,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.6' Popover.VERSION = '3.3.7'
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
placement: 'right', placement: 'right',
@@ -1871,10 +1885,10 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: scrollspy.js v3.3.6 * 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)
* ======================================================================== */ * ======================================================================== */
@@ -1900,7 +1914,7 @@ if (typeof jQuery === 'undefined') {
this.process() this.process()
} }
ScrollSpy.VERSION = '3.3.6' ScrollSpy.VERSION = '3.3.7'
ScrollSpy.DEFAULTS = { ScrollSpy.DEFAULTS = {
offset: 10 offset: 10
@@ -2044,10 +2058,10 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: tab.js v3.3.6 * 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)
* ======================================================================== */ * ======================================================================== */
@@ -2064,7 +2078,7 @@ if (typeof jQuery === 'undefined') {
// jscs:enable requireDollarBeforejQueryAssignment // jscs:enable requireDollarBeforejQueryAssignment
} }
Tab.VERSION = '3.3.6' Tab.VERSION = '3.3.7'
Tab.TRANSITION_DURATION = 150 Tab.TRANSITION_DURATION = 150
@@ -2200,10 +2214,10 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: affix.js v3.3.6 * 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)
* ======================================================================== */ * ======================================================================== */
@@ -2229,7 +2243,7 @@ if (typeof jQuery === 'undefined') {
this.checkPosition() this.checkPosition()
} }
Affix.VERSION = '3.3.6' Affix.VERSION = '3.3.7'
Affix.RESET = 'affix affix-top affix-bottom' Affix.RESET = 'affix affix-top affix-bottom'

File diff suppressed because one or more lines are too long

View 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));

View File

@@ -13,7 +13,7 @@
"docsJs": [ "docsJs": [
"../assets/js/vendor/holder.min.js", "../assets/js/vendor/holder.min.js",
"../assets/js/vendor/ZeroClipboard.min.js", "../assets/js/vendor/ZeroClipboard.min.js",
"../assets/js/vendor/anchor.js", "../assets/js/vendor/anchor.min.js",
"../assets/js/src/application.js" "../assets/js/src/application.js"
] ]
}, },
@@ -37,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) || (version[0] > 2)) {", " 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, but lower than version 3')", " 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

File diff suppressed because it is too large Load Diff

View File

@@ -57,7 +57,7 @@
{ {
browserName: "iphone", browserName: "iphone",
platform: "OS X 10.10", platform: "OS X 10.10",
version: "8.2" version: "9.2"
}, },
# iOS Chrome not currently supported by Sauce Labs # iOS Chrome not currently supported by Sauce Labs

View File

@@ -1,8 +1,8 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: affix.js v3.3.6 * 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)
* ======================================================================== */ * ======================================================================== */
@@ -28,7 +28,7 @@
this.checkPosition() this.checkPosition()
} }
Affix.VERSION = '3.3.6' Affix.VERSION = '3.3.7'
Affix.RESET = 'affix affix-top affix-bottom' Affix.RESET = 'affix affix-top affix-bottom'

View File

@@ -1,8 +1,8 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: alert.js v3.3.6 * 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.6' 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()

View File

@@ -1,8 +1,8 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: button.js v3.3.6 * 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.6' Button.VERSION = '3.3.7'
Button.DEFAULTS = { Button.DEFAULTS = {
loadingText: 'loading...' loadingText: 'loading...'
@@ -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)
} }
@@ -108,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"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault() 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()
// 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))

View File

@@ -1,8 +1,8 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: carousel.js v3.3.6 * 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)
* ======================================================================== */ * ======================================================================== */
@@ -30,7 +30,7 @@
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
} }
Carousel.VERSION = '3.3.6' Carousel.VERSION = '3.3.7'
Carousel.TRANSITION_DURATION = 600 Carousel.TRANSITION_DURATION = 600

View File

@@ -1,11 +1,12 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: collapse.js v3.3.6 * 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';
@@ -29,7 +30,7 @@
if (this.options.toggle) this.toggle() if (this.options.toggle) this.toggle()
} }
Collapse.VERSION = '3.3.6' Collapse.VERSION = '3.3.7'
Collapse.TRANSITION_DURATION = 350 Collapse.TRANSITION_DURATION = 350

View File

@@ -1,8 +1,8 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: dropdown.js v3.3.6 * 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,7 @@
$(element).on('click.bs.dropdown', this.toggle) $(element).on('click.bs.dropdown', this.toggle)
} }
Dropdown.VERSION = '3.3.6' Dropdown.VERSION = '3.3.7'
function getParent($this) { function getParent($this) {
var selector = $this.attr('data-target') var selector = $this.attr('data-target')

View File

@@ -1,8 +1,8 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: modal.js v3.3.6 * 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)
* ======================================================================== */ * ======================================================================== */
@@ -33,7 +33,7 @@
} }
} }
Modal.VERSION = '3.3.6' Modal.VERSION = '3.3.7'
Modal.TRANSITION_DURATION = 300 Modal.TRANSITION_DURATION = 300
Modal.BACKDROP_TRANSITION_DURATION = 150 Modal.BACKDROP_TRANSITION_DURATION = 150
@@ -140,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))

View File

@@ -1,8 +1,8 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: popover.js v3.3.6 * 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.6' Popover.VERSION = '3.3.7'
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
placement: 'right', placement: 'right',

View File

@@ -1,8 +1,8 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: scrollspy.js v3.3.6 * 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)
* ======================================================================== */ * ======================================================================== */
@@ -28,7 +28,7 @@
this.process() this.process()
} }
ScrollSpy.VERSION = '3.3.6' ScrollSpy.VERSION = '3.3.7'
ScrollSpy.DEFAULTS = { ScrollSpy.DEFAULTS = {
offset: 10 offset: 10

View File

@@ -1,8 +1,8 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: tab.js v3.3.6 * 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)
* ======================================================================== */ * ======================================================================== */
@@ -19,7 +19,7 @@
// jscs:enable requireDollarBeforejQueryAssignment // jscs:enable requireDollarBeforejQueryAssignment
} }
Tab.VERSION = '3.3.6' Tab.VERSION = '3.3.7'
Tab.TRANSITION_DURATION = 150 Tab.TRANSITION_DURATION = 150

View File

@@ -1,9 +1,9 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: tooltip.js v3.3.6 * 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)
* ======================================================================== */ * ======================================================================== */
@@ -26,7 +26,7 @@
this.init('tooltip', element, options) this.init('tooltip', element, options)
} }
Tooltip.VERSION = '3.3.6' Tooltip.VERSION = '3.3.7'
Tooltip.TRANSITION_DURATION = 150 Tooltip.TRANSITION_DURATION = 150
@@ -317,9 +317,11 @@
function complete() { function complete() {
if (that.hoverState != 'in') $tip.detach() if (that.hoverState != 'in') $tip.detach()
that.$element if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary.
.removeAttr('aria-describedby') that.$element
.trigger('hidden.bs.' + that.type) .removeAttr('aria-describedby')
.trigger('hidden.bs.' + that.type)
}
callback && callback() callback && callback()
} }
@@ -362,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
@@ -478,6 +483,7 @@
that.$tip = null that.$tip = null
that.$arrow = null that.$arrow = null
that.$viewport = null that.$viewport = null
that.$element = null
}) })
} }

View File

@@ -1,8 +1,8 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: transition.js v3.3.6 * 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)
* ======================================================================== */ * ======================================================================== */

View File

@@ -1,6 +1,6 @@
/*! /*!
* Bootstrap v3.3.6 (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)
*/ */

View File

@@ -59,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);

View File

@@ -181,7 +181,7 @@ input[type="search"] {
// 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 8.3, iOS doesn't support `datetime` or `week`. // 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"],

View File

@@ -29,7 +29,7 @@
width: 100%; width: 100%;
margin-bottom: 0; margin-bottom: 0;
&:focus { &:focus {
z-index: 3; z-index: 3;
} }

View File

@@ -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;
} }

View File

@@ -214,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.

View File

@@ -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;

View File

@@ -1,6 +1,6 @@
/*! /*!
* Bootstrap v3.3.6 (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)
*/ */

View File

@@ -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;

View File

@@ -1,8 +1,8 @@
$nuget = $env:NuGet $nuget = $env:NuGet
#parse the version number out of package.json # parse the version number out of package.json
$bsversion = ((Get-Content $env:SourcesPath\package.json) -join "`n" | ConvertFrom-Json).version $bsversion = ((Get-Content $env:SourcesPath\package.json) -join "`n" | ConvertFrom-Json).version
#create packages # create packages
& $nuget pack "nuget\bootstrap.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion & $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 & $nuget pack "nuget\bootstrap.less.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion

View File

@@ -2,23 +2,23 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata> <metadata>
<id>bootstrap.less</id> <id>bootstrap.less</id>
<version>3.3</version> <version>3.3.7</version>
<title>Bootstrap Less</title> <title>Bootstrap Less</title>
<authors>Twitter, Inc.</authors> <authors>Twitter, Inc.</authors>
<owners>bootstrap</owners> <owners>bootstrap</owners>
<description>The most popular front-end framework for developing responsive, mobile first projects on the web.</description> <description>The most popular front-end framework for developing responsive, mobile first projects on the web.</description>
<releaseNotes>http://blog.getbootstrap.com</releaseNotes> <releaseNotes>http://blog.getbootstrap.com</releaseNotes>
<summary>Bootstrap framework in Less. Includes fonts and JavaScript</summary> <summary>Bootstrap framework in Less. Includes fonts and JavaScript</summary>
<language>en-us</language> <language>en-us</language>
<projectUrl>http://getbootstrap.com</projectUrl> <projectUrl>http://getbootstrap.com</projectUrl>
<iconUrl>http://getbootstrap.com/apple-touch-icon.png</iconUrl> <iconUrl>http://getbootstrap.com/apple-touch-icon.png</iconUrl>
<licenseUrl>https://github.com/twbs/bootstrap/blob/master/LICENSE</licenseUrl> <licenseUrl>https://github.com/twbs/bootstrap/blob/master/LICENSE</licenseUrl>
<copyright>Copyright 2015</copyright> <copyright>Copyright 2016</copyright>
<requireLicenseAcceptance>false</requireLicenseAcceptance> <requireLicenseAcceptance>false</requireLicenseAcceptance>
<dependencies> <dependencies>
<dependency id="jQuery" version="[1.9.1,3)" /> <dependency id="jQuery" version="[1.9.1,4)" />
</dependencies> </dependencies>
<tags>css js less mobile-first responsive front-end framework web</tags> <tags>css js less mobile-first responsive front-end framework web</tags>
</metadata> </metadata>
<files> <files>
<file src="less\**\*.less" target="content\Content\bootstrap" /> <file src="less\**\*.less" target="content\Content\bootstrap" />

View File

@@ -2,23 +2,23 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata> <metadata>
<id>bootstrap</id> <id>bootstrap</id>
<version>3.3</version> <version>3.3.7</version>
<title>Bootstrap CSS</title> <title>Bootstrap CSS</title>
<authors>Twitter, Inc.</authors> <authors>Twitter, Inc.</authors>
<owners>bootstrap</owners> <owners>bootstrap</owners>
<description>The most popular front-end framework for developing responsive, mobile first projects on the web.</description> <description>The most popular front-end framework for developing responsive, mobile first projects on the web.</description>
<releaseNotes>http://blog.getbootstrap.com</releaseNotes> <releaseNotes>http://blog.getbootstrap.com</releaseNotes>
<summary>Bootstrap framework in CSS. Includes fonts and JavaScript</summary> <summary>Bootstrap framework in CSS. Includes fonts and JavaScript</summary>
<language>en-us</language> <language>en-us</language>
<projectUrl>http://getbootstrap.com</projectUrl> <projectUrl>http://getbootstrap.com</projectUrl>
<iconUrl>http://getbootstrap.com/apple-touch-icon.png</iconUrl> <iconUrl>http://getbootstrap.com/apple-touch-icon.png</iconUrl>
<licenseUrl>https://github.com/twbs/bootstrap/blob/master/LICENSE</licenseUrl> <licenseUrl>https://github.com/twbs/bootstrap/blob/master/LICENSE</licenseUrl>
<copyright>Copyright 2015</copyright> <copyright>Copyright 2016</copyright>
<requireLicenseAcceptance>false</requireLicenseAcceptance> <requireLicenseAcceptance>false</requireLicenseAcceptance>
<dependencies> <dependencies>
<dependency id="jQuery" version="[1.9.1,3)" /> <dependency id="jQuery" version="[1.9.1,4)" />
</dependencies> </dependencies>
<tags>css js less mobile-first responsive front-end framework web</tags> <tags>css js less mobile-first responsive front-end framework web</tags>
</metadata> </metadata>
<files> <files>
<file src="dist\css\*.*" target="content\Content" /> <file src="dist\css\*.*" target="content\Content" />

View File

@@ -6,7 +6,7 @@
Package.describe({ Package.describe({
name: 'twbs:bootstrap', // http://atmospherejs.com/twbs/bootstrap name: 'twbs:bootstrap', // http://atmospherejs.com/twbs/bootstrap
summary: 'The most popular front-end framework for developing responsive, mobile first projects on the web.', summary: 'The most popular front-end framework for developing responsive, mobile first projects on the web.',
version: '3.3.6', version: '3.3.7',
git: 'https://github.com/twbs/bootstrap.git' git: 'https://github.com/twbs/bootstrap.git'
}); });

View File

@@ -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.6", "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",
@@ -29,34 +31,34 @@
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"btoa": "~1.1.2", "btoa": "~1.1.2",
"glob": "~6.0.1", "glob": "~7.0.3",
"grunt": "~0.4.5", "grunt": "~1.0.1",
"grunt-autoprefixer": "~3.0.3", "grunt-autoprefixer": "~3.0.4",
"grunt-contrib-clean": "~0.6.0", "grunt-contrib-clean": "~1.0.0",
"grunt-contrib-compress": "~0.14.0", "grunt-contrib-compress": "~1.3.0",
"grunt-contrib-concat": "~0.5.1", "grunt-contrib-concat": "~1.0.0",
"grunt-contrib-connect": "~0.11.2", "grunt-contrib-connect": "~1.0.0",
"grunt-contrib-copy": "~0.8.0", "grunt-contrib-copy": "~1.0.0",
"grunt-contrib-csslint": "~0.5.0", "grunt-contrib-csslint": "~1.0.0",
"grunt-contrib-cssmin": "~0.14.0", "grunt-contrib-cssmin": "~1.0.0",
"grunt-contrib-htmlmin": "~0.6.0", "grunt-contrib-htmlmin": "~1.5.0",
"grunt-contrib-jade": "~0.15.0", "grunt-contrib-jshint": "~1.0.0",
"grunt-contrib-jshint": "~0.11.2", "grunt-contrib-less": "~1.3.0",
"grunt-contrib-less": "~1.1.0", "grunt-contrib-pug": "~1.0.0",
"grunt-contrib-qunit": "~0.7.0", "grunt-contrib-qunit": "~0.7.0",
"grunt-contrib-uglify": "~0.9.2", "grunt-contrib-uglify": "~1.0.0",
"grunt-contrib-watch": "~0.6.1", "grunt-contrib-watch": "~1.0.0",
"grunt-csscomb": "~3.1.0", "grunt-csscomb": "~3.1.0",
"grunt-exec": "~0.4.6", "grunt-exec": "~1.0.0",
"grunt-html": "~5.0.1", "grunt-html": "~8.0.1",
"grunt-jekyll": "~0.4.2", "grunt-jekyll": "~0.4.4",
"grunt-jscs": "~2.3.0", "grunt-jscs": "~3.0.1",
"grunt-saucelabs": "~8.6.1", "grunt-saucelabs": "~9.0.0",
"grunt-sed": "twbs/grunt-sed#v0.2.0", "load-grunt-tasks": "~3.5.0",
"load-grunt-tasks": "~3.3.0", "markdown-it": "^7.0.0",
"markdown-it": "^5.0.0", "shelljs": "^0.7.0",
"npm-shrinkwrap": "^200.4.0", "shx": "^0.1.2",
"time-grunt": "^1.2.1" "time-grunt": "^1.3.0"
}, },
"engines": { "engines": {
"node": ">=0.10.1" "node": ">=0.10.1"

View File

@@ -1,22 +1,22 @@
{ {
"name": "datatables-responsive", "name": "datatables-responsive",
"version": "1.0.7", "version": "1.0.6",
"main": [ "main": [
"js/dataTables.responsive.js", "js/dataTables.responsive.js",
"css/responsive.dataTables.scss" "css/dataTables.responsive.css"
], ],
"dependencies": { "dependencies": {
"jquery": ">=1.7.0", "jquery": ">=1.7.0",
"datatables": ">=1.10.1" "datatables": ">=1.10.1"
}, },
"homepage": "https://github.com/DataTables/Responsive", "homepage": "https://github.com/DataTables/Responsive",
"_release": "1.0.7", "_release": "1.0.6",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "1.0.7", "tag": "1.0.6",
"commit": "435b1bd36ed29de73dd704121de0571a5c1a50a6" "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"
} }

View File

@@ -1,5 +1,3 @@
MIT license
Copyright (c) 2014-2015 SpryMedia Limited Copyright (c) 2014-2015 SpryMedia Limited
http://datatables.net http://datatables.net

View File

@@ -1,35 +0,0 @@
# Responsive
Responsive will automatically optimise the table's layout for different screen sizes through the dynamic column visibility control, making your tables useful on desktop and mobile screens.
# Installation
To use Responsive the best way to obtain the software is to use the [DataTables downloader](//datatables.net/download). You can also include the individual files from the [DataTables CDN](//cdn.datatables.net). See the [documentation](http://datatables.net/extensions/responsive/) for full details.
# Basic usage
Responsive is initialised using the `responsive` option in the DataTables constructor - a simple boolean `true` will enable the feature. Further options can be specified using this option as an object - see the documentation for details.
Example:
```js
$(document).ready( function () {
$('#myTable').DataTable( {
responsive: true
} );
} );
```
# Documentation / support
* [Documentation](https://datatables.net/extensions/responsive/)
* [DataTables support forums](http://datatables.net/forums)
# GitHub
If you fancy getting involved with the development of Responsive and help make it better, please refer to its [GitHub repo](https://github.com/DataTables/Responsive).

View File

@@ -1,9 +1,9 @@
{ {
"name": "datatables-responsive", "name": "datatables-responsive",
"version": "1.0.7", "version": "1.0.6",
"main": [ "main": [
"js/dataTables.responsive.js", "js/dataTables.responsive.js",
"css/responsive.dataTables.scss" "css/dataTables.responsive.css"
], ],
"dependencies": { "dependencies": {
"jquery": ">=1.7.0", "jquery": ">=1.7.0",

View File

@@ -0,0 +1,106 @@
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child,
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child {
position: relative;
padding-left: 30px;
cursor: pointer;
}
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child:before {
top: 8px;
left: 4px;
height: 16px;
width: 16px;
display: block;
position: absolute;
color: white;
border: 2px solid white;
border-radius: 16px;
text-align: center;
line-height: 14px;
box-shadow: 0 0 3px #444;
box-sizing: content-box;
content: '+';
background-color: #31b131;
}
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child.dataTables_empty:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child.dataTables_empty:before {
display: none;
}
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th:first-child:before {
content: '-';
background-color: #d33333;
}
table.dataTable.dtr-inline.collapsed > tbody > tr.child td:before {
display: none;
}
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child,
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;
cursor: pointer;
}
table.dataTable.dtr-column > tbody > tr > td.control:before,
table.dataTable.dtr-column > tbody > tr > th.control:before {
top: 50%;
left: 50%;
height: 16px;
width: 16px;
margin-top: -10px;
margin-left: -10px;
display: block;
position: absolute;
color: white;
border: 2px solid white;
border-radius: 16px;
text-align: center;
line-height: 14px;
box-shadow: 0 0 3px #444;
box-sizing: content-box;
content: '+';
background-color: #31b131;
}
table.dataTable.dtr-column > tbody > tr.parent td.control:before,
table.dataTable.dtr-column > tbody > tr.parent th.control:before {
content: '-';
background-color: #d33333;
}
table.dataTable > tbody > tr.child {
padding: 0.5em 1em;
}
table.dataTable > tbody > tr.child:hover {
background: transparent !important;
}
table.dataTable > tbody > tr.child ul {
display: inline-block;
list-style-type: none;
margin: 0;
padding: 0;
}
table.dataTable > tbody > tr.child ul li {
border-bottom: 1px solid #efefef;
padding: 0.5em 0;
}
table.dataTable > tbody > tr.child ul li:first-child {
padding-top: 0;
}
table.dataTable > tbody > tr.child ul li:last-child {
border-bottom: none;
}
table.dataTable > tbody > tr.child span.dtr-title {
display: inline-block;
min-width: 75px;
font-weight: bold;
}

View File

@@ -1,12 +1,4 @@
//
// Variables
//
$open-button-background: #31b131 !default;
$close-button-background: #d33333 !default;
// //
// Mixins // Mixins
// //
@@ -24,12 +16,12 @@ $close-button-background: #d33333 !default;
@mixin control-open() { @mixin control-open() {
content: '+'; content: '+';
background-color: $open-button-background; background-color: #31b131;
} }
@mixin control-close() { @mixin control-close() {
content: '-'; content: '-';
background-color: $close-button-background; background-color: #d33333;
} }

View File

@@ -1,4 +0,0 @@
$open-button-background: #337ab7 !default;
@import 'responsive.dataTables.scss';

View File

@@ -1,10 +0,0 @@
$open-button-background: #008CBA !default;
@import 'responsive.dataTables.scss';
table.dataTable > tbody > tr.child {
ul {
font-size: 1em;
}
}

View File

@@ -1,2 +0,0 @@
@import 'responsive.dataTables.scss';

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<dt-api library="Responsive"> <dt-api group="responsive">
<name>responsive.index()</name> <name>responsive.index()</name>
<summary>Obtain the cell index from a `-tag li` details element</summary> <summary>Obtain the cell index from a `-tag li` details element</summary>
<since>1.0.3</since> <since>1.0.3</since>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<dt-api library="Responsive"> <dt-api group="responsive">
<name>responsive.rebuild()</name> <name>responsive.rebuild()</name>
<summary>Recalculate the column breakpoints based on the class information of the column header cells</summary> <summary>Recalculate the column breakpoints based on the class information of the column header cells</summary>
<since>1.0.4</since> <since>1.0.4</since>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<dt-api library="Responsive"> <dt-api group="responsive">
<name>responsive.recalc()</name> <name>responsive.recalc()</name>
<summary>Recalculate the widths used by responsive after a change in the display</summary> <summary>Recalculate the widths used by responsive after a change in the display</summary>
<since>1.0.1</since> <since>1.0.1</since>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<dt-option library="Responsive"> <dt-option group="responsive">
<name>responsive.breakpoints</name> <name>responsive.breakpoints</name>
<summary>Set the breakpoints for a Responsive instance</summary> <summary>Set the breakpoints for a Responsive instance</summary>
<since>Responsive 1.0.0</since> <since>Responsive 1.0.0</since>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<dt-option library="Responsive"> <dt-option group="responsive">
<name>responsive.details.renderer</name> <name>responsive.details.renderer</name>
<summary>Define the renderer used to display the child rows</summary> <summary>Define the renderer used to display the child rows</summary>
<since>Responsive 1.0.0</since> <since>Responsive 1.0.0</since>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<dt-option library="Responsive"> <dt-option group="responsive">
<name>responsive.details.target</name> <name>responsive.details.target</name>
<summary>Column / selector for child row display control when using `column` details type</summary> <summary>Column / selector for child row display control when using `column` details type</summary>
<since>Responsive 1.0.0</since> <since>Responsive 1.0.0</since>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<dt-option library="Responsive"> <dt-option group="responsive">
<name>responsive.details.type</name> <name>responsive.details.type</name>
<summary>Set the child row display control type</summary> <summary>Set the child row display control type</summary>
<since>Responsive 1.0.0</since> <since>Responsive 1.0.0</since>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<dt-option library="Responsive"> <dt-option group="responsive">
<name>responsive.details</name> <name>responsive.details</name>
<summary>Enable and configure the child rows shown by Responsive for collapsed tables</summary> <summary>Enable and configure the child rows shown by Responsive for collapsed tables</summary>
<since>Responsive 1.0.0</since> <since>Responsive 1.0.0</since>

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<dt-option library="Responsive"> <dt-option group="responsive">
<name>responsive</name> <name>responsive</name>
<summary>Enable and configure the Responsive extension for DataTables</summary> <summary>Enable and configure the Responsive extension for DataTables</summary>
<since>Responsive 1.0.0</since> <since>Responsive 1.0.0</since>
<type type="boolean"> <type type="boolean">
<description> <description>
As a boolean value this property will enable Responsive on the DataTable that is being created. `true` will enable Responsive, while `false` will not (even if the table has a class of `-string responsive` or `-string dt-responsive`). As a boolean value this property will enable Responsive on the DataTable that is being created. `true` will enable Responsive, while `false` will not (even if the table has a class of `-string responsive` or `-string dt-responsive`.
This is a short-cut option to enable Responsive with the default configuration options. Customisations can be made by giving this parameter as an object, see below. This is a short-cut option to enable Responsive with the default configuration options. Customisations can be made by giving this parameter as an object, see below.
</description> </description>

View File

View File

@@ -13,6 +13,7 @@ $(document).ready(function() {
{ "data": "name" }, { "data": "name" },
{ "data": "position" }, { "data": "position" },
{ "data": "office" }, { "data": "office" },
{ "data": "age" },
{ "data": "start_date" }, { "data": "start_date" },
{ "data": "salary" }, { "data": "salary" },
{ "data": "extn" } { "data": "extn" }
@@ -46,7 +47,7 @@ Additionally, there are three special class names:
Please [refer to the Responsive manual](//datatables.net/extensions/responsive/) for further details of these options. Please [refer to the Responsive manual](//datatables.net/extensions/responsive/) for further details of these options.
This example shows the `salary` column visible on a desktop only - `office` requires a tablet, while the `position` column requires a phone in landscape or larger. The `name` column is always visible and the `start date` is never visible. This example shows the `salary` column visible on a desktop only - `office` and `age` require a tablet, while the `position` column requires a phone in landscape or larger. The `name` column is always visible and the `start date` is never visible.
This can be useful if you wish to change the format of the data shown on different devices, for example using a combination of `mobile` and `not-mobile` on two different columns would allow information to be formatted suitable for each device type. This can be useful if you wish to change the format of the data shown on different devices, for example using a combination of `mobile` and `not-mobile` on two different columns would allow information to be formatted suitable for each device type.
@@ -60,6 +61,7 @@ This can be useful if you wish to change the format of the data shown on differe
<th class="all">Name</th> <th class="all">Name</th>
<th class="min-phone-l">Position</th> <th class="min-phone-l">Position</th>
<th class="min-tablet">Office</th> <th class="min-tablet">Office</th>
<th class="min-tablet">Age</th>
<th class="never">Start date</th> <th class="never">Start date</th>
<th class="desktop">Salary</th> <th class="desktop">Salary</th>
<th class="none">Extn.</th> <th class="none">Extn.</th>
@@ -71,6 +73,7 @@ This can be useful if you wish to change the format of the data shown on differe
<th>Name</th> <th>Name</th>
<th>Position</th> <th>Position</th>
<th>Office</th> <th>Office</th>
<th>Age</th>
<th>Start date</th> <th>Start date</th>
<th>Salary</th> <th>Salary</th>
<th>Extn.</th> <th>Extn.</th>

View File

@@ -6,7 +6,7 @@
position: relative; position: relative;
min-height: 41px; min-height: 41px;
} }
th span { span {
display: block; display: block;
position: absolute; position: absolute;
left: 0; left: 0;
@@ -46,7 +46,7 @@ This example shows how Responsive can be used with _complex headers_ (i.e. heade
We use jQuery to find the header cells which have a `colspan` attribute and wrap their contents in a `-tag span` tag. That `-tag span` is then set to `position: absolute;` using `text-overflow: ellipsis`. The result is that the text of the `colspan` cell will reduce automatically to fit the available area based on the contents of the column cells below it. We use jQuery to find the header cells which have a `colspan` attribute and wrap their contents in a `-tag span` tag. That `-tag span` is then set to `position: absolute;` using `text-overflow: ellipsis`. The result is that the text of the `colspan` cell will reduce automatically to fit the available area based on the contents of the column cells below it.
This functionality is not currently built into Responsive. It might be included in future. This functionality is not currently built into Responsive. It likely will be for v1.1.
]]></info> ]]></info>

View File

View File

@@ -13,6 +13,7 @@ $(document).ready(function() {
{ "data": "name", className: "all" }, { "data": "name", className: "all" },
{ "data": "position", className: "min-phone-l" }, { "data": "position", className: "min-phone-l" },
{ "data": "office", className: "min-tablet" }, { "data": "office", className: "min-tablet" },
{ "data": "age", className: "min-tablet" },
{ "data": "start_date", className: "never" }, { "data": "start_date", className: "never" },
{ "data": "salary", className: "desktop" }, { "data": "salary", className: "desktop" },
{ "data": "extn", className: "none" } { "data": "extn", className: "none" }
@@ -39,6 +40,7 @@ This example exactly matches the functionality of the [class control example](cl
<th>Name</th> <th>Name</th>
<th>Position</th> <th>Position</th>
<th>Office</th> <th>Office</th>
<th>Age</th>
<th>Start date</th> <th>Start date</th>
<th>Salary</th> <th>Salary</th>
<th>Extn.</th> <th>Extn.</th>
@@ -50,6 +52,7 @@ This example exactly matches the functionality of the [class control example](cl
<th>Name</th> <th>Name</th>
<th>Position</th> <th>Position</th>
<th>Office</th> <th>Office</th>
<th>Age</th>
<th>Start date</th> <th>Start date</th>
<th>Salary</th> <th>Salary</th>
<th>Extn.</th> <th>Extn.</th>

0
bower_components/datatables-responsive/examples/index.xml vendored Normal file → Executable file
View File

View File

View File

@@ -20,7 +20,7 @@ $(document).ready(function() {
<info><![CDATA[ <info><![CDATA[
Responsive will automatically detect new DataTable instances being created on a page and initialise itself if it finds the `r-init responsive` option or `responsive` class name on the table, as shown in the other examples. Responsive will automatically detect new DataTable instances being created on a page and initialise itself if it find the `r-init responsive` option or `responsive` class name on the table, as shown in the other examples.
The third way of initialising Responsive is manually creating a new instance using the `$.fn.dataTable.Responsive` class, as shown in this example (the other two methods are provided using this constructor in a `dt-event init` event handler!). The third way of initialising Responsive is manually creating a new instance using the `$.fn.dataTable.Responsive` class, as shown in this example (the other two methods are provided using this constructor in a `dt-event init` event handler!).

View File

@@ -1,8 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<dt-example table-type="html-wide" table-class="display dt-responsive nowrap" order="1" framework="bootstrap"> <dt-example table-type="html-wide" table-class="table table-striped table-hover dt-responsive" order="1">
<css lib="datatables responsive"/> <css lib="bootstrap datatables-bootstrap responsive">
<js lib="jquery datatables responsive"> body { font-size: 140% }
table.dataTable th,
table.dataTable td {
white-space: nowrap;
}
</css>
<js lib="jquery datatables responsive datatables-bootstrap">
<![CDATA[ <![CDATA[
$(document).ready(function() { $(document).ready(function() {
@@ -16,7 +23,7 @@ $(document).ready(function() {
<info><![CDATA[ <info><![CDATA[
This example shows DataTables and the Responsive extension being used with the [Bootstrap](http://getbootstrap.com) framework providing the styling. The [DataTables / Bootstrap integration](//datatables.net/manual/styling/bootstrap) prove seamless integration for DataTables to be used in a Bootstrap page. This example shows DataTables and the Responsive extension being used with the [Bootstrap](http://getbootstrap.com) framework providing the styling. The [DataTables / Bootstrap integration files](//datatables.net/manual/styling/bootstrap) prove seamless integration for DataTables to be used in a Bootstrap page.
Note that the `dt-responsive` class is used to indicate to the extension that it should be enabled on this page, as `responsive` [has special meaning in Bootstrap](http://getbootstrap.com/css/#tables-responsive). The `r-init responsive` option could also be used if required. Note that the `dt-responsive` class is used to indicate to the extension that it should be enabled on this page, as `responsive` [has special meaning in Bootstrap](http://getbootstrap.com/css/#tables-responsive). The `r-init responsive` option could also be used if required.

View File

@@ -8,9 +8,9 @@
<![CDATA[ <![CDATA[
$(document).ready(function() { $(document).ready(function() {
var table = $('#example').DataTable( { var table = $('#example').DataTable();
responsive: true
} ); new $.fn.dataTable.Responsive( table );
} ); } );
]]> ]]>

View File

@@ -1,8 +1,13 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<dt-example table-type="html-wide" table-class="display responsive nowrap" order="2" framework="foundation"> <dt-example table-type="html-wide" table-class="tdisplay responsive" order="2">
<css lib="datatables responsive"/> <css lib="foundation datatables-foundation responsive">
<js lib="jquery datatables responsive"> table.dataTable th,
table.dataTable td {
white-space: nowrap;
}
</css>
<js lib="jquery datatables responsive datatables-foundation">
<![CDATA[ <![CDATA[
$(document).ready(function() { $(document).ready(function() {
@@ -16,7 +21,7 @@ $(document).ready(function() {
<info><![CDATA[ <info><![CDATA[
This example shows DataTables and the Responsive extension being used with the [Foundation](http://foundation.zurb.com) framework providing the styling. The [DataTables / Foundation integration](//datatables.net/manual/styling/foundation) prove seamless integration for DataTables to be used in a Foundation page. This example shows DataTables and the Responsive extension being used with the [Foundation](http://foundation.zurb.com) framework providing the styling. The [DataTables / Foundation integration files](//datatables.net/manual/styling/foundation) prove seamless integration for DataTables to be used in a Foundation page.
]]></info> ]]></info>

0
bower_components/datatables-responsive/examples/styling/index.xml vendored Normal file → Executable file
View File

View File

@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<dt-example table-type="html-wide" table-class="display responsive nowrap" order="3" framework="jqueryui">
<css lib="datatables responsive"/>
<js lib="jquery datatables responsive">
<![CDATA[
$(document).ready(function() {
$('#example').DataTable();
} );
]]>
</js>
<title lib="Responsive">jQuery UI styling</title>
<info><![CDATA[
This example shows DataTables and Responsive being used with [jQuery UI](http://jqueryui.com/) providing the base styling information.
]]></info>
</dt-example>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<dt-example table-type="html-wide" table-class="display responsive nowrap" order="5"> <dt-example table-type="html-wide" table-class="display nowrap" order="3">
<css lib="datatables responsive"> <css lib="datatables responsive">
div.container { max-width: 1200px } div.container { max-width: 1200px }
@@ -12,6 +12,8 @@ $(document).ready(function() {
scrollY: 300, scrollY: 300,
paging: false paging: false
} ); } );
new $.fn.dataTable.Responsive( table );
} ); } );
]]> ]]>

View File

@@ -1,11 +1,11 @@
/*! Responsive 1.0.7 /*! Responsive 1.0.6
* 2014-2015 SpryMedia Ltd - datatables.net/license * 2014-2015 SpryMedia Ltd - datatables.net/license
*/ */
/** /**
* @summary Responsive * @summary Responsive
* @description Responsive tables plug-in for DataTables * @description Responsive tables plug-in for DataTables
* @version 1.0.7 * @version 1.0.6
* @file dataTables.responsive.js * @file dataTables.responsive.js
* @author SpryMedia Ltd (www.sprymedia.co.uk) * @author SpryMedia Ltd (www.sprymedia.co.uk)
* @contact www.sprymedia.co.uk/contact * @contact www.sprymedia.co.uk/contact
@@ -826,7 +826,7 @@ Api.register( 'responsive.recalc()', function () {
* @name Responsive.version * @name Responsive.version
* @static * @static
*/ */
Responsive.version = '1.0.7'; Responsive.version = '1.0.6';
$.fn.dataTable.Responsive = Responsive; $.fn.dataTable.Responsive = Responsive;

View File

@@ -11,8 +11,8 @@ DT_BUILT="${DT_SRC}/built/DataTables"
. $DT_SRC/build/include.sh . $DT_SRC/build/include.sh
# Copy CSS # Copy CSS
scss_compile css/dataTables.responsive.scss
rsync -r css $OUT_DIR rsync -r css $OUT_DIR
css_frameworks responsive $OUT_DIR/css
# Copy images # Copy images
#rsync -r images $OUT_DIR #rsync -r images $OUT_DIR
@@ -20,7 +20,6 @@ css_frameworks responsive $OUT_DIR/css
# Copy JS # Copy JS
rsync -r js $OUT_DIR rsync -r js $OUT_DIR
js_compress $OUT_DIR/js/dataTables.responsive.js js_compress $OUT_DIR/js/dataTables.responsive.js
js_frameworks responsive $OUT_DIR/js
# Copy and build examples # Copy and build examples
rsync -r examples $OUT_DIR rsync -r examples $OUT_DIR

29
composer.json Normal file
View File

@@ -0,0 +1,29 @@
{
"name": "iron-summit-media/startbootstrap-sb-admin-2",
"description": "SB Admin 2 is an open source, admin dashboard template for Bootstrap created by Start Bootstrap.",
"type": "component",
"homepage": "https://github.com/davidtmiller",
"license": "MIT",
"authors": [
{
"name": "David Miller",
"email": "david@ironsummitmedia.com"
}
],
"require": {
"components/bootstrap": ">=3.0",
"datatables/datatables": ">=1.10",
"components/font-awesome": ">=4.0",
"onokumus/metismenu": ">=2.0"
},
"extra": {
"component": {
"scripts": [
"dist/js/sb-admin-2.js"
],
"files": [
"dist/css/sb-admin-2.css"
]
}
}
}

View File

@@ -1,7 +1,7 @@
/*! /*!
* Start Bootstrap - SB Admin 2 Bootstrap Admin Theme (http://startbootstrap.com) * Start Bootstrap - SB Admin 2 (http://startbootstrap.com/)
* Code licensed under the Apache License v2.0. * Copyright 2013-2016 Start Bootstrap
* For details, see http://www.apache.org/licenses/LICENSE-2.0. * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap/blob/gh-pages/LICENSE)
*/ */
body { body {
@@ -303,7 +303,7 @@ table.dataTable thead .sorting:after {
border-color: #5cb85c; border-color: #5cb85c;
} }
.panel-green .panel-heading { .panel-green > .panel-heading {
border-color: #5cb85c; border-color: #5cb85c;
color: #fff; color: #fff;
background-color: #5cb85c; background-color: #5cb85c;
@@ -321,7 +321,7 @@ table.dataTable thead .sorting:after {
border-color: #d9534f; border-color: #d9534f;
} }
.panel-red .panel-heading { .panel-red > .panel-heading {
border-color: #d9534f; border-color: #d9534f;
color: #fff; color: #fff;
background-color: #d9534f; background-color: #d9534f;
@@ -339,7 +339,7 @@ table.dataTable thead .sorting:after {
border-color: #f0ad4e; border-color: #f0ad4e;
} }
.panel-yellow .panel-heading { .panel-yellow > .panel-heading {
border-color: #f0ad4e; border-color: #f0ad4e;
color: #fff; color: #fff;
background-color: #f0ad4e; background-color: #f0ad4e;

22
dist/js/sb-admin-2.js vendored
View File

@@ -9,8 +9,8 @@ $(function() {
// Sets the min-height of #page-wrapper to window size // Sets the min-height of #page-wrapper to window size
$(function() { $(function() {
$(window).bind("load resize", function() { $(window).bind("load resize", function() {
topOffset = 50; var topOffset = 50;
width = (this.window.innerWidth > 0) ? this.window.innerWidth : this.screen.width; var width = (this.window.innerWidth > 0) ? this.window.innerWidth : this.screen.width;
if (width < 768) { if (width < 768) {
$('div.navbar-collapse').addClass('collapse'); $('div.navbar-collapse').addClass('collapse');
topOffset = 100; // 2-row-menu topOffset = 100; // 2-row-menu
@@ -18,7 +18,7 @@ $(function() {
$('div.navbar-collapse').removeClass('collapse'); $('div.navbar-collapse').removeClass('collapse');
} }
height = ((this.window.innerHeight > 0) ? this.window.innerHeight : this.screen.height) - 1; var height = ((this.window.innerHeight > 0) ? this.window.innerHeight : this.screen.height) - 1;
height = height - topOffset; height = height - topOffset;
if (height < 1) height = 1; if (height < 1) height = 1;
if (height > topOffset) { if (height > topOffset) {
@@ -27,10 +27,18 @@ $(function() {
}); });
var url = window.location; var url = window.location;
// var element = $('ul.nav a').filter(function() {
// return this.href == url;
// }).addClass('active').parent().parent().addClass('in').parent();
var element = $('ul.nav a').filter(function() { var element = $('ul.nav a').filter(function() {
return this.href == url || url.href.indexOf(this.href) == 0; return this.href == url;
}).addClass('active').parent().parent().addClass('in').parent(); }).addClass('active').parent();
if (element.is('li')) {
element.addClass('active'); while(true){
if (element.is('li')){
element = element.parent().addClass('in').parent();
} else {
break;
}
} }
}); });

View File

@@ -1,6 +1,6 @@
//Flot Line Chart //Flot Line Chart
$(document).ready(function() { $(document).ready(function() {
console.log("document ready");
var offset = 0; var offset = 0;
plot(); plot();

View File

@@ -113,5 +113,5 @@ $(function() {
hideHover: 'auto', hideHover: 'auto',
resize: true resize: true
}); });
}); });

View File

@@ -390,7 +390,7 @@
<!-- /.panel-heading --> <!-- /.panel-heading -->
<div class="panel-body"> <div class="panel-body">
<div class="dataTable_wrapper"> <div class="dataTable_wrapper">
<table class="table table-striped table-bordered table-hover" id="dataTables-example"> <table width="100%" class="table table-striped table-bordered table-hover" id="dataTables-example">
<thead> <thead>
<tr> <tr>
<th>Rendering engine</th> <th>Rendering engine</th>
@@ -1127,7 +1127,8 @@
<!-- DataTables JavaScript --> <!-- DataTables JavaScript -->
<script src="../bower_components/datatables/media/js/jquery.dataTables.min.js"></script> <script src="../bower_components/datatables/media/js/jquery.dataTables.min.js"></script>
<script src="../bower_components/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.min.js"></script> <script src="../bower_components/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.min.js"></script>
<script src="../bower_components/datatables-responsive/js/dataTables.responsive.js"></script>
<!-- Custom Theme JavaScript --> <!-- Custom Theme JavaScript -->
<script src="../dist/js/sb-admin-2.js"></script> <script src="../dist/js/sb-admin-2.js"></script>