mirror of https://github.com/twbs/bootstrap.git
Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev
This commit is contained in:
commit
8feae9075a
|
@ -10,7 +10,7 @@ javascript:
|
||||||
|
|
||||||
eslint:
|
eslint:
|
||||||
enabled: true
|
enabled: true
|
||||||
config_file: js/.eslintrc
|
config_file: js/.eslintrc.json
|
||||||
|
|
||||||
jscs:
|
jscs:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
|
@ -5,7 +5,7 @@ git:
|
||||||
depth: 10
|
depth: 10
|
||||||
node_js:
|
node_js:
|
||||||
- "4"
|
- "4"
|
||||||
- "5"
|
- "6"
|
||||||
before_install:
|
before_install:
|
||||||
# Remove ./node_modules/.bin from PATH so node-which doesn't replace Unix which and cause RVM to barf. See https://github.com/travis-ci/travis-ci/issues/5092
|
# Remove ./node_modules/.bin from PATH so node-which doesn't replace Unix which and cause RVM to barf. See https://github.com/travis-ci/travis-ci/issues/5092
|
||||||
- export PATH=$(python -c 'from sys import argv;from collections import OrderedDict as od;print(":".join(od((p,None) for p in argv[1].split(":") if p.startswith("/")).keys()))' "$PATH")
|
- export PATH=$(python -c 'from sys import argv;from collections import OrderedDict as od;print(":".join(od((p,None) for p in argv[1].split(":") if p.startswith("/")).keys()))' "$PATH")
|
||||||
|
|
20
Gemfile.lock
20
Gemfile.lock
|
@ -4,7 +4,7 @@ GEM
|
||||||
colorator (0.1)
|
colorator (0.1)
|
||||||
ffi (1.9.10)
|
ffi (1.9.10)
|
||||||
ffi (1.9.10-x64-mingw32)
|
ffi (1.9.10-x64-mingw32)
|
||||||
jekyll (3.1.2)
|
jekyll (3.1.6)
|
||||||
colorator (~> 0.1)
|
colorator (~> 0.1)
|
||||||
jekyll-sass-converter (~> 1.0)
|
jekyll-sass-converter (~> 1.0)
|
||||||
jekyll-watch (~> 1.1)
|
jekyll-watch (~> 1.1)
|
||||||
|
@ -18,21 +18,21 @@ GEM
|
||||||
jekyll-sass-converter (1.4.0)
|
jekyll-sass-converter (1.4.0)
|
||||||
sass (~> 3.4)
|
sass (~> 3.4)
|
||||||
jekyll-sitemap (0.10.0)
|
jekyll-sitemap (0.10.0)
|
||||||
jekyll-watch (1.3.1)
|
jekyll-watch (1.4.0)
|
||||||
listen (~> 3.0)
|
listen (~> 3.0, < 3.1)
|
||||||
kramdown (1.10.0)
|
kramdown (1.11.1)
|
||||||
liquid (3.0.6)
|
liquid (3.0.6)
|
||||||
listen (3.0.6)
|
listen (3.0.8)
|
||||||
rb-fsevent (>= 0.9.3)
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||||
rb-inotify (>= 0.9.7)
|
rb-inotify (~> 0.9, >= 0.9.7)
|
||||||
mercenary (0.3.5)
|
mercenary (0.3.6)
|
||||||
rake (10.5.0)
|
rake (10.5.0)
|
||||||
rb-fsevent (0.9.7)
|
rb-fsevent (0.9.7)
|
||||||
rb-inotify (0.9.7)
|
rb-inotify (0.9.7)
|
||||||
ffi (>= 0.5.0)
|
ffi (>= 0.5.0)
|
||||||
rouge (1.10.1)
|
rouge (1.10.1)
|
||||||
safe_yaml (1.0.4)
|
safe_yaml (1.0.4)
|
||||||
sass (3.4.21)
|
sass (3.4.22)
|
||||||
scss_lint (0.47.1)
|
scss_lint (0.47.1)
|
||||||
rake (>= 0.9, < 11)
|
rake (>= 0.9, < 11)
|
||||||
sass (~> 3.4.15)
|
sass (~> 3.4.15)
|
||||||
|
@ -48,4 +48,4 @@ DEPENDENCIES
|
||||||
scss_lint (~> 0.47.1)
|
scss_lint (~> 0.47.1)
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
1.11.2
|
1.12.5
|
||||||
|
|
10
Gruntfile.js
10
Gruntfile.js
|
@ -1,6 +1,7 @@
|
||||||
/*!
|
/*!
|
||||||
* Bootstrap's Gruntfile
|
* Bootstrap's Gruntfile
|
||||||
* http://getbootstrap.com
|
* http://getbootstrap.com
|
||||||
|
* Copyright 2013-2016 The Bootstrap Authors
|
||||||
* Copyright 2013-2016 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)
|
||||||
*/
|
*/
|
||||||
|
@ -106,13 +107,6 @@ module.exports = function (grunt) {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
eslint: {
|
|
||||||
options: {
|
|
||||||
configFile: 'js/.eslintrc'
|
|
||||||
},
|
|
||||||
target: 'js/src/*.js'
|
|
||||||
},
|
|
||||||
|
|
||||||
jscs: {
|
jscs: {
|
||||||
options: {
|
options: {
|
||||||
config: 'js/.jscsrc'
|
config: 'js/.jscsrc'
|
||||||
|
@ -437,7 +431,7 @@ module.exports = function (grunt) {
|
||||||
testSubtasks.push('saucelabs-qunit');
|
testSubtasks.push('saucelabs-qunit');
|
||||||
}
|
}
|
||||||
grunt.registerTask('test', testSubtasks);
|
grunt.registerTask('test', testSubtasks);
|
||||||
grunt.registerTask('test-js', ['eslint', 'jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']);
|
grunt.registerTask('test-js', ['jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']);
|
||||||
|
|
||||||
// JS distribution task.
|
// JS distribution task.
|
||||||
grunt.registerTask('dist-js', ['babel:dev', 'concat', 'babel:dist', 'stamp', 'uglify:core', 'commonjs']);
|
grunt.registerTask('dist-js', ['babel:dev', 'concat', 'babel:dist', 'stamp', 'uglify:core', 'commonjs']);
|
||||||
|
|
1
LICENSE
1
LICENSE
|
@ -1,6 +1,7 @@
|
||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2011-2016 Twitter, Inc.
|
Copyright (c) 2011-2016 Twitter, Inc.
|
||||||
|
Copyright (c) 2011-2016 The Bootstrap Authors
|
||||||
|
|
||||||
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
|
||||||
|
|
|
@ -131,4 +131,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-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).
|
Code and documentation copyright 2011-2016 the Bootstrap Authors and 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).
|
||||||
|
|
|
@ -41,7 +41,7 @@ cdn:
|
||||||
css_hash: "sha384-y3tfxAZXuh4HwSYylfB+J125MxIs6mR5FOHamPBG064zB+AFeWH94NdvaCBm8qnd"
|
css_hash: "sha384-y3tfxAZXuh4HwSYylfB+J125MxIs6mR5FOHamPBG064zB+AFeWH94NdvaCBm8qnd"
|
||||||
js: https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/js/bootstrap.min.js
|
js: https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/js/bootstrap.min.js
|
||||||
js_hash: "sha384-vZ2WRJMwsjRMW/8U7i6PWi6AlO1L79snBrmgiDpgIWJ82z8eA5lenwvxbMV1PAh7"
|
js_hash: "sha384-vZ2WRJMwsjRMW/8U7i6PWi6AlO1L79snBrmgiDpgIWJ82z8eA5lenwvxbMV1PAh7"
|
||||||
jquery: https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js
|
jquery: https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js
|
||||||
jquery_hash: "sha384-mXQoED/lFIuocc//nss8aJOIrz7X7XruhR6bO+sGceiSyMELoVdZkN7F0oYwcFH+"
|
jquery_hash: "sha384-rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB"
|
||||||
tether: https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js
|
tether: https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js
|
||||||
tether_hash: "sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB"
|
tether_hash: "sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB"
|
||||||
|
|
|
@ -114,7 +114,7 @@
|
||||||
summary: >
|
summary: >
|
||||||
Right border of `<select>` menu is sometimes missing when screen is set to uncommon resolution
|
Right border of `<select>` menu is sometimes missing when screen is set to uncommon resolution
|
||||||
upstream_bug: >
|
upstream_bug: >
|
||||||
Mozilla#924068
|
Mozilla#545685
|
||||||
origin: >
|
origin: >
|
||||||
Bootstrap#15990
|
Bootstrap#15990
|
||||||
|
|
||||||
|
@ -158,16 +158,6 @@
|
||||||
origin: >
|
origin: >
|
||||||
Bootstrap#15832
|
Bootstrap#15832
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Chrome
|
|
||||||
summary: >
|
|
||||||
Focus ring of image map within a modal is displayed in the wrong location.
|
|
||||||
upstream_bug: >
|
|
||||||
Chromium#475128
|
|
||||||
origin: >
|
|
||||||
Bootstrap#16180
|
|
||||||
|
|
||||||
-
|
-
|
||||||
browser: >
|
browser: >
|
||||||
Chrome
|
Chrome
|
||||||
|
@ -188,16 +178,6 @@
|
||||||
origin: >
|
origin: >
|
||||||
Bootstrap#16022
|
Bootstrap#16022
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Chrome
|
|
||||||
summary: >
|
|
||||||
`width: 1%` on nested table cell causes its table to hog horizontal space.
|
|
||||||
upstream_bug: >
|
|
||||||
Chromium#427994
|
|
||||||
origin: >
|
|
||||||
Bootstrap#16372
|
|
||||||
|
|
||||||
-
|
-
|
||||||
browser: >
|
browser: >
|
||||||
Chrome
|
Chrome
|
||||||
|
@ -208,6 +188,16 @@
|
||||||
origin: >
|
origin: >
|
||||||
Bootstrap#17438, Bootstrap#14237
|
Bootstrap#17438, Bootstrap#14237
|
||||||
|
|
||||||
|
-
|
||||||
|
browser: >
|
||||||
|
Chrome
|
||||||
|
summary: >
|
||||||
|
Clicking scrollbar in `<select multiple>` with overflowed options will select nearby `<option>`
|
||||||
|
upstream_bug: >
|
||||||
|
Chromium#597642
|
||||||
|
origin: >
|
||||||
|
Bootstrap#19810
|
||||||
|
|
||||||
-
|
-
|
||||||
browser: >
|
browser: >
|
||||||
Chrome (Windows & Linux)
|
Chrome (Windows & Linux)
|
||||||
|
@ -218,16 +208,6 @@
|
||||||
origin: >
|
origin: >
|
||||||
Bootstrap#15298
|
Bootstrap#15298
|
||||||
|
|
||||||
-
|
|
||||||
browser: >
|
|
||||||
Safari
|
|
||||||
summary: >
|
|
||||||
`width: 1%` on nested table cell causes its table to hog horizontal space.
|
|
||||||
upstream_bug: >
|
|
||||||
WebKit#144696, Safari#20839572
|
|
||||||
origin: >
|
|
||||||
Bootstrap#16372
|
|
||||||
|
|
||||||
-
|
-
|
||||||
browser: >
|
browser: >
|
||||||
Safari
|
Safari
|
||||||
|
@ -370,6 +350,16 @@
|
||||||
origin: >
|
origin: >
|
||||||
Bootstrap#14839
|
Bootstrap#14839
|
||||||
|
|
||||||
|
-
|
||||||
|
browser: >
|
||||||
|
Safari (iOS)
|
||||||
|
summary: >
|
||||||
|
Tapping from one `<input>` to another in an overlay can cause shaking/jiggling effect
|
||||||
|
upstream_bug: >
|
||||||
|
WebKit#158276
|
||||||
|
origin: >
|
||||||
|
Bootstrap#19927
|
||||||
|
|
||||||
-
|
-
|
||||||
browser: >
|
browser: >
|
||||||
Safari (iPad Pro)
|
Safari (iPad Pro)
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
// IT'S JUST JUNK FOR OUR DOCS!
|
// IT'S JUST JUNK FOR OUR DOCS!
|
||||||
// ++++++++++++++++++++++++++++++++++++++++++
|
// ++++++++++++++++++++++++++++++++++++++++++
|
||||||
/*!
|
/*!
|
||||||
|
* Copyright 2014-2015 The Bootstrap Authors
|
||||||
* Copyright 2014-2015 Twitter, Inc.
|
* Copyright 2014-2015 Twitter, Inc.
|
||||||
*
|
*
|
||||||
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
|
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*!
|
/*!
|
||||||
* IE10 viewport hack for Surface/desktop Windows 8 bug
|
* IE10 viewport hack for Surface/desktop Windows 8 bug
|
||||||
|
* Copyright 2014-2015 The Bootstrap Authors
|
||||||
* Copyright 2014-2015 Twitter, Inc.
|
* Copyright 2014-2015 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* JavaScript for Bootstrap's docs (http://getbootstrap.com)
|
* JavaScript for Bootstrap's docs (http://getbootstrap.com)
|
||||||
|
* Copyright 2011-2016 The Bootstrap Authors
|
||||||
* Copyright 2011-2016 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
|
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
|
||||||
* details, see https://creativecommons.org/licenses/by/3.0/.
|
* details, see https://creativecommons.org/licenses/by/3.0/.
|
||||||
|
@ -32,7 +33,7 @@
|
||||||
$('.bd-example-indeterminate [type="checkbox"]').prop('indeterminate', true)
|
$('.bd-example-indeterminate [type="checkbox"]').prop('indeterminate', true)
|
||||||
|
|
||||||
// Disable empty links in docs examples
|
// Disable empty links in docs examples
|
||||||
$('.bd-example [href=#]').click(function (e) {
|
$('.bd-example [href="#"]').click(function (e) {
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,5 +1,6 @@
|
||||||
/*!
|
/*!
|
||||||
* Bootstrap Docs (http://getbootstrap.com)
|
* Bootstrap Docs (http://getbootstrap.com)
|
||||||
|
* Copyright 2011-2016 The Bootstrap Authors
|
||||||
* Copyright 2011-2016 Twitter, Inc.
|
* Copyright 2011-2016 Twitter, Inc.
|
||||||
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
|
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
|
||||||
* details, see https://creativecommons.org/licenses/by/3.0/.
|
* details, see https://creativecommons.org/licenses/by/3.0/.
|
||||||
|
|
|
@ -480,10 +480,6 @@ Bootstrap's modal class exposes a few events for hooking into modal functionalit
|
||||||
<td>hidden.bs.modal</td>
|
<td>hidden.bs.modal</td>
|
||||||
<td>This event is fired when the modal has finished being hidden from the user (will wait for CSS transitions to complete).</td>
|
<td>This event is fired when the modal has finished being hidden from the user (will wait for CSS transitions to complete).</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<td>loaded.bs.modal</td>
|
|
||||||
<td>This event is fired when the modal has loaded content using the <code>remote</code> option.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -28,7 +28,7 @@ Here are our guidelines and reasons for choosing what to override in Reboot:
|
||||||
The `<html>` and `<body>` elements are updated to provide better page-wide defaults. More specifically:
|
The `<html>` and `<body>` elements are updated to provide better page-wide defaults. More specifically:
|
||||||
|
|
||||||
- The `box-sizing` is globally set on every element—including `*:before` and `*:after`, to `border-box`. This ensures that the declared width of element is never exceeded due to padding or border.
|
- The `box-sizing` is globally set on every element—including `*:before` and `*:after`, to `border-box`. This ensures that the declared width of element is never exceeded due to padding or border.
|
||||||
- A base `font-size: 16px` is declared on the `<html>` and `font-size: 1rem` on the `<body>` for easy responsive type-scaling via media queryies.
|
- A base `font-size: 16px` is declared on the `<html>` and `font-size: 1rem` on the `<body>` for easy responsive type-scaling via media queries.
|
||||||
- The `<body>` also sets a global `font-family` and `line-height`. This is inherited later by some form elements to prevent font inconsistencies.
|
- The `<body>` also sets a global `font-family` and `line-height`. This is inherited later by some form elements to prevent font inconsistencies.
|
||||||
- For safety, the `<body>` has a declared `background-color`, defaulting to `#fff`.
|
- For safety, the `<body>` has a declared `background-color`, defaulting to `#fff`.
|
||||||
|
|
||||||
|
|
|
@ -115,7 +115,7 @@
|
||||||
<!-- Bootstrap core JavaScript
|
<!-- Bootstrap core JavaScript
|
||||||
================================================== -->
|
================================================== -->
|
||||||
<!-- Placed at the end of the document so the pages load faster -->
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js" integrity="sha384-mXQoED/lFIuocc//nss8aJOIrz7X7XruhR6bO+sGceiSyMELoVdZkN7F0oYwcFH+" crossorigin="anonymous"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js" integrity="sha384-rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB" crossorigin="anonymous"></script>
|
||||||
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
||||||
<script src="../../assets/js/vendor/holder.min.js"></script>
|
<script src="../../assets/js/vendor/holder.min.js"></script>
|
||||||
|
|
|
@ -158,7 +158,7 @@
|
||||||
<!-- Bootstrap core JavaScript
|
<!-- Bootstrap core JavaScript
|
||||||
================================================== -->
|
================================================== -->
|
||||||
<!-- Placed at the end of the document so the pages load faster -->
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js" integrity="sha384-mXQoED/lFIuocc//nss8aJOIrz7X7XruhR6bO+sGceiSyMELoVdZkN7F0oYwcFH+" crossorigin="anonymous"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js" integrity="sha384-rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB" crossorigin="anonymous"></script>
|
||||||
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
||||||
<script src="../../dist/js/bootstrap.min.js"></script>
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
|
|
@ -174,7 +174,7 @@
|
||||||
<!-- Bootstrap core JavaScript
|
<!-- Bootstrap core JavaScript
|
||||||
================================================== -->
|
================================================== -->
|
||||||
<!-- Placed at the end of the document so the pages load faster -->
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js" integrity="sha384-mXQoED/lFIuocc//nss8aJOIrz7X7XruhR6bO+sGceiSyMELoVdZkN7F0oYwcFH+" crossorigin="anonymous"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js" integrity="sha384-rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB" crossorigin="anonymous"></script>
|
||||||
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
||||||
<script src="../../dist/js/bootstrap.min.js"></script>
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
|
|
@ -60,7 +60,7 @@
|
||||||
<!-- Bootstrap core JavaScript
|
<!-- Bootstrap core JavaScript
|
||||||
================================================== -->
|
================================================== -->
|
||||||
<!-- Placed at the end of the document so the pages load faster -->
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js" integrity="sha384-mXQoED/lFIuocc//nss8aJOIrz7X7XruhR6bO+sGceiSyMELoVdZkN7F0oYwcFH+" crossorigin="anonymous"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js" integrity="sha384-rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB" crossorigin="anonymous"></script>
|
||||||
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
||||||
<script src="../../dist/js/bootstrap.min.js"></script>
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
|
|
@ -224,7 +224,7 @@
|
||||||
<!-- Bootstrap core JavaScript
|
<!-- Bootstrap core JavaScript
|
||||||
================================================== -->
|
================================================== -->
|
||||||
<!-- Placed at the end of the document so the pages load faster -->
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js" integrity="sha384-mXQoED/lFIuocc//nss8aJOIrz7X7XruhR6bO+sGceiSyMELoVdZkN7F0oYwcFH+" crossorigin="anonymous"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js" integrity="sha384-rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB" crossorigin="anonymous"></script>
|
||||||
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
||||||
<script src="../../dist/js/bootstrap.min.js"></script>
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
|
|
@ -75,7 +75,7 @@
|
||||||
<!-- Bootstrap core JavaScript
|
<!-- Bootstrap core JavaScript
|
||||||
================================================== -->
|
================================================== -->
|
||||||
<!-- Placed at the end of the document so the pages load faster -->
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js" integrity="sha384-mXQoED/lFIuocc//nss8aJOIrz7X7XruhR6bO+sGceiSyMELoVdZkN7F0oYwcFH+" crossorigin="anonymous"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js" integrity="sha384-rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB" crossorigin="anonymous"></script>
|
||||||
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
||||||
<script src="../../dist/js/bootstrap.min.js"></script>
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
<!-- Bootstrap core JavaScript
|
<!-- Bootstrap core JavaScript
|
||||||
================================================== -->
|
================================================== -->
|
||||||
<!-- Placed at the end of the document so the pages load faster -->
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js" integrity="sha384-mXQoED/lFIuocc//nss8aJOIrz7X7XruhR6bO+sGceiSyMELoVdZkN7F0oYwcFH+" crossorigin="anonymous"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js" integrity="sha384-rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB" crossorigin="anonymous"></script>
|
||||||
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
||||||
<script src="../../dist/js/bootstrap.min.js"></script>
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
<!-- Bootstrap core JavaScript
|
<!-- Bootstrap core JavaScript
|
||||||
================================================== -->
|
================================================== -->
|
||||||
<!-- Placed at the end of the document so the pages load faster -->
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js" integrity="sha384-mXQoED/lFIuocc//nss8aJOIrz7X7XruhR6bO+sGceiSyMELoVdZkN7F0oYwcFH+" crossorigin="anonymous"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js" integrity="sha384-rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB" crossorigin="anonymous"></script>
|
||||||
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
||||||
<script src="../../dist/js/bootstrap.min.js"></script>
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
|
|
@ -64,7 +64,7 @@
|
||||||
<!-- Bootstrap core JavaScript
|
<!-- Bootstrap core JavaScript
|
||||||
================================================== -->
|
================================================== -->
|
||||||
<!-- Placed at the end of the document so the pages load faster -->
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js" integrity="sha384-mXQoED/lFIuocc//nss8aJOIrz7X7XruhR6bO+sGceiSyMELoVdZkN7F0oYwcFH+" crossorigin="anonymous"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js" integrity="sha384-rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB" crossorigin="anonymous"></script>
|
||||||
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
||||||
<script src="../../dist/js/bootstrap.min.js"></script>
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
|
|
@ -104,7 +104,7 @@
|
||||||
<!-- Bootstrap core JavaScript
|
<!-- Bootstrap core JavaScript
|
||||||
================================================== -->
|
================================================== -->
|
||||||
<!-- Placed at the end of the document so the pages load faster -->
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js" integrity="sha384-mXQoED/lFIuocc//nss8aJOIrz7X7XruhR6bO+sGceiSyMELoVdZkN7F0oYwcFH+" crossorigin="anonymous"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js" integrity="sha384-rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB" crossorigin="anonymous"></script>
|
||||||
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
||||||
<script src="../../dist/js/bootstrap.min.js"></script>
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
|
|
@ -48,7 +48,7 @@
|
||||||
<!-- Bootstrap core JavaScript
|
<!-- Bootstrap core JavaScript
|
||||||
================================================== -->
|
================================================== -->
|
||||||
<!-- Placed at the end of the document so the pages load faster -->
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js" integrity="sha384-mXQoED/lFIuocc//nss8aJOIrz7X7XruhR6bO+sGceiSyMELoVdZkN7F0oYwcFH+" crossorigin="anonymous"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js" integrity="sha384-rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB" crossorigin="anonymous"></script>
|
||||||
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
||||||
<script src="../../dist/js/bootstrap.min.js"></script>
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
<!-- Bootstrap core JavaScript
|
<!-- Bootstrap core JavaScript
|
||||||
================================================== -->
|
================================================== -->
|
||||||
<!-- Placed at the end of the document so the pages load faster -->
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js" integrity="sha384-mXQoED/lFIuocc//nss8aJOIrz7X7XruhR6bO+sGceiSyMELoVdZkN7F0oYwcFH+" crossorigin="anonymous"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js" integrity="sha384-rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB" crossorigin="anonymous"></script>
|
||||||
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
||||||
<script src="../../dist/js/bootstrap.min.js"></script>
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
<!-- Bootstrap core JavaScript
|
<!-- Bootstrap core JavaScript
|
||||||
================================================== -->
|
================================================== -->
|
||||||
<!-- Placed at the end of the document so the pages load faster -->
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js" integrity="sha384-mXQoED/lFIuocc//nss8aJOIrz7X7XruhR6bO+sGceiSyMELoVdZkN7F0oYwcFH+" crossorigin="anonymous"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js" integrity="sha384-rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB" crossorigin="anonymous"></script>
|
||||||
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
|
||||||
<script src="../../dist/js/bootstrap.min.js"></script>
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
|
|
@ -174,6 +174,7 @@ See [this StackOverflow question](https://stackoverflow.com/questions/6771258/wh
|
||||||
Internet Explorer 10 in Windows Phone 8 versions older than [Update 3 (a.k.a. GDR3)](http://blogs.windows.com/windows_phone/b/wpdev/archive/2013/10/14/introducing-windows-phone-preview-for-developers.aspx) doesn't differentiate **device width** from **viewport width** in `@-ms-viewport` at-rules, and thus doesn't properly apply the media queries in Bootstrap's CSS. To address this, you'll need to **include the following JavaScript to work around the bug**.
|
Internet Explorer 10 in Windows Phone 8 versions older than [Update 3 (a.k.a. GDR3)](http://blogs.windows.com/windows_phone/b/wpdev/archive/2013/10/14/introducing-windows-phone-preview-for-developers.aspx) doesn't differentiate **device width** from **viewport width** in `@-ms-viewport` at-rules, and thus doesn't properly apply the media queries in Bootstrap's CSS. To address this, you'll need to **include the following JavaScript to work around the bug**.
|
||||||
|
|
||||||
{% highlight js %}
|
{% highlight js %}
|
||||||
|
// Copyright 2014-2015 The Bootstrap Authors
|
||||||
// Copyright 2014-2015 Twitter, Inc.
|
// Copyright 2014-2015 Twitter, Inc.
|
||||||
// Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
// Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
|
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
|
||||||
|
|
|
@ -123,7 +123,10 @@ New to Bootstrap 4 is the Reboot, a new stylesheet that builds on Normalize with
|
||||||
### List groups
|
### List groups
|
||||||
|
|
||||||
- Replaced `a.list-group-item` with an explicit class, `.list-group-item-action`, for styling link and button versions of list group items.
|
- Replaced `a.list-group-item` with an explicit class, `.list-group-item-action`, for styling link and button versions of list group items.
|
||||||
-
|
|
||||||
|
### Modal
|
||||||
|
|
||||||
|
- The `remote` option (which could be used to automatically load and inject external content into a modal) and the correspending `loaded.bs.modal` event were removed. We recommend instead using client-side templating or a data binding framework, or calling [jQuery.load](http://api.jquery.com/load/) yourself.
|
||||||
|
|
||||||
### Navs
|
### Navs
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
/*!
|
/*!
|
||||||
* Bootstrap Grunt task for the CommonJS module generation
|
* Bootstrap Grunt task for the CommonJS module generation
|
||||||
* http://getbootstrap.com
|
* http://getbootstrap.com
|
||||||
|
* Copyright 2014-2015 The Bootstrap Authors
|
||||||
* Copyright 2014-2015 Twitter, Inc.
|
* Copyright 2014-2015 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Script to update version number references in the project.
|
* Script to update version number references in the project.
|
||||||
|
* Copyright 2015 The Bootstrap Authors
|
||||||
* Copyright 2015 Twitter, Inc.
|
* Copyright 2015 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
*/
|
*/
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,8 +1,13 @@
|
||||||
{
|
{
|
||||||
"root": true,
|
"root": true,
|
||||||
"parser": "babel-eslint",
|
"parser": "babel-eslint",
|
||||||
|
"parserOptions": {
|
||||||
|
"ecmaVersion": 6,
|
||||||
|
"sourceType": "module"
|
||||||
|
},
|
||||||
"env": {
|
"env": {
|
||||||
"browser": true,
|
"browser": true,
|
||||||
|
"es6": true,
|
||||||
"jquery": true
|
"jquery": true
|
||||||
},
|
},
|
||||||
"rules": {
|
"rules": {
|
||||||
|
@ -21,6 +26,7 @@
|
||||||
"no-duplicate-case": 2,
|
"no-duplicate-case": 2,
|
||||||
"no-empty": 2,
|
"no-empty": 2,
|
||||||
"no-empty-character-class": 2,
|
"no-empty-character-class": 2,
|
||||||
|
"no-empty-pattern": 2,
|
||||||
"no-ex-assign": 2,
|
"no-ex-assign": 2,
|
||||||
"no-extra-boolean-cast": 2,
|
"no-extra-boolean-cast": 2,
|
||||||
"no-extra-parens": 0,
|
"no-extra-parens": 0,
|
||||||
|
@ -32,6 +38,7 @@
|
||||||
"no-negated-in-lhs": 2,
|
"no-negated-in-lhs": 2,
|
||||||
"no-obj-calls": 2,
|
"no-obj-calls": 2,
|
||||||
"no-regex-spaces": 2,
|
"no-regex-spaces": 2,
|
||||||
|
"no-self-assign": 2,
|
||||||
"no-sparse-arrays": 2,
|
"no-sparse-arrays": 2,
|
||||||
"no-unexpected-multiline": 2,
|
"no-unexpected-multiline": 2,
|
||||||
"no-unreachable": 2,
|
"no-unreachable": 2,
|
||||||
|
@ -51,9 +58,9 @@
|
||||||
"guard-for-in": 2,
|
"guard-for-in": 2,
|
||||||
"no-alert": 2,
|
"no-alert": 2,
|
||||||
"no-caller": 2,
|
"no-caller": 2,
|
||||||
|
"no-case-declarations": 2,
|
||||||
"no-div-regex": 2,
|
"no-div-regex": 2,
|
||||||
"no-else-return": 2,
|
"no-else-return": 2,
|
||||||
"no-empty-label": 2,
|
|
||||||
"no-eq-null": 2,
|
"no-eq-null": 2,
|
||||||
"no-eval": 2,
|
"no-eval": 2,
|
||||||
"no-extend-native": 2,
|
"no-extend-native": 2,
|
||||||
|
@ -67,6 +74,7 @@
|
||||||
"no-labels": 2,
|
"no-labels": 2,
|
||||||
"no-lone-blocks": 2,
|
"no-lone-blocks": 2,
|
||||||
"no-loop-func": 2,
|
"no-loop-func": 2,
|
||||||
|
"no-magic-numbers": [2, {"ignore": [-1, 0, 1]}],
|
||||||
"no-multi-spaces": 0,
|
"no-multi-spaces": 0,
|
||||||
"no-multi-str": 2,
|
"no-multi-str": 2,
|
||||||
"no-native-reassign": 2,
|
"no-native-reassign": 2,
|
||||||
|
@ -122,6 +130,7 @@
|
||||||
"func-style": 0,
|
"func-style": 0,
|
||||||
"indent": [2, 2, {"SwitchCase": 1}],
|
"indent": [2, 2, {"SwitchCase": 1}],
|
||||||
"key-spacing": 0,
|
"key-spacing": 0,
|
||||||
|
"keyword-spacing": 2,
|
||||||
"linebreak-style": 2,
|
"linebreak-style": 2,
|
||||||
"lines-around-comment": 0,
|
"lines-around-comment": 0,
|
||||||
"new-cap": 0,
|
"new-cap": 0,
|
||||||
|
@ -150,13 +159,11 @@
|
||||||
"semi": [2, "never"],
|
"semi": [2, "never"],
|
||||||
"semi-spacing": 2,
|
"semi-spacing": 2,
|
||||||
"sort-vars": 2,
|
"sort-vars": 2,
|
||||||
"space-after-keywords": 2,
|
|
||||||
"space-before-blocks": 2,
|
"space-before-blocks": 2,
|
||||||
"space-before-function-paren": 0,
|
"space-before-function-paren": 0,
|
||||||
"spaced-comment": 2,
|
"spaced-comment": 2,
|
||||||
"space-infix-ops": 2,
|
"space-infix-ops": 2,
|
||||||
"space-in-parens": 2,
|
"space-in-parens": 2,
|
||||||
"space-return-throw-case": 2,
|
|
||||||
"space-unary-ops": 2,
|
"space-unary-ops": 2,
|
||||||
|
|
||||||
// es6
|
// es6
|
||||||
|
@ -167,6 +174,7 @@
|
||||||
"no-class-assign": 2,
|
"no-class-assign": 2,
|
||||||
"no-const-assign": 2,
|
"no-const-assign": 2,
|
||||||
"no-dupe-class-members": 2,
|
"no-dupe-class-members": 2,
|
||||||
|
"no-new-symbol": 2,
|
||||||
"no-this-before-super": 2,
|
"no-this-before-super": 2,
|
||||||
"no-var": 2,
|
"no-var": 2,
|
||||||
"object-shorthand": 2,
|
"object-shorthand": 2,
|
|
@ -24,6 +24,8 @@ const Carousel = (($) => {
|
||||||
const DATA_API_KEY = '.data-api'
|
const DATA_API_KEY = '.data-api'
|
||||||
const JQUERY_NO_CONFLICT = $.fn[NAME]
|
const JQUERY_NO_CONFLICT = $.fn[NAME]
|
||||||
const TRANSITION_DURATION = 600
|
const TRANSITION_DURATION = 600
|
||||||
|
const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key
|
||||||
|
const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key
|
||||||
|
|
||||||
const Default = {
|
const Default = {
|
||||||
interval : 5000,
|
interval : 5000,
|
||||||
|
@ -236,8 +238,8 @@ const Carousel = (($) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (event.which) {
|
switch (event.which) {
|
||||||
case 37: this.prev(); break
|
case ARROW_LEFT_KEYCODE: this.prev(); break
|
||||||
case 39: this.next(); break
|
case ARROW_RIGHT_KEYCODE: this.next(); break
|
||||||
default: return
|
default: return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,12 +17,16 @@ const Dropdown = (($) => {
|
||||||
* ------------------------------------------------------------------------
|
* ------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const NAME = 'dropdown'
|
const NAME = 'dropdown'
|
||||||
const VERSION = '4.0.0-alpha.2'
|
const VERSION = '4.0.0-alpha.2'
|
||||||
const DATA_KEY = 'bs.dropdown'
|
const DATA_KEY = 'bs.dropdown'
|
||||||
const EVENT_KEY = `.${DATA_KEY}`
|
const EVENT_KEY = `.${DATA_KEY}`
|
||||||
const DATA_API_KEY = '.data-api'
|
const DATA_API_KEY = '.data-api'
|
||||||
const JQUERY_NO_CONFLICT = $.fn[NAME]
|
const JQUERY_NO_CONFLICT = $.fn[NAME]
|
||||||
|
const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key
|
||||||
|
const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key
|
||||||
|
const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key
|
||||||
|
const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)
|
||||||
|
|
||||||
const Event = {
|
const Event = {
|
||||||
HIDE : `hide${EVENT_KEY}`,
|
HIDE : `hide${EVENT_KEY}`,
|
||||||
|
@ -152,7 +156,7 @@ const Dropdown = (($) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
static _clearMenus(event) {
|
static _clearMenus(event) {
|
||||||
if (event && event.which === 3) {
|
if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -218,10 +222,10 @@ const Dropdown = (($) => {
|
||||||
let parent = Dropdown._getParentFromElement(this)
|
let parent = Dropdown._getParentFromElement(this)
|
||||||
let isActive = $(parent).hasClass(ClassName.OPEN)
|
let isActive = $(parent).hasClass(ClassName.OPEN)
|
||||||
|
|
||||||
if ((!isActive && event.which !== 27) ||
|
if ((!isActive && event.which !== ESCAPE_KEYCODE) ||
|
||||||
(isActive && event.which === 27)) {
|
(isActive && event.which === ESCAPE_KEYCODE)) {
|
||||||
|
|
||||||
if (event.which === 27) {
|
if (event.which === ESCAPE_KEYCODE) {
|
||||||
let toggle = $(parent).find(Selector.DATA_TOGGLE)[0]
|
let toggle = $(parent).find(Selector.DATA_TOGGLE)[0]
|
||||||
$(toggle).trigger('focus')
|
$(toggle).trigger('focus')
|
||||||
}
|
}
|
||||||
|
@ -242,11 +246,11 @@ const Dropdown = (($) => {
|
||||||
|
|
||||||
let index = items.indexOf(event.target)
|
let index = items.indexOf(event.target)
|
||||||
|
|
||||||
if (event.which === 38 && index > 0) { // up
|
if (event.which === ARROW_UP_KEYCODE && index > 0) { // up
|
||||||
index--
|
index--
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.which === 40 && index < items.length - 1) { // down
|
if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // down
|
||||||
index++
|
index++
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,7 @@ const Modal = (($) => {
|
||||||
const JQUERY_NO_CONFLICT = $.fn[NAME]
|
const JQUERY_NO_CONFLICT = $.fn[NAME]
|
||||||
const TRANSITION_DURATION = 300
|
const TRANSITION_DURATION = 300
|
||||||
const BACKDROP_TRANSITION_DURATION = 150
|
const BACKDROP_TRANSITION_DURATION = 150
|
||||||
|
const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key
|
||||||
|
|
||||||
const Default = {
|
const Default = {
|
||||||
backdrop : true,
|
backdrop : true,
|
||||||
|
@ -271,7 +272,7 @@ const Modal = (($) => {
|
||||||
_setEscapeEvent() {
|
_setEscapeEvent() {
|
||||||
if (this._isShown && this._config.keyboard) {
|
if (this._isShown && this._config.keyboard) {
|
||||||
$(this._element).on(Event.KEYDOWN_DISMISS, (event) => {
|
$(this._element).on(Event.KEYDOWN_DISMISS, (event) => {
|
||||||
if (event.which === 27) {
|
if (event.which === ESCAPE_KEYCODE) {
|
||||||
this.hide()
|
this.hide()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -400,7 +401,7 @@ const Modal = (($) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this._isBodyOverflowing && !isModalOverflowing) {
|
if (this._isBodyOverflowing && !isModalOverflowing) {
|
||||||
this._element.style.paddingRight = `${this._scrollbarWidth}px~`
|
this._element.style.paddingRight = `${this._scrollbarWidth}px`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -140,6 +140,7 @@ const ScrollSpy = (($) => {
|
||||||
targetSelector
|
targetSelector
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
return null
|
||||||
})
|
})
|
||||||
.filter((item) => item)
|
.filter((item) => item)
|
||||||
.sort((a, b) => a[0] - b[0])
|
.sort((a, b) => a[0] - b[0])
|
||||||
|
|
|
@ -16,6 +16,8 @@ const Util = (($) => {
|
||||||
|
|
||||||
let transition = false
|
let transition = false
|
||||||
|
|
||||||
|
const MAX_UID = 1000000
|
||||||
|
|
||||||
const TransitionEndEvent = {
|
const TransitionEndEvent = {
|
||||||
WebkitTransition : 'webkitTransitionEnd',
|
WebkitTransition : 'webkitTransitionEnd',
|
||||||
MozTransition : 'transitionend',
|
MozTransition : 'transitionend',
|
||||||
|
@ -40,6 +42,7 @@ const Util = (($) => {
|
||||||
if ($(event.target).is(this)) {
|
if ($(event.target).is(this)) {
|
||||||
return event.handleObj.handler.apply(this, arguments)
|
return event.handleObj.handler.apply(this, arguments)
|
||||||
}
|
}
|
||||||
|
return undefined
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -100,7 +103,7 @@ const Util = (($) => {
|
||||||
getUID(prefix) {
|
getUID(prefix) {
|
||||||
do {
|
do {
|
||||||
/* eslint-disable no-bitwise */
|
/* eslint-disable no-bitwise */
|
||||||
prefix += ~~(Math.random() * 1000000) // "~~" acts like a faster Math.floor() here
|
prefix += ~~(Math.random() * MAX_UID) // "~~" acts like a faster Math.floor() here
|
||||||
/* eslint-enable no-bitwise */
|
/* eslint-enable no-bitwise */
|
||||||
} while (document.getElementById(prefix))
|
} while (document.getElementById(prefix))
|
||||||
return prefix
|
return prefix
|
||||||
|
|
|
@ -81,7 +81,7 @@ $(function () {
|
||||||
.find('#scrollspy-example')
|
.find('#scrollspy-example')
|
||||||
.bootstrapScrollspy({ target: '#ss-target' })
|
.bootstrapScrollspy({ target: '#ss-target' })
|
||||||
|
|
||||||
$scrollspy.on('scroll.bs.scrollspy', function () {
|
$scrollspy.one('scroll', function () {
|
||||||
assert.ok($section.hasClass('active'), '"active" class still on root node')
|
assert.ok($section.hasClass('active'), '"active" class still on root node')
|
||||||
done()
|
done()
|
||||||
})
|
})
|
||||||
|
@ -126,7 +126,7 @@ $(function () {
|
||||||
.find('#scrollspy-example')
|
.find('#scrollspy-example')
|
||||||
.bootstrapScrollspy({ target: document.getElementById('#ss-target') })
|
.bootstrapScrollspy({ target: document.getElementById('#ss-target') })
|
||||||
|
|
||||||
$scrollspy.on('scroll.bs.scrollspy', function () {
|
$scrollspy.one('scroll', function () {
|
||||||
assert.ok($section.hasClass('active'), '"active" class still on root node')
|
assert.ok($section.hasClass('active'), '"active" class still on root node')
|
||||||
done()
|
done()
|
||||||
})
|
})
|
||||||
|
@ -158,7 +158,7 @@ $(function () {
|
||||||
|
|
||||||
$scrollspy.bootstrapScrollspy({ target: '#navigation', offset: $scrollspy.position().top })
|
$scrollspy.bootstrapScrollspy({ target: '#navigation', offset: $scrollspy.position().top })
|
||||||
|
|
||||||
$scrollspy.on('scroll.bs.scrollspy', function () {
|
$scrollspy.one('scroll', function () {
|
||||||
assert.ok(!$section.find('#one-link').hasClass('active'), '"active" class removed from first section')
|
assert.ok(!$section.find('#one-link').hasClass('active'), '"active" class removed from first section')
|
||||||
assert.ok($section.find('#two-link').hasClass('active'), '"active" class on middle section')
|
assert.ok($section.find('#two-link').hasClass('active'), '"active" class on middle section')
|
||||||
assert.ok(!$section.find('#three-link').hasClass('active'), '"active" class not on last section')
|
assert.ok(!$section.find('#three-link').hasClass('active'), '"active" class not on last section')
|
||||||
|
@ -272,11 +272,11 @@ $(function () {
|
||||||
target: '#navigation',
|
target: '#navigation',
|
||||||
offset: $scrollspy.position().top
|
offset: $scrollspy.position().top
|
||||||
})
|
})
|
||||||
.one('scroll.bs.scrollspy', function () {
|
.one('scroll', function () {
|
||||||
assert.strictEqual($('.active').length, 1, '"active" class on only one element present')
|
assert.strictEqual($('.active').length, 1, '"active" class on only one element present')
|
||||||
assert.strictEqual($('.active').is('#two-link'), true, '"active" class on second section')
|
assert.strictEqual($('.active').is('#two-link'), true, '"active" class on second section')
|
||||||
$scrollspy
|
$scrollspy
|
||||||
.one('scroll.bs.scrollspy', function () {
|
.one('scroll', function () {
|
||||||
assert.strictEqual($('.active').length, 0, 'selection cleared')
|
assert.strictEqual($('.active').length, 0, 'selection cleared')
|
||||||
done()
|
done()
|
||||||
})
|
})
|
||||||
|
@ -357,12 +357,12 @@ $(function () {
|
||||||
.appendTo('#qunit-fixture')
|
.appendTo('#qunit-fixture')
|
||||||
|
|
||||||
if (type === 'js') $content.bootstrapScrollspy({ target: '.navbar', offset: 0, method: 'offset' })
|
if (type === 'js') $content.bootstrapScrollspy({ target: '.navbar', offset: 0, method: 'offset' })
|
||||||
else if (type === 'data') $(window).trigger('load.bs.scrollspy.data-api')
|
else if (type === 'data') $(window).trigger('load')
|
||||||
|
|
||||||
var $target = $('#div-' + type + 'm-2')
|
var $target = $('#div-' + type + 'm-2')
|
||||||
var scrollspy = $content.data('bs.scrollspy')
|
var scrollspy = $content.data('bs.scrollspy')
|
||||||
|
|
||||||
assert.ok(scrollspy._offsets[1] === $target.offset().top, 'offsed method with ' + type + ' option')
|
assert.ok(scrollspy._offsets[1] === $target.offset().top, 'offset method with ' + type + ' option')
|
||||||
assert.ok(scrollspy._offsets[1] !== $target.position().top, 'position method with ' + type + ' option')
|
assert.ok(scrollspy._offsets[1] !== $target.position().top, 'position method with ' + type + ' option')
|
||||||
|
|
||||||
deferred.resolve()
|
deferred.resolve()
|
||||||
|
@ -400,12 +400,12 @@ $(function () {
|
||||||
.appendTo('#qunit-fixture')
|
.appendTo('#qunit-fixture')
|
||||||
|
|
||||||
if (type === 'js') $content.bootstrapScrollspy({ target: '.navbar', offset: 0, method: 'position' })
|
if (type === 'js') $content.bootstrapScrollspy({ target: '.navbar', offset: 0, method: 'position' })
|
||||||
else if (type === 'data') $(window).trigger('load.bs.scrollspy.data-api')
|
else if (type === 'data') $(window).trigger('load')
|
||||||
|
|
||||||
var $target = $('#div-' + type + 'm-2')
|
var $target = $('#div-' + type + 'm-2')
|
||||||
var scrollspy = $content.data('bs.scrollspy')
|
var scrollspy = $content.data('bs.scrollspy')
|
||||||
|
|
||||||
assert.ok(scrollspy._offsets[1] !== $target.offset().top, 'offsed method with ' + type + ' option')
|
assert.ok(scrollspy._offsets[1] !== $target.offset().top, 'offset method with ' + type + ' option')
|
||||||
assert.ok(scrollspy._offsets[1] === $target.position().top, 'position method with ' + type + ' option')
|
assert.ok(scrollspy._offsets[1] === $target.position().top, 'position method with ' + type + ' option')
|
||||||
|
|
||||||
deferred.resolve()
|
deferred.resolve()
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -4,7 +4,7 @@
|
||||||
<id>bootstrap</id>
|
<id>bootstrap</id>
|
||||||
<version>4.0.0-alpha</version>
|
<version>4.0.0-alpha</version>
|
||||||
<title>Bootstrap CSS</title>
|
<title>Bootstrap CSS</title>
|
||||||
<authors>Twitter, Inc.</authors>
|
<authors>The Bootstrap 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>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<id>bootstrap.sass</id>
|
<id>bootstrap.sass</id>
|
||||||
<version>4.0.0-alpha</version>
|
<version>4.0.0-alpha</version>
|
||||||
<title>Bootstrap Sass</title>
|
<title>Bootstrap Sass</title>
|
||||||
<authors>Twitter, Inc.</authors>
|
<authors>The Bootstrap 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>
|
||||||
|
|
10
package.json
10
package.json
|
@ -12,11 +12,13 @@
|
||||||
"web"
|
"web"
|
||||||
],
|
],
|
||||||
"homepage": "http://getbootstrap.com",
|
"homepage": "http://getbootstrap.com",
|
||||||
"author": "Twitter, Inc.",
|
"author": "The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)",
|
||||||
|
"contributors": ["Twitter, Inc."],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"change-version": "node grunt/change-version.js",
|
"change-version": "node grunt/change-version.js",
|
||||||
"shrinkwrap": "npm shrinkwrap --dev && mv ./npm-shrinkwrap.json ./grunt/npm-shrinkwrap.json",
|
"shrinkwrap": "npm shrinkwrap --dev && mv ./npm-shrinkwrap.json ./grunt/npm-shrinkwrap.json",
|
||||||
"test": "grunt test"
|
"eslint": "eslint --config js/.eslintrc.json js/src",
|
||||||
|
"test": "npm run eslint && grunt test"
|
||||||
},
|
},
|
||||||
"style": "dist/css/bootstrap.css",
|
"style": "dist/css/bootstrap.css",
|
||||||
"sass": "scss/bootstrap.scss",
|
"sass": "scss/bootstrap.scss",
|
||||||
|
@ -35,7 +37,8 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"autoprefixer": "^6.0.3",
|
"autoprefixer": "^6.0.3",
|
||||||
"babel-eslint": "^4.1.3",
|
"babel-eslint": "^6.0.4",
|
||||||
|
"eslint": "^2.2.0",
|
||||||
"grunt": "^0.4.5",
|
"grunt": "^0.4.5",
|
||||||
"grunt-babel": "^5.0.3",
|
"grunt-babel": "^5.0.3",
|
||||||
"grunt-build-control": "^0.6.0",
|
"grunt-build-control": "^0.6.0",
|
||||||
|
@ -49,7 +52,6 @@
|
||||||
"grunt-contrib-sass": "^1.0.0",
|
"grunt-contrib-sass": "^1.0.0",
|
||||||
"grunt-contrib-uglify": "^1.0.0",
|
"grunt-contrib-uglify": "^1.0.0",
|
||||||
"grunt-contrib-watch": "^1.0.0",
|
"grunt-contrib-watch": "^1.0.0",
|
||||||
"grunt-eslint": "^17.1.0",
|
|
||||||
"grunt-exec": "^0.4.6",
|
"grunt-exec": "^0.4.6",
|
||||||
"grunt-html": "^7.0.0",
|
"grunt-html": "^7.0.0",
|
||||||
"grunt-jekyll": "^0.4.2",
|
"grunt-jekyll": "^0.4.2",
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*!
|
/*!
|
||||||
* Bootstrap v4.0.0-alpha.2 (http://getbootstrap.com)
|
* Bootstrap v4.0.0-alpha.2 (http://getbootstrap.com)
|
||||||
|
* Copyright 2011-2016 The Bootstrap Authors
|
||||||
* Copyright 2011-2016 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)
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue