From: Mark Otto Date: Mon, 27 Oct 2014 05:31:59 +0000 (-0700) Subject: Merge branch 'master' into derp X-Git-Tag: v4.0.0-alpha~585 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d6b0f45fb711989cb8ac32f6717d6920ef5c68e0;p=thirdparty%2Fbootstrap.git Merge branch 'master' into derp Conflicts: Gruntfile.js dist/css/bootstrap-theme.css dist/css/bootstrap-theme.css.map dist/css/bootstrap-theme.min.css dist/css/bootstrap.css dist/css/bootstrap.css.map dist/css/bootstrap.min.css docs/_includes/components/dropdowns.html docs/_includes/components/media.html docs/_includes/components/navs.html docs/_includes/components/progress-bars.html docs/_includes/components/responsive-embed.html docs/_includes/css/buttons.html docs/_includes/css/forms.html docs/_includes/css/less.html docs/_includes/css/overview.html docs/_includes/css/responsive-utilities.html docs/_includes/customizer-variables.html docs/_includes/getting-started/browser-device-support.html docs/_includes/getting-started/grunt.html docs/_includes/getting-started/template.html docs/_includes/header.html docs/_includes/js/alerts.html docs/_includes/js/buttons.html docs/_includes/js/carousel.html docs/_includes/js/collapse.html docs/_includes/js/dropdowns.html docs/_includes/js/modal.html docs/_includes/js/popovers.html docs/_includes/js/scrollspy.html docs/_includes/js/tabs.html docs/_includes/js/tooltips.html docs/_includes/nav/components.html docs/_includes/nav/getting-started.html docs/_layouts/default.html docs/about.html docs/assets/css/docs.min.css docs/assets/css/src/docs.css docs/assets/js/customize.min.js docs/assets/js/docs.min.js docs/assets/js/raw-files.min.js docs/browser-bugs.html docs/components.html docs/components/navbar.md docs/css.html docs/dist/css/bootstrap-theme.css docs/dist/css/bootstrap-theme.css.map docs/dist/css/bootstrap-theme.min.css docs/dist/css/bootstrap.css docs/dist/css/bootstrap.css.map docs/dist/css/bootstrap.min.css docs/examples/blog/index.html docs/examples/carousel/index.html docs/examples/cover/index.html docs/examples/dashboard/index.html docs/examples/grid/index.html docs/examples/jumbotron-narrow/index.html docs/examples/jumbotron/index.html docs/examples/justified-nav/index.html docs/examples/navbar-fixed-top/index.html docs/examples/navbar-static-top/index.html docs/examples/navbar/index.html docs/examples/non-responsive/index.html docs/examples/offcanvas/index.html docs/examples/signin/index.html docs/examples/starter-template/index.html docs/examples/sticky-footer-navbar/index.html docs/examples/sticky-footer/index.html docs/examples/theme/index.html docs/examples/tooltip-viewport/index.html docs/getting-started.html docs/javascript.html docs/migration.html less/_animation.less less/_modal.less less/_navbar.less less/_variables.less less/glyphicons.less less/navs.less less/panels.less less/progress-bars.less --- d6b0f45fb711989cb8ac32f6717d6920ef5c68e0 diff --cc Gruntfile.js index 4e22a12d9d,f1430e0265..cc6023eac4 --- a/Gruntfile.js +++ b/Gruntfile.js @@@ -378,7 -424,7 +392,7 @@@ module.exports = function (grunt) var testSubtasks = []; // Skip core tests if running a different subset of the test suite if (runSubset('core')) { - testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'jshint:core', 'jshint:test', 'jshint:grunt', 'jscs:core', 'jscs:test', 'jscs:grunt', 'qunit', 'docs']); - testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'csslint:dist', 'test-js', 'docs']); ++ testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'test-js', 'docs']); } // Skip HTML validation if running a different subset of the test suite if (runSubset('validate-html') && @@@ -396,19 -442,20 +410,20 @@@ testSubtasks.push('saucelabs-qunit'); } grunt.registerTask('test', testSubtasks); + grunt.registerTask('test-js', ['jshint:core', 'jshint:test', 'jshint:grunt', 'jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']); // JS distribution task. - grunt.registerTask('dist-js', ['concat', 'uglify:core']); + grunt.registerTask('dist-js', ['concat', 'uglify:core', 'commonjs']); // CSS distribution task. - grunt.registerTask('less-compile', ['less:compileCore', 'less:compileTheme']); - grunt.registerTask('dist-css', ['less-compile', 'autoprefixer:core', 'autoprefixer:theme', 'usebanner', 'csscomb:dist', 'cssmin:minifyCore', 'cssmin:minifyTheme']); + grunt.registerTask('less-compile', ['less:compileCore']); + grunt.registerTask('dist-css', ['less-compile', 'autoprefixer:core', 'usebanner', 'csscomb:dist', 'cssmin:core']); // Full distribution task. - grunt.registerTask('dist', ['clean:dist', 'dist-css', 'copy:fonts', 'dist-js']); + grunt.registerTask('dist', ['clean:dist', 'dist-css', 'dist-js']); // Default task. - grunt.registerTask('default', ['clean:dist', 'copy:fonts', 'test']); + grunt.registerTask('default', ['clean:dist', 'test']); // Version numbering task. // grunt change-version-number --oldver=A.B.C --newver=X.Y.Z @@@ -423,11 -470,18 +438,17 @@@ generateRawFiles(grunt, banner); }); + grunt.registerTask('commonjs', 'Generate CommonJS entrypoint module in dist dir.', function () { + var srcFiles = grunt.config.get('concat.bootstrap.src'); + var destFilepath = 'dist/js/npm.js'; + generateCommonJSModule(grunt, srcFiles, destFilepath); + }); + // Docs task. grunt.registerTask('docs-css', ['autoprefixer:docs', 'autoprefixer:examples', 'csscomb:docs', 'csscomb:examples', 'cssmin:docs']); - grunt.registerTask('lint-docs-css', ['csslint:docs', 'csslint:examples']); grunt.registerTask('docs-js', ['uglify:docsJs', 'uglify:customize']); grunt.registerTask('lint-docs-js', ['jshint:assets', 'jscs:assets']); - grunt.registerTask('docs', ['docs-css', 'lint-docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs', 'build-customizer']); + grunt.registerTask('docs', ['docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs', 'build-customizer']); // 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. diff --cc docs/browser-bugs.md index a663080252,0000000000..6750c73427 mode 100644,000000..100644 --- a/docs/browser-bugs.md +++ b/docs/browser-bugs.md @@@ -1,125 -1,0 +1,113 @@@ +--- +layout: default +title: Wall of browser bugs +--- + +Bootstrap currently works around several outstanding browser bugs in major browsers to deliver the best cross-browser experience possible. Some bugs, like those listed below, cannot be solved by us. + +We publicly list browser bugs that are impacting us here, in the hopes of expediting the process of fixing them. For information on Bootstrap's browser compatibility, [see our browser compatibility docs](../getting-started/#support). + +
+ + + + + + + + + + ++ ++ ++ ++ ++ ++ + + + + + + + + + - - - - - - - - ++ ++ + + + + - - ++ ++ + + + + + + + - - - - - - + + + + + + + - - - - - - - - - - ++ ++ ++ ++ + + + - - - ++ ++ ++ + + + - - - ++ ++ ++ + + + + - - ++ ++ + + + + - - ++ ++ + + + + - - ++ ++ + + + + - - ++ ++ + + + - - - ++ ++ ++ + + + + + - ++ + + +
Browser(s)Summary of bugUpstream bug(s)Bootstrap issue(s)
Internet Explorer 11Hovered element still remains in :hover state after scrolling awayIE bug #926665#14211
Internet Explorer 11When hovering over a <select> menu item, the cursor for the element underneath the menu is displayedIE bug #963961#14528
Firefox.table-bordered with an empty <tbody> is missing bordersMozilla bug #1023761#13453
FirefoxUnusual default form control styles on AndroidClosed Mozilla bug #900871, Open Mozilla bug #763671#8702Mozilla bug #1023761#13453
Firefoxmax-width: 100%; doesn't work inside tablesMozilla bug #975632#10690Mozilla bug #975632#10690
FirefoxJava applets that are descendants of elements with forced hardware acceleration using translate3d(0,0,0) are invisible on WindowsMozilla bug #1048279#14124
FirefoxIf the disabled state of a form control is changed via JavaScript, the normal state doesn't return after refreshing the page.Mozilla bug #654072#793
FirefoxButton elements with width: 100% become cropped in long tables.Mozilla bug #1060131#14320
ChromeWeird button behavior with some number <input>sChromium issue #337668#8350, Normalize #283
Chromedisplay: table; within display: block; forces sibling content to new lineChromium issue #309483#9950FirefoxIf the disabled state of a form control is changed via JavaScript, the normal state doesn't return after refreshing the page.Mozilla bug #654072#793
ChromeUnwanted vertical lines when printing styled <select> on OS XChromium issue #282918#11245Clicking above <input type="number"> increment button flashes the decrement buttonOffshoot of #8350 & Chromium issue #337668
Chromeinline-block element collapses white-space on WindowsChromium issue #329574#11885display: table; within display: block; forces sibling content to new lineChromium issue #309483#9950
ChromeIncorrect viewport size used for media queries when printingChromium issue #273306#12078Chromium issue #273306#12078
Chrome & SafariOS X scrollbar clipped in select[multiple] with paddingChromium issue #342208, WebKit bug #128489#12536Chromium issue #342208, WebKit bug #128489#12536
Chromedisplay: table-cell; width: 100%; doesn't work correctly on date <input>Chromium issue #346051#12548Chromium issue #346051#12548
Chrome<input type="password"> sporadically causes bad widths on floated elementsChrome issue #377346#13892Chrome issue #377346#13892
SafariInsufficient CSS percentage precision(No public bug tracker)#9282Weird button behavior with some number <input>sWebKit bug #137269#8350, Normalize #283, Chromium issue #337668
SafariJustified nav rendering bug(No public bug tracker)#9774#9774
+
diff --cc docs/components/forms.md index 8f1604a81b,0000000000..71061dc853 mode 100644,000000..100644 --- a/docs/components/forms.md +++ b/docs/components/forms.md @@@ -1,492 -1,0 +1,509 @@@ +--- +layout: page +title: Forms +--- + +Bootstrap normalizes common HTML5 form elements and adds a number of layout options for building forms of all sizes. + +## Example form + +Individual form controls automatically receive some global styling. All textual ``, ` +{% endexample %} + +### Checkboxes and radios + +Checkboxes are for selecting one or several options in a list, while radios are for selecting one option from many. + +A checkbox or radio with the `disabled` attribute will be styled appropriately. To have the `