Commit 80144d74 authored by Mark Otto's avatar Mark Otto
Browse files

Merge branch 'v4-dev' into v4-forms-cleanup

parents 325c1d4c 2cc75671
Showing with 305 additions and 158 deletions
+305 -158
fail_on_violations: true
scss:
config_file: scss/.scss-lint.yml
enabled: true
......@@ -6,5 +8,13 @@ scss:
javascript:
enabled: false
eslint:
enabled: true
config_file: js/.eslintrc
jscs:
enabled: true
config_file: js/.jscsrc
ruby:
enabled: false
sudo: false
sudo: required
dist: trusty
language: node_js
git:
depth: 10
......@@ -10,7 +11,6 @@ before_install:
- 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")
- rvm install 2.2
- rvm use 2.2 --fuzzy
- export GEMDIR=$(rvm gemdir)
- npm install -g npm@3
- "export TRAVIS_COMMIT_MSG=\"$(git log --format=%B --no-merges -n 1)\""
- echo "$TRAVIS_COMMIT_MSG" | grep '\[skip validator\]'; export TWBS_DO_VALIDATOR=$?; true
......
......@@ -24,10 +24,16 @@ restrictions:
* Please **do not** derail or troll issues. Keep the discussion on topic and
respect the opinions of others.
* Please **do not** post comments consisting solely of "+1" or ":thumbsup:".
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.
* 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 <http://themes.getbootstrap.com/>. Instead, please email any questions or feedback regarding those themes to `themes AT getbootstrap DOT com`.
* Please **do not** open issues regarding the official themes offered on <http://themes.getbootstrap.com/>.
Instead, please email any questions or feedback regarding those themes to `themes AT getbootstrap DOT com`.
## Issues and labels
......@@ -105,7 +111,7 @@ When feasible, we aim to report such upstream bugs to the relevant browser vendo
| Mozilla | Firefox | Gecko | https://bugzilla.mozilla.org/enter_bug.cgi | "Core" is normally the right product option to choose. |
| Apple | Safari | WebKit | https://bugs.webkit.org/enter_bug.cgi?product=WebKit <br> https://bugreport.apple.com | In Apple's bug reporter, choose "Safari" as the product. |
| Google, Opera | Chrome, Chromium, Opera v15+ | Blink | https://code.google.com/p/chromium/issues/list | Click the "New issue" button. |
| Microsoft | Internet Explorer / Edge | Trident/EdgeHTML | https://connect.microsoft.com/IE/feedback/LoadSubmitFeedbackForm | |
| Microsoft | Edge | EdgeHTML | https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/ | |
### Issues bots
......@@ -235,6 +241,7 @@ includes code changes) and under the terms of the
- 2 spaces (no tabs)
- strict mode
- "Attractive"
- Don't use [jQuery event alias convenience methods](https://github.com/jquery/jquery/blob/master/src/event/alias.js) (such as `$().focus()`). Instead, use [`$().trigger(eventType, ...)`](http://api.jquery.com/trigger/) or [`$().on(eventType, ...)`](http://api.jquery.com/on/), depending on whether you're firing an event or listening for an event. (For example, `$().trigger('focus')` or `$().on('focus', function (event) { /* handle focus event */ })`) We do this to be compatible with custom builds of jQuery where the event aliases module has been excluded.
### Checking coding style
......
source 'https://rubygems.org'
group :development, :test do
gem 'jekyll', '~> 3.1.1'
gem 'jekyll-redirect-from', '~> 0.9.1'
gem 'jekyll', '~> 3.1.2'
gem 'jekyll-redirect-from', '~> 0.10.0'
gem 'jekyll-sitemap', '~> 0.10.0'
gem 'sass', '~> 3.4.21'
gem 'scss_lint', '~> 0.44.0'
gem 'scss_lint', '~> 0.47.1'
end
......@@ -4,7 +4,7 @@ GEM
colorator (0.1)
ffi (1.9.10)
ffi (1.9.10-x64-mingw32)
jekyll (3.1.1)
jekyll (3.1.2)
colorator (~> 0.1)
jekyll-sass-converter (~> 1.0)
jekyll-watch (~> 1.1)
......@@ -13,18 +13,18 @@ GEM
mercenary (~> 0.3.3)
rouge (~> 1.7)
safe_yaml (~> 1.0)
jekyll-redirect-from (0.9.1)
jekyll-redirect-from (0.10.0)
jekyll (>= 2.0)
jekyll-sass-converter (1.4.0)
sass (~> 3.4)
jekyll-sitemap (0.10.0)
jekyll-watch (1.3.1)
listen (~> 3.0)
kramdown (1.9.0)
kramdown (1.10.0)
liquid (3.0.6)
listen (3.0.5)
listen (3.0.6)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
rb-inotify (>= 0.9.7)
mercenary (0.3.5)
rake (10.5.0)
rb-fsevent (0.9.7)
......@@ -33,8 +33,8 @@ GEM
rouge (1.10.1)
safe_yaml (1.0.4)
sass (3.4.21)
scss_lint (0.44.0)
rake (~> 10.0)
scss_lint (0.47.1)
rake (>= 0.9, < 11)
sass (~> 3.4.15)
PLATFORMS
......@@ -42,11 +42,10 @@ PLATFORMS
x64-mingw32
DEPENDENCIES
jekyll (~> 3.1.1)
jekyll-redirect-from (~> 0.9.1)
jekyll (~> 3.1.2)
jekyll-redirect-from (~> 0.10.0)
jekyll-sitemap (~> 0.10.0)
sass (~> 3.4.21)
scss_lint (~> 0.44.0)
scss_lint (~> 0.47.1)
BUNDLED WITH
1.11.2
......@@ -17,9 +17,7 @@ module.exports = function (grunt) {
var fs = require('fs');
var path = require('path');
var glob = require('glob');
var isTravis = require('is-travis');
var npmShrinkwrap = require('npm-shrinkwrap');
var mq4HoverShim = require('mq4-hover-shim');
var autoprefixerSettings = require('./grunt/autoprefixer-settings.js');
var autoprefixer = require('autoprefixer')(autoprefixerSettings);
......@@ -60,17 +58,6 @@ module.exports = function (grunt) {
},
// JS build configuration
lineremover: {
es6Import: {
files: {
'<%= concat.bootstrap.dest %>': '<%= concat.bootstrap.dest %>'
},
options: {
exclusionPattern: /^(import|export)/g
}
}
},
babel: {
dev: {
options: {
......@@ -161,6 +148,10 @@ module.exports = function (grunt) {
concat: {
options: {
// Custom function to remove all export and import statements
process: function (src) {
return src.replace(/^(export|import).*/gm, '');
},
stripBanners: false
},
bootstrap: {
......@@ -217,7 +208,7 @@ module.exports = function (grunt) {
src: ['scss/*.scss', '!scss/_normalize.scss']
},
docs: {
src: ['docs/assets/scss/*.scss', '!scss/_normalize.scss', '!docs/assets/scss/docs.scss']
src: ['docs/assets/scss/*.scss', '!docs/assets/scss/docs.scss']
}
},
......@@ -327,8 +318,7 @@ module.exports = function (grunt) {
'The “datetime-local” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.',
'The “month” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.',
'The “time” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.',
'The “week” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.',
'Attribute “integrity” not allowed on element “script” at this point.' // Until https://github.com/jzaefferer/grunt-html/issues/86 gets fixed
'The “week” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.'
]
},
src: ['_gh_pages/**/*.html', 'js/tests/visual/*.html']
......@@ -450,7 +440,7 @@ module.exports = function (grunt) {
grunt.registerTask('test-js', ['eslint', 'jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']);
// JS distribution task.
grunt.registerTask('dist-js', ['babel:dev', 'concat', 'lineremover', 'babel:dist', 'stamp', 'uglify:core', 'commonjs']);
grunt.registerTask('dist-js', ['babel:dev', 'concat', 'babel:dist', 'stamp', 'uglify:core', 'commonjs']);
grunt.registerTask('test-scss', ['scsslint:core']);
......@@ -492,20 +482,4 @@ module.exports = function (grunt) {
// Publish to GitHub
grunt.registerTask('publish', ['buildcontrol:pages']);
// 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 = 'grunt/npm-shrinkwrap.json';
fs.renameSync('npm-shrinkwrap.json', dest);
grunt.log.writeln('File ' + dest.cyan + ' updated.');
done();
});
});
};
......@@ -41,7 +41,7 @@ cdn:
css_hash: "sha384-y3tfxAZXuh4HwSYylfB+J125MxIs6mR5FOHamPBG064zB+AFeWH94NdvaCBm8qnd"
js: https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/js/bootstrap.min.js
js_hash: "sha384-vZ2WRJMwsjRMW/8U7i6PWi6AlO1L79snBrmgiDpgIWJ82z8eA5lenwvxbMV1PAh7"
jquery: https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js
jquery_hash: "sha384-8gBf6Y4YYq7Jx97PIqmTwLPin4hxIzQw5aDmUg/DDhul9fFpbbLcLh3nTIIDJKhx"
tether: https://cdnjs.cloudflare.com/ajax/libs/tether/1.1.1/js/tether.min.js
tether_hash: "sha384-MWq1Lnqj72tmjGdOKuNBn3E0gj3vWfy/1EmR5TVL8d8nGvwgy32YkCpKpTUhwBVv"
jquery: https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js
jquery_hash: "sha384-mXQoED/lFIuocc//nss8aJOIrz7X7XruhR6bO+sGceiSyMELoVdZkN7F0oYwcFH+"
tether: https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js
tether_hash: "sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB"
......@@ -270,7 +270,7 @@ th {
.dropup > .btn > .caret {
border-top-color: #000 !important;
}
.label {
.tag {
border: 1px solid #000;
}
.table {
......@@ -385,6 +385,20 @@ a:focus {
outline-offset: -2px;
}
a:not([href]) {
color: inherit;
text-decoration: none;
}
a:not([href]):focus, a:not([href]):hover {
color: inherit;
text-decoration: none;
}
a:not([href]):focus {
outline: none;
}
pre {
margin-top: 0;
margin-bottom: 1rem;
......@@ -555,7 +569,7 @@ small,
mark,
.mark {
padding: .2em;
padding: 0.2em;
background-color: #fcf8e3;
}
......@@ -669,7 +683,7 @@ samp {
}
code {
padding: .2rem .4rem;
padding: 0.2rem 0.4rem;
font-size: 90%;
color: #bd4147;
background-color: #f7f7f9;
......@@ -677,7 +691,7 @@ code {
}
kbd {
padding: .2rem .4rem;
padding: 0.2rem 0.4rem;
font-size: 90%;
color: #fff;
background-color: #333;
......@@ -2143,8 +2157,27 @@ select.form-control:not([size]):not([multiple]) {
}
.form-control-label {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
margin-bottom: 0;
}
.form-control-label-lg {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
font-size: 1.25rem;
}
.form-control-label-sm {
padding-top: 0.25rem;
padding-bottom: 0.25rem;
font-size: 0.875rem;
}
.form-control-legend {
padding: 0.5rem 0.75rem;
margin-bottom: 0;
font-size: 1rem;
}
_::-webkit-full-page-media.form-control,
......@@ -2290,6 +2323,10 @@ input[type="checkbox"].disabled {
cursor: not-allowed;
}
.form-control-feedback {
margin-top: .5rem;
}
.form-control-success,
.form-control-warning,
.form-control-danger {
......@@ -2300,7 +2337,7 @@ input[type="checkbox"].disabled {
background-size: 1.25rem 1.25rem;
}
.has-success .text-help,
.has-success .form-control-feedback,
.has-success .form-control-label,
.has-success .radio,
.has-success .checkbox,
......@@ -2309,7 +2346,8 @@ input[type="checkbox"].disabled {
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
.has-success.checkbox-inline label,
.has-success .custom-control {
color: #5cb85c;
}
......@@ -2331,7 +2369,7 @@ input[type="checkbox"].disabled {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");
}
.has-warning .text-help,
.has-warning .form-control-feedback,
.has-warning .form-control-label,
.has-warning .radio,
.has-warning .checkbox,
......@@ -2340,7 +2378,8 @@ input[type="checkbox"].disabled {
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
.has-warning.checkbox-inline label,
.has-warning .custom-control {
color: #f0ad4e;
}
......@@ -2362,7 +2401,7 @@ input[type="checkbox"].disabled {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
}
.has-danger .text-help,
.has-danger .form-control-feedback,
.has-danger .form-control-label,
.has-danger .radio,
.has-danger .checkbox,
......@@ -2371,7 +2410,8 @@ input[type="checkbox"].disabled {
.has-danger.radio label,
.has-danger.checkbox label,
.has-danger.radio-inline label,
.has-danger.checkbox-inline label {
.has-danger.checkbox-inline label,
.has-danger .custom-control {
color: #d9534f;
}
......@@ -2768,19 +2808,34 @@ fieldset[disabled] a.btn {
border-color: #0275d8;
}
.btn-outline-primary:focus, .btn-outline-primary.focus, .btn-outline-primary:active, .btn-outline-primary.active,
.open > .btn-outline-primary.dropdown-toggle {
.btn-outline-primary:hover {
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
.btn-outline-primary:hover {
.btn-outline-primary:focus, .btn-outline-primary.focus {
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
.btn-outline-primary:active, .btn-outline-primary.active,
.open > .btn-outline-primary.dropdown-toggle {
color: #fff;
background-color: #0275d8;
border-color: #0275d8;
}
.btn-outline-primary:active:hover, .btn-outline-primary:active:focus, .btn-outline-primary:active.focus, .btn-outline-primary.active:hover, .btn-outline-primary.active:focus, .btn-outline-primary.active.focus,
.open > .btn-outline-primary.dropdown-toggle:hover,
.open > .btn-outline-primary.dropdown-toggle:focus,
.open > .btn-outline-primary.dropdown-toggle.focus {
color: #fff;
background-color: #014682;
border-color: #01315a;
}
.btn-outline-primary.disabled:focus, .btn-outline-primary.disabled.focus, .btn-outline-primary:disabled:focus, .btn-outline-primary:disabled.focus {
border-color: #43a7fd;
}
......@@ -2796,19 +2851,34 @@ fieldset[disabled] a.btn {
border-color: #ccc;
}
.btn-outline-secondary:focus, .btn-outline-secondary.focus, .btn-outline-secondary:active, .btn-outline-secondary.active,
.open > .btn-outline-secondary.dropdown-toggle {
.btn-outline-secondary:hover {
color: #fff;
background-color: #ccc;
border-color: #ccc;
}
.btn-outline-secondary:hover {
.btn-outline-secondary:focus, .btn-outline-secondary.focus {
color: #fff;
background-color: #ccc;
border-color: #ccc;
}
.btn-outline-secondary:active, .btn-outline-secondary.active,
.open > .btn-outline-secondary.dropdown-toggle {
color: #fff;
background-color: #ccc;
border-color: #ccc;
}
.btn-outline-secondary:active:hover, .btn-outline-secondary:active:focus, .btn-outline-secondary:active.focus, .btn-outline-secondary.active:hover, .btn-outline-secondary.active:focus, .btn-outline-secondary.active.focus,
.open > .btn-outline-secondary.dropdown-toggle:hover,
.open > .btn-outline-secondary.dropdown-toggle:focus,
.open > .btn-outline-secondary.dropdown-toggle.focus {
color: #fff;
background-color: #a1a1a1;
border-color: #8c8c8c;
}
.btn-outline-secondary.disabled:focus, .btn-outline-secondary.disabled.focus, .btn-outline-secondary:disabled:focus, .btn-outline-secondary:disabled.focus {
border-color: white;
}
......@@ -2824,19 +2894,34 @@ fieldset[disabled] a.btn {
border-color: #5bc0de;
}
.btn-outline-info:focus, .btn-outline-info.focus, .btn-outline-info:active, .btn-outline-info.active,
.open > .btn-outline-info.dropdown-toggle {
.btn-outline-info:hover {
color: #fff;
background-color: #5bc0de;
border-color: #5bc0de;
}
.btn-outline-info:hover {
.btn-outline-info:focus, .btn-outline-info.focus {
color: #fff;
background-color: #5bc0de;
border-color: #5bc0de;
}
.btn-outline-info:active, .btn-outline-info.active,
.open > .btn-outline-info.dropdown-toggle {
color: #fff;
background-color: #5bc0de;
border-color: #5bc0de;
}
.btn-outline-info:active:hover, .btn-outline-info:active:focus, .btn-outline-info:active.focus, .btn-outline-info.active:hover, .btn-outline-info.active:focus, .btn-outline-info.active.focus,
.open > .btn-outline-info.dropdown-toggle:hover,
.open > .btn-outline-info.dropdown-toggle:focus,
.open > .btn-outline-info.dropdown-toggle.focus {
color: #fff;
background-color: #269abc;
border-color: #1f7e9a;
}
.btn-outline-info.disabled:focus, .btn-outline-info.disabled.focus, .btn-outline-info:disabled:focus, .btn-outline-info:disabled.focus {
border-color: #b0e1ef;
}
......@@ -2852,19 +2937,34 @@ fieldset[disabled] a.btn {
border-color: #5cb85c;
}
.btn-outline-success:focus, .btn-outline-success.focus, .btn-outline-success:active, .btn-outline-success.active,
.open > .btn-outline-success.dropdown-toggle {
.btn-outline-success:hover {
color: #fff;
background-color: #5cb85c;
border-color: #5cb85c;
}
.btn-outline-success:hover {
.btn-outline-success:focus, .btn-outline-success.focus {
color: #fff;
background-color: #5cb85c;
border-color: #5cb85c;
}
.btn-outline-success:active, .btn-outline-success.active,
.open > .btn-outline-success.dropdown-toggle {
color: #fff;
background-color: #5cb85c;
border-color: #5cb85c;
}
.btn-outline-success:active:hover, .btn-outline-success:active:focus, .btn-outline-success:active.focus, .btn-outline-success.active:hover, .btn-outline-success.active:focus, .btn-outline-success.active.focus,
.open > .btn-outline-success.dropdown-toggle:hover,
.open > .btn-outline-success.dropdown-toggle:focus,
.open > .btn-outline-success.dropdown-toggle.focus {
color: #fff;
background-color: #398439;
border-color: #2d672d;
}
.btn-outline-success.disabled:focus, .btn-outline-success.disabled.focus, .btn-outline-success:disabled:focus, .btn-outline-success:disabled.focus {
border-color: #a3d7a3;
}
......@@ -2880,19 +2980,34 @@ fieldset[disabled] a.btn {
border-color: #f0ad4e;
}
.btn-outline-warning:focus, .btn-outline-warning.focus, .btn-outline-warning:active, .btn-outline-warning.active,
.open > .btn-outline-warning.dropdown-toggle {
.btn-outline-warning:hover {
color: #fff;
background-color: #f0ad4e;
border-color: #f0ad4e;
}
.btn-outline-warning:hover {
.btn-outline-warning:focus, .btn-outline-warning.focus {
color: #fff;
background-color: #f0ad4e;
border-color: #f0ad4e;
}
.btn-outline-warning:active, .btn-outline-warning.active,
.open > .btn-outline-warning.dropdown-toggle {
color: #fff;
background-color: #f0ad4e;
border-color: #f0ad4e;
}
.btn-outline-warning:active:hover, .btn-outline-warning:active:focus, .btn-outline-warning:active.focus, .btn-outline-warning.active:hover, .btn-outline-warning.active:focus, .btn-outline-warning.active.focus,
.open > .btn-outline-warning.dropdown-toggle:hover,
.open > .btn-outline-warning.dropdown-toggle:focus,
.open > .btn-outline-warning.dropdown-toggle.focus {
color: #fff;
background-color: #d58512;
border-color: #b06d0f;
}
.btn-outline-warning.disabled:focus, .btn-outline-warning.disabled.focus, .btn-outline-warning:disabled:focus, .btn-outline-warning:disabled.focus {
border-color: #f8d9ac;
}
......@@ -2908,19 +3023,34 @@ fieldset[disabled] a.btn {
border-color: #d9534f;
}
.btn-outline-danger:focus, .btn-outline-danger.focus, .btn-outline-danger:active, .btn-outline-danger.active,
.open > .btn-outline-danger.dropdown-toggle {
.btn-outline-danger:hover {
color: #fff;
background-color: #d9534f;
border-color: #d9534f;
}
.btn-outline-danger:hover {
.btn-outline-danger:focus, .btn-outline-danger.focus {
color: #fff;
background-color: #d9534f;
border-color: #d9534f;
}
.btn-outline-danger:active, .btn-outline-danger.active,
.open > .btn-outline-danger.dropdown-toggle {
color: #fff;
background-color: #d9534f;
border-color: #d9534f;
}
.btn-outline-danger:active:hover, .btn-outline-danger:active:focus, .btn-outline-danger:active.focus, .btn-outline-danger.active:hover, .btn-outline-danger.active:focus, .btn-outline-danger.active.focus,
.open > .btn-outline-danger.dropdown-toggle:hover,
.open > .btn-outline-danger.dropdown-toggle:focus,
.open > .btn-outline-danger.dropdown-toggle.focus {
color: #fff;
background-color: #ac2925;
border-color: #8b211e;
}
.btn-outline-danger.disabled:focus, .btn-outline-danger.disabled.focus, .btn-outline-danger:disabled:focus, .btn-outline-danger:disabled.focus {
border-color: #eba5a3;
}
......@@ -3487,6 +3617,7 @@ input[type="button"].btn-block {
position: relative;
display: inline;
padding-left: 1.5rem;
cursor: pointer;
}
.custom-control + .custom-control {
......@@ -3645,7 +3776,7 @@ input[type="button"].btn-block {
border-radius: 0.25rem;
}
.custom-file-control::after {
.custom-file-control:lang(en)::after {
content: "Choose file...";
}
......@@ -3660,12 +3791,15 @@ input[type="button"].btn-block {
padding: 0.5rem 1rem;
line-height: 1.5;
color: #555;
content: "Browse";
background-color: #eee;
border: 1px solid #ddd;
border-radius: 0 0.25rem 0.25rem 0;
}
.custom-file-control:lang(en)::before {
content: "Browse";
}
.nav {
padding-left: 0;
margin-bottom: 0;
......@@ -3863,8 +3997,8 @@ input[type="button"].btn-block {
.navbar-brand {
float: left;
padding-top: .25rem;
padding-bottom: .25rem;
padding-top: 0.25rem;
padding-bottom: 0.25rem;
margin-right: 1rem;
font-size: 1.25rem;
}
......@@ -4410,9 +4544,9 @@ input[type="button"].btn-block {
border-top-right-radius: 0.2rem;
}
.label {
.tag {
display: inline-block;
padding: .25em .4em;
padding: 0.25em 0.4em;
font-size: 75%;
font-weight: bold;
line-height: 1;
......@@ -4423,72 +4557,72 @@ input[type="button"].btn-block {
border-radius: 0.25rem;
}
.label:empty {
.tag:empty {
display: none;
}
.btn .label {
.btn .tag {
position: relative;
top: -1px;
}
a.label:focus, a.label:hover {
a.tag:focus, a.tag:hover {
color: #fff;
text-decoration: none;
cursor: pointer;
}
.label-pill {
padding-right: .6em;
padding-left: .6em;
.tag-pill {
padding-right: 0.6em;
padding-left: 0.6em;
border-radius: 10rem;
}
.label-default {
.tag-default {
background-color: #818a91;
}
.label-default[href]:focus, .label-default[href]:hover {
.tag-default[href]:focus, .tag-default[href]:hover {
background-color: #687077;
}
.label-primary {
.tag-primary {
background-color: #0275d8;
}
.label-primary[href]:focus, .label-primary[href]:hover {
.tag-primary[href]:focus, .tag-primary[href]:hover {
background-color: #025aa5;
}
.label-success {
.tag-success {
background-color: #5cb85c;
}
.label-success[href]:focus, .label-success[href]:hover {
.tag-success[href]:focus, .tag-success[href]:hover {
background-color: #449d44;
}
.label-info {
.tag-info {
background-color: #5bc0de;
}
.label-info[href]:focus, .label-info[href]:hover {
.tag-info[href]:focus, .tag-info[href]:hover {
background-color: #31b0d5;
}
.label-warning {
.tag-warning {
background-color: #f0ad4e;
}
.label-warning[href]:focus, .label-warning[href]:hover {
.tag-warning[href]:focus, .tag-warning[href]:hover {
background-color: #ec971f;
}
.label-danger {
.tag-danger {
background-color: #d9534f;
}
.label-danger[href]:focus, .label-danger[href]:hover {
.tag-danger[href]:focus, .tag-danger[href]:hover {
background-color: #c9302c;
}
......@@ -4879,7 +5013,7 @@ base::-moz-progress-bar,
.list-group-item {
position: relative;
display: block;
padding: .75rem 1.25rem;
padding: 0.75rem 1.25rem;
margin-bottom: -1px;
background-color: #fff;
border: 1px solid #ddd;
......@@ -5816,6 +5950,18 @@ a.bg-danger:focus, a.bg-danger:hover {
clear: both;
}
.d-block {
display: block !important;
}
.d-inline-block {
display: inline-block !important;
}
.d-inline {
display: inline !important;
}
.pull-xs-left {
float: left !important;
}
......@@ -5896,6 +6042,10 @@ a.bg-danger:focus, a.bg-danger:hover {
clip: auto;
}
.w-100 {
width: 100% !important;
}
.m-x-auto {
margin-right: auto !important;
margin-left: auto !important;
......
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
This diff is collapsed.
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
......@@ -462,6 +462,8 @@ var Button = (function ($) {
input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
$(this._element).trigger('change');
}
input.focus();
}
} else {
this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
......
This diff is collapsed.
......@@ -108,6 +108,8 @@
input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
$(this._element).trigger('change');
}
input.focus();
}
} else {
this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
......
-
browser: >
Internet Explorer 11 & Microsoft Edge
Microsoft Edge
summary: >
Native browser tooltip for `title` shows on first keyboard focus (in addition to custom tooltip component)
upstream_bug: >
IE#2445370
origin: >
Bootstrap#18692
-
browser: >
Microsoft Edge
summary: >
Hovered element still remains in `:hover` state after scrolling away.
upstream_bug: >
IE#926665
Edge#5381673
origin: >
Bootstrap#14211
-
browser: >
Internet Explorer 11 & Microsoft Edge
Microsoft Edge
summary: >
When hovering over a `<select>` menu item, the cursor for the element underneath the menu is displayed.
upstream_bug: >
IE#963961
Edge#817822
origin: >
Bootstrap#14528
-
browser: >
Internet Explorer 11 & Microsoft Edge
Microsoft Edge
summary: >
CSS `border-radius` sometimes causes lines of bleed-through of the `background-color` of the parent element.
upstream_bug: >
IE#1463734
Edge#3342037
origin: >
Bootstrap#16671
-
browser: >
Internet Explorer 11 & Microsoft Edge
Microsoft Edge
summary: >
`background` of `<tr>` is only applied to first child cell instead of all cells in the row
upstream_bug: >
IE#2110930
Edge#5865620
origin: >
Bootstrap#18504
-
browser: >
Internet Explorer 11 & Microsoft Edge
Microsoft Edge
summary: >
`@-ms-viewport{width: device-width;}` has side-effect of making scrollbars auto-hide
upstream_bug: >
......@@ -50,11 +60,11 @@
-
browser: >
Internet Explorer 11 & Microsoft Edge
Microsoft Edge
summary: >
Background color from lower layer bleeds through transparent border in some cases
upstream_bug: >
IE#2263132
Edge#6274505
origin: >
Bootstrap#18228
......@@ -72,51 +82,51 @@
browser: >
Firefox
summary: >
`max-width: 100%;` doesn't work inside tables.
If the disabled state of a form control is changed via JavaScript, the normal state doesn't return after refreshing the page.
upstream_bug: >
Mozilla#975632
Mozilla#654072
origin: >
Bootstrap#10690
Bootstrap#793
-
browser: >
Firefox
summary: >
Button elements with `width: 100%` become cropped in long tables.
`focus` events should not be fired at the `document` object
upstream_bug: >
Mozilla#1060131
Mozilla#1228802
origin: >
Bootstrap#14320
Bootstrap#18365
-
browser: >
Firefox
Firefox (Windows)
summary: >
If the disabled state of a form control is changed via JavaScript, the normal state doesn't return after refreshing the page.
Right border of `<select>` menu is sometimes missing when screen is set to uncommon resolution
upstream_bug: >
Mozilla#654072
Mozilla#924068
origin: >
Bootstrap#793
Bootstrap#15990
-
browser: >
Firefox
Firefox (OS X & Linux)
summary: >
`focus` events should not be fired at the `document` object
Badge widget causes bottom border of Tabs widget to unexpectedly not overlap
upstream_bug: >
Mozilla#1228802
Mozilla#1259972
origin: >
Bootstrap#18365
Bootstrap#19626
-
browser: >
Firefox (Windows)
Chrome (Android)
summary: >
Right border of `<select>` menu is sometimes missing when screen is set to uncommon resolution
Tapping on an `<input>` in a scrollable overlay doesn't scroll the `<input>` into view
upstream_bug: >
Mozilla#1139853
Chromium#595210
origin: >
Bootstrap#15990
Bootstrap#17338
-
browser: >
......@@ -250,16 +260,6 @@
origin: >
Bootstrap#14868
-
browser: >
Safari (OS X)
summary: >
Focus ring of image map within a modal is displayed in the wrong location.
upstream_bug: >
WebKit#143527, Safari#21908735
origin: >
Bootstrap#16180
-
browser: >
Safari (iPad)
......
......@@ -37,7 +37,7 @@
- title: Input group
- title: Dropdowns
- title: Jumbotron
- title: Label
- title: Tag
- title: Alerts
- title: Card
- title: Navs
......
{% callout warning %}
#### Conveying meaning to assistive technologies
Using color to add meaning only provides a visual indication, which will not be conveyed to users of assistive technologies – such as screen readers. Ensure that information denoted by the color is either obvious from the content itself (e.g. the visible text), or is included through alternative means, such as additional text hidden with the `.sr-only` class.
{% endcallout %}
\ No newline at end of file
<footer class="bd-footer text-muted" role="contentinfo">
<footer class="bd-footer text-muted">
<div class="container">
<ul class="bd-footer-links">
<li><a href="{{ site.repo }}">GitHub</a></li>
......@@ -43,15 +43,15 @@ SimpleJekyllSearch.init({
resultsContainer: document.getElementById('search-results'),
searchResultTemplate: '<a class="dropdown-item" href="{url}">{title}</a>',
noResultsText: '<div class="dropdown-item no-results">Sorry, there are no results for that search.</div>',
json: '/search.json'
json: '{{ site.baseurl }}/search.json'
})
</script>
{% endif %}
<script>
Holder.addTheme('gray', {
background: '#777',
foreground: 'rgba(255,255,255,.75)',
bg: '#777',
fg: 'rgba(255,255,255,.75)',
font: 'Helvetica',
fontweight: 'normal'
})
......
......@@ -2,7 +2,6 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="Bootstrap, a sleek, intuitive, and powerful mobile first front-end framework for faster and easier web development.">
<meta name="keywords" content="HTML, CSS, JS, JavaScript, framework, bootstrap, front-end, frontend, web development">
<meta name="author" content="Mark Otto, Jacob Thornton, and Bootstrap contributors">
<title>
......
<header class="navbar navbar-light navbar-static-top bd-navbar" role="banner">
<header class="navbar navbar-light navbar-static-top bd-navbar">
<div class="container">
{% comment %}
<nav class="nav navbar-nav pull-xs-right">
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment