mirror of
https://github.com/tenrok/bootstrap.git
synced 2026-06-14 18:42:30 +03:00
Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev
This commit is contained in:
@@ -28,10 +28,6 @@ restrictions:
|
|||||||
Use [GitHub's "reactions" feature](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments)
|
Use [GitHub's "reactions" feature](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments)
|
||||||
instead. We reserve the right to delete comments which violate this rule.
|
instead. We reserve the right to delete comments which violate this rule.
|
||||||
|
|
||||||
* Please **do not** open issues or pull requests regarding the code in
|
|
||||||
[`Normalize`](https://github.com/necolas/normalize.css) (open them in
|
|
||||||
its repository).
|
|
||||||
|
|
||||||
* Please **do not** open issues regarding the official themes offered on <https://themes.getbootstrap.com/>.
|
* Please **do not** open issues regarding the official themes offered on <https://themes.getbootstrap.com/>.
|
||||||
Instead, please email any questions or feedback regarding those themes to `themes AT getbootstrap DOT com`.
|
Instead, please email any questions or feedback regarding those themes to `themes AT getbootstrap DOT com`.
|
||||||
|
|
||||||
|
|||||||
+8
-16
@@ -148,20 +148,6 @@ module.exports = function (grunt) {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
jekyll: {
|
|
||||||
options: {
|
|
||||||
bundleExec: true,
|
|
||||||
config: '_config.yml',
|
|
||||||
incremental: false
|
|
||||||
},
|
|
||||||
docs: {},
|
|
||||||
github: {
|
|
||||||
options: {
|
|
||||||
raw: 'github: true'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
watch: {
|
watch: {
|
||||||
src: {
|
src: {
|
||||||
files: '<%= concat.bootstrap.src %>',
|
files: '<%= concat.bootstrap.src %>',
|
||||||
@@ -209,6 +195,12 @@ module.exports = function (grunt) {
|
|||||||
htmllint: {
|
htmllint: {
|
||||||
command: 'npm run htmllint'
|
command: 'npm run htmllint'
|
||||||
},
|
},
|
||||||
|
jekyll: {
|
||||||
|
command: 'npm run jekyll'
|
||||||
|
},
|
||||||
|
'jekyll-github': {
|
||||||
|
command: 'npm run jekyll-github'
|
||||||
|
},
|
||||||
sass: {
|
sass: {
|
||||||
command: 'npm run sass'
|
command: 'npm run sass'
|
||||||
},
|
},
|
||||||
@@ -271,7 +263,7 @@ module.exports = function (grunt) {
|
|||||||
require('time-grunt')(grunt)
|
require('time-grunt')(grunt)
|
||||||
|
|
||||||
// Docs HTML validation task
|
// Docs HTML validation task
|
||||||
grunt.registerTask('validate-html', ['jekyll:docs', 'exec:htmllint', 'exec:htmlhint'])
|
grunt.registerTask('validate-html', ['exec:jekyll', 'exec:htmllint', 'exec:htmlhint'])
|
||||||
|
|
||||||
var runSubset = function (subset) {
|
var runSubset = function (subset) {
|
||||||
return !process.env.TWBS_TEST || process.env.TWBS_TEST === subset
|
return !process.env.TWBS_TEST || process.env.TWBS_TEST === subset
|
||||||
@@ -329,7 +321,7 @@ module.exports = function (grunt) {
|
|||||||
grunt.registerTask('lint-docs-css', ['exec:scss-lint-docs'])
|
grunt.registerTask('lint-docs-css', ['exec:scss-lint-docs'])
|
||||||
grunt.registerTask('docs-js', ['exec:uglify-docs'])
|
grunt.registerTask('docs-js', ['exec:uglify-docs'])
|
||||||
grunt.registerTask('docs', ['lint-docs-css', 'docs-css', 'docs-js', 'clean:docs', 'copy:docs'])
|
grunt.registerTask('docs', ['lint-docs-css', 'docs-css', 'docs-js', 'clean:docs', 'copy:docs'])
|
||||||
grunt.registerTask('docs-github', ['jekyll:github'])
|
grunt.registerTask('docs-github', ['exec:jekyll-github'])
|
||||||
|
|
||||||
grunt.registerTask('prep-release', ['dist', 'docs', 'docs-github', 'compress'])
|
grunt.registerTask('prep-release', ['dist', 'docs', 'docs-github', 'compress'])
|
||||||
|
|
||||||
|
|||||||
@@ -560,17 +560,17 @@ Use contextual classes to color table rows or individual cells.
|
|||||||
<!-- On rows -->
|
<!-- On rows -->
|
||||||
<tr class="table-active">...</tr>
|
<tr class="table-active">...</tr>
|
||||||
<tr class="table-success">...</tr>
|
<tr class="table-success">...</tr>
|
||||||
|
<tr class="table-info">...</tr>
|
||||||
<tr class="table-warning">...</tr>
|
<tr class="table-warning">...</tr>
|
||||||
<tr class="table-danger">...</tr>
|
<tr class="table-danger">...</tr>
|
||||||
<tr class="table-info">...</tr>
|
|
||||||
|
|
||||||
<!-- On cells (`td` or `th`) -->
|
<!-- On cells (`td` or `th`) -->
|
||||||
<tr>
|
<tr>
|
||||||
<td class="table-active">...</td>
|
<td class="table-active">...</td>
|
||||||
<td class="table-success">...</td>
|
<td class="table-success">...</td>
|
||||||
|
<td class="table-info">...</td>
|
||||||
<td class="table-warning">...</td>
|
<td class="table-warning">...</td>
|
||||||
<td class="table-danger">...</td>
|
<td class="table-danger">...</td>
|
||||||
<td class="table-info">...</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
|
|||||||
+45
-84
@@ -2,67 +2,58 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
<title>Bootstrap Plugin Test Suite</title>
|
<title>Bootstrap Plugin Test Suite</title>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
|
|
||||||
<!-- jQuery -->
|
<!-- jQuery -->
|
||||||
<script src="../../docs/assets/js/vendor/jquery-slim.min.js"></script>
|
<script src="../../docs/assets/js/vendor/jquery-slim.min.js"></script>
|
||||||
<script src="../../docs/assets/js/vendor/tether.min.js"></script>
|
<script src="../../docs/assets/js/vendor/tether.min.js"></script>
|
||||||
<script>
|
|
||||||
// Disable jQuery event aliases to ensure we don't accidentally use any of them
|
|
||||||
(function () {
|
|
||||||
var eventAliases = [
|
|
||||||
'blur',
|
|
||||||
'focus',
|
|
||||||
'focusin',
|
|
||||||
'focusout',
|
|
||||||
'load',
|
|
||||||
'resize',
|
|
||||||
'scroll',
|
|
||||||
'unload',
|
|
||||||
'click',
|
|
||||||
'dblclick',
|
|
||||||
'mousedown',
|
|
||||||
'mouseup',
|
|
||||||
'mousemove',
|
|
||||||
'mouseover',
|
|
||||||
'mouseout',
|
|
||||||
'mouseenter',
|
|
||||||
'mouseleave',
|
|
||||||
'change',
|
|
||||||
'select',
|
|
||||||
'submit',
|
|
||||||
'keydown',
|
|
||||||
'keypress',
|
|
||||||
'keyup',
|
|
||||||
'error',
|
|
||||||
'contextmenu',
|
|
||||||
'hover',
|
|
||||||
'bind',
|
|
||||||
'unbind',
|
|
||||||
'delegate',
|
|
||||||
'undelegate'
|
|
||||||
]
|
|
||||||
for (var i = 0; i < eventAliases.length; i++) {
|
|
||||||
var eventAlias = eventAliases[i]
|
|
||||||
$.fn[eventAlias] = function () {
|
|
||||||
throw new Error('Using the ".' + eventAlias + '()" method is not allowed, so that Bootstrap can be compatible with custom jQuery builds which exclude the "event aliases" module that defines said method. See https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md#js')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})()
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- QUnit -->
|
<!-- QUnit -->
|
||||||
<link rel="stylesheet" href="vendor/qunit.css" media="screen">
|
<link rel="stylesheet" href="vendor/qunit.css" media="screen">
|
||||||
<script src="vendor/qunit.js"></script>
|
<script src="vendor/qunit.js"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// See https://github.com/axemclion/grunt-saucelabs#test-result-details-with-qunit
|
// Disable jQuery event aliases to ensure we don't accidentally use any of them
|
||||||
var log = []
|
[
|
||||||
|
'blur',
|
||||||
|
'focus',
|
||||||
|
'focusin',
|
||||||
|
'focusout',
|
||||||
|
'resize',
|
||||||
|
'scroll',
|
||||||
|
'click',
|
||||||
|
'dblclick',
|
||||||
|
'mousedown',
|
||||||
|
'mouseup',
|
||||||
|
'mousemove',
|
||||||
|
'mouseover',
|
||||||
|
'mouseout',
|
||||||
|
'mouseenter',
|
||||||
|
'mouseleave',
|
||||||
|
'change',
|
||||||
|
'select',
|
||||||
|
'submit',
|
||||||
|
'keydown',
|
||||||
|
'keypress',
|
||||||
|
'keyup',
|
||||||
|
'contextmenu'
|
||||||
|
].forEach(function(eventAlias) {
|
||||||
|
$.fn[eventAlias] = function() {
|
||||||
|
throw new Error('Using the ".' + eventAlias + '()" method is not allowed, so that Bootstrap can be compatible with custom jQuery builds which exclude the "event aliases" module that defines said method. See https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md#js')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
// Require assert.expect in each test
|
// Require assert.expect in each test
|
||||||
QUnit.config.requireExpects = true
|
QUnit.config.requireExpects = true
|
||||||
QUnit.done(function (testResults) {
|
|
||||||
|
// See https://github.com/axemclion/grunt-saucelabs#test-result-details-with-qunit
|
||||||
|
var log = []
|
||||||
|
var testName
|
||||||
|
|
||||||
|
QUnit.done(function(testResults) {
|
||||||
var tests = []
|
var tests = []
|
||||||
for (var i = 0, len = log.length; i < len; i++) {
|
for (var i = 0; i < log.length; i++) {
|
||||||
var details = log[i]
|
var details = log[i]
|
||||||
tests.push({
|
tests.push({
|
||||||
name: details.name,
|
name: details.name,
|
||||||
@@ -77,9 +68,8 @@
|
|||||||
window.global_test_results = testResults
|
window.global_test_results = testResults
|
||||||
})
|
})
|
||||||
|
|
||||||
QUnit.testStart(function (testDetails) {
|
QUnit.testStart(function(testDetails) {
|
||||||
$(window).scrollTop(0)
|
QUnit.log(function(details) {
|
||||||
QUnit.log(function (details) {
|
|
||||||
if (!details.result) {
|
if (!details.result) {
|
||||||
details.name = testDetails.name
|
details.name = testDetails.name
|
||||||
log.push(details)
|
log.push(details)
|
||||||
@@ -89,51 +79,23 @@
|
|||||||
|
|
||||||
// Cleanup
|
// Cleanup
|
||||||
QUnit.testDone(function () {
|
QUnit.testDone(function () {
|
||||||
$('#qunit-fixture').empty()
|
|
||||||
$('#modal-test, .modal-backdrop').remove()
|
$('#modal-test, .modal-backdrop').remove()
|
||||||
})
|
})
|
||||||
|
|
||||||
// Display fixture on-screen on iOS to avoid false positives
|
// Display fixture on-screen on iOS to avoid false positives
|
||||||
|
// See https://github.com/twbs/bootstrap/pull/15955
|
||||||
if (/iPhone|iPad|iPod/.test(navigator.userAgent)) {
|
if (/iPhone|iPad|iPod/.test(navigator.userAgent)) {
|
||||||
QUnit.begin(function() {
|
QUnit.begin(function() {
|
||||||
$('#qunit-fixture').css({ top: 0, left: 0 })
|
$('#qunit-fixture').css({ top: 0, left: 0 })
|
||||||
})
|
})
|
||||||
|
|
||||||
QUnit.done(function () {
|
QUnit.done(function() {
|
||||||
$('#qunit-fixture').css({ top: '', left: '' })
|
$('#qunit-fixture').css({ top: '', left: '' })
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Disable deprecated global QUnit method aliases in preparation for QUnit v2
|
|
||||||
(function () {
|
|
||||||
var methodNames = [
|
|
||||||
'async',
|
|
||||||
'asyncTest',
|
|
||||||
'deepEqual',
|
|
||||||
'equal',
|
|
||||||
'expect',
|
|
||||||
'module',
|
|
||||||
'notDeepEqual',
|
|
||||||
'notEqual',
|
|
||||||
'notPropEqual',
|
|
||||||
'notStrictEqual',
|
|
||||||
'ok',
|
|
||||||
'propEqual',
|
|
||||||
'push',
|
|
||||||
'start',
|
|
||||||
'stop',
|
|
||||||
'strictEqual',
|
|
||||||
'test',
|
|
||||||
'throws'
|
|
||||||
];
|
|
||||||
for (var i = 0; i < methodNames.length; i++) {
|
|
||||||
var methodName = methodNames[i];
|
|
||||||
window[methodName] = undefined;
|
|
||||||
}
|
|
||||||
})();
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- es6 Plugin sources -->
|
<!-- Transpiled Plugins -->
|
||||||
<script src="../../js/dist/util.js"></script>
|
<script src="../../js/dist/util.js"></script>
|
||||||
<script src="../../js/dist/alert.js"></script>
|
<script src="../../js/dist/alert.js"></script>
|
||||||
<script src="../../js/dist/button.js"></script>
|
<script src="../../js/dist/button.js"></script>
|
||||||
@@ -146,7 +108,7 @@
|
|||||||
<script src="../../js/dist/tooltip.js"></script>
|
<script src="../../js/dist/tooltip.js"></script>
|
||||||
<script src="../../js/dist/popover.js"></script>
|
<script src="../../js/dist/popover.js"></script>
|
||||||
|
|
||||||
<!-- Unit tests -->
|
<!-- Unit Tests -->
|
||||||
<script src="unit/alert.js"></script>
|
<script src="unit/alert.js"></script>
|
||||||
<script src="unit/button.js"></script>
|
<script src="unit/button.js"></script>
|
||||||
<script src="unit/carousel.js"></script>
|
<script src="unit/carousel.js"></script>
|
||||||
@@ -157,7 +119,6 @@
|
|||||||
<script src="unit/tab.js"></script>
|
<script src="unit/tab.js"></script>
|
||||||
<script src="unit/tooltip.js"></script>
|
<script src="unit/tooltip.js"></script>
|
||||||
<script src="unit/popover.js"></script>
|
<script src="unit/popover.js"></script>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="qunit-container">
|
<div id="qunit-container">
|
||||||
|
|||||||
+2
-1
@@ -23,6 +23,8 @@
|
|||||||
"eslint": "eslint --ignore-path .eslintignore js && eslint --config js/tests/.eslintrc.json --env node grunt Gruntfile.js && eslint --config js/tests/.eslintrc.json docs/assets/js/src docs/assets/js/ie-emulation-modes-warning.js docs/assets/js/ie10-viewport-bug-workaround.js",
|
"eslint": "eslint --ignore-path .eslintignore js && eslint --config js/tests/.eslintrc.json --env node grunt Gruntfile.js && eslint --config js/tests/.eslintrc.json docs/assets/js/src docs/assets/js/ie-emulation-modes-warning.js docs/assets/js/ie10-viewport-bug-workaround.js",
|
||||||
"htmlhint": "htmlhint --config docs/.htmlhintrc _gh_pages/",
|
"htmlhint": "htmlhint --config docs/.htmlhintrc _gh_pages/",
|
||||||
"htmllint": "htmllint --rc docs/.htmllintrc _gh_pages/**/*.html js/tests/visual/*.html",
|
"htmllint": "htmllint --rc docs/.htmllintrc _gh_pages/**/*.html js/tests/visual/*.html",
|
||||||
|
"jekyll": "bundle exec jekyll build",
|
||||||
|
"jekyll-github": "shx echo 'github: true' > $npm_config_tmp/twbsjekyll.yml && npm run jekyll -- --config _config.yml,$npm_config_tmp/twbsjekyll.yml && shx rm $npm_config_tmp/twbsjekyll.yml",
|
||||||
"postcss": "postcss --config grunt/postcss.js --replace dist/css/*.css",
|
"postcss": "postcss --config grunt/postcss.js --replace dist/css/*.css",
|
||||||
"postcss-docs": "postcss --config grunt/postcss.js --no-map --replace docs/assets/css/docs.min.css && postcss --config grunt/postcss.js --no-map --replace docs/examples/**/*.css",
|
"postcss-docs": "postcss --config grunt/postcss.js --no-map --replace docs/assets/css/docs.min.css && postcss --config grunt/postcss.js --no-map --replace docs/examples/**/*.css",
|
||||||
"sass": "node-sass --output-style expanded --source-map true --precision 6 scss/bootstrap.scss dist/css/bootstrap.css && node-sass --output-style expanded --source-map true --precision 6 scss/bootstrap-grid.scss dist/css/bootstrap-grid.css && node-sass --output-style expanded --source-map true --precision 6 scss/bootstrap-reboot.scss dist/css/bootstrap-reboot.css",
|
"sass": "node-sass --output-style expanded --source-map true --precision 6 scss/bootstrap.scss dist/css/bootstrap.css && node-sass --output-style expanded --source-map true --precision 6 scss/bootstrap-grid.scss dist/css/bootstrap-grid.css && node-sass --output-style expanded --source-map true --precision 6 scss/bootstrap-reboot.scss dist/css/bootstrap-reboot.css",
|
||||||
@@ -67,7 +69,6 @@
|
|||||||
"grunt-contrib-qunit": "^1.2.0",
|
"grunt-contrib-qunit": "^1.2.0",
|
||||||
"grunt-contrib-watch": "^1.0.0",
|
"grunt-contrib-watch": "^1.0.0",
|
||||||
"grunt-exec": "^1.0.1",
|
"grunt-exec": "^1.0.1",
|
||||||
"grunt-jekyll": "^0.4.6",
|
|
||||||
"grunt-saucelabs": "^9.0.0",
|
"grunt-saucelabs": "^9.0.0",
|
||||||
"grunt-stamp": "^0.3.0",
|
"grunt-stamp": "^0.3.0",
|
||||||
"htmlhint": "^0.9.13",
|
"htmlhint": "^0.9.13",
|
||||||
|
|||||||
@@ -145,9 +145,7 @@
|
|||||||
background-size: $custom-select-bg-size;
|
background-size: $custom-select-bg-size;
|
||||||
border: $custom-select-border-width solid $custom-select-border-color;
|
border: $custom-select-border-width solid $custom-select-border-color;
|
||||||
@include border-radius($custom-select-border-radius);
|
@include border-radius($custom-select-border-radius);
|
||||||
// Use vendor prefixes as `appearance` isn't part of the CSS spec.
|
appearance: none;
|
||||||
-moz-appearance: none;
|
|
||||||
-webkit-appearance: none;
|
|
||||||
|
|
||||||
&:focus {
|
&:focus {
|
||||||
border-color: $custom-select-focus-border-color;
|
border-color: $custom-select-focus-border-color;
|
||||||
|
|||||||
Reference in New Issue
Block a user