v4 #17021

Open
wants to merge 3,162 commits into from
@mdo
Bootstrap member
mdo commented Aug 19, 2015

Bootstrap 4

This is the primary pull request for developing and shipping Bootstrap 4. You should know a few things coming into this:

  • Everything here should be considered a work-in-progress (we're in the alpha release stage).
  • The list of todos will change as we get closer to shipping.
  • There is no specific ship date for the final v4 release at this time.
  • Nothing is guaranteed to be part of v4 until our first beta release.
  • Should you wish to contribute, please open small pull requests for specific open tasks to the v4-dev branch.
  • Have a feature request? Check here first, then open a new issue if it hasn't been addressed below.

Heads up! This thread has been locked to contributors. Please use issues for questions, comments, and feedback about particular changes. We'll cross reference them here as they come up.

Read the v4 alpha announcement blog post for more details on these changes and some of the open questions we still have to answer.

Big picture

We've got a number of big changes coming in v4. To name a few:

  • Move from Less to SCSS.
  • Refactor grid system to utilize five tiers (xs, sm, md, lg, and xl), adding a ~480px tier.
  • Remove all previously deprecated features, classes, and variables.
  • Drop IE8 support.
  • Replace wells, thumbnails, and panels with a new component, cards.
  • Drop Glyphicons.
  • Add flexbox variation for grid and components, flipping between them via variables.
  • Add some custom form controls (from http://wtfforms.com).
  • Replace media queries with media query mixins per #13014.
    • Replace standard width uses
    • Replace all @grid-float-breakpoint uses
  • Modularize all our global resets into a single SCSS file called Reboot.
  • Update build tools to create custom compiled builds of Bootstrap's CSS and JS instead of using a web-based Customizer.
    • Everything (default)
    • Everything with flexbox enabled
    • Just the grid
    • Just the Reboot
  • Find an easy-to-use, performant spinner to include with Bootstrap.

We also have some super ambitious nice to haves:

  • Add a script to publish individual components to individual repos?
  • Move to Gulp from Grunt?
  • Form validation polyfill?

What about v3?

We will continue to support Bootstrap 3, but only for critical bug fixes and documentation updates. No new features will be added, and nothing will be removed. If you need IE8 support, Bootstrap 3 has your back (or you can go out of your way to re-implement it in v4).

Be aware that we will set a reasonable date in the future to completely discontinue v3 support.


Feature breakdown

Here's the breakdown by feature/component of the updates we've made to v4, as well as some that are still todo.

CSS

Global

  • Drop all previously deprecated sizing variables.
  • Switch to rems as the main sizing unit.
  • Drop separate theme file for variable-mixin customization (e.g., set @border-radius: true and get rounded corners).
  • Rename all variables from @*-small to @*-sm, etc. (twbs/bootstrap#10352)
  • Reconsider vertical rhythm (twbs/bootstrap#11601)
  • Preface all @import-ed filenames with _ (e.g., _dropdown.scss)
  • Single tense (nearly) all filenames
  • Remove most > selectors and replace with un-nested classes.
    • Dropdowns
    • Nav (base, tabs, and pills)
    • Panels (done, since we dropped the component)
    • Carousel
  • Remove IE8 CSS hacks.
  • More flexibility when using .disabled on nav links, per #14291.
  • Move all element selectors and reset styles to a single "reboot" SCSS file, thereby creating our own extension of Normalize and improving modularity of our class-based components.
  • Use color variables consistently: #14840
  • Consider implementing a _custom.sccss for easier, built-in variable overrides?

Variables and mixins

  • Nuke box-shadow mixin: #12638
  • Rewrite the semantic grid mixins #13426
  • Make .sr-only a real mixin per #13583.
  • Clean up uses of @extends in favor of mixins in more places (namely clearfixes).

Grid system

Type

  • Rem units with auto-scaling type sizes
  • Fix heading interaction with emphasis classes (twbs/bootstrap#10202 , twbs/bootstrap#11515)
  • Grid-based horizontal dls (twbs/bootstrap#11639)
  • Rewrite the headings and small stuff to avoid specificity issues per #12782.
  • Drop .help-block for existing utility classes and more flexible HTML #13267
  • Text truncation class to go with mixin?
  • Responsive alignment classes? #14217
  • Rebuild the .dl-horizontal to use grid classes instead of it's fixed-width dimensions from v3.

Code

  • Remove the word-break and white-space stuff from <pre> elements per #13917.
  • Make <pre> elements relatively unstyled (no more gray background and stuff).

Utilities

  • Rename and/or remove !important from .show & .hide (twbs/bootstrap#9881)
  • Address hide vs. hidden naming inconsistency (twbs/bootstrap#11541)
  • Alternate responsive utility strategy with ranges: #12443
  • Rename skip nav classes: #13457
  • Finna fix that double clearfix bug: #13538.
  • Rename float and text alignment classes so they're more RTL-friendly: twbs/bootstrap#16419
  • Break out Utilities docs into separate sections. Use one page per family of utilities (e.g., text, spacer, etc).
  • Add some examples for spacing utility docs.
  • Refactor spacer utilities Sass to include a variable-based multiplier instead of a hard-coded one.
  • Move all text and background utility classes from _type.less to _utilities.less.
  • Move to the end of the @import stack to work with every component possible (instead of individual state classes)?

Tables

  • Rename .table-condensed to .table-sm (twbs/bootstrap#10987)
  • Rewrite table contextual classes to not be markup specific—e.g,. use .table-danger instead of td.danger
  • Table and alignment classes, per twbs/bootstrap#12237
  • Remove grid system sizing. Keep it for non-tabular, truly grid-based implementations. No more mixing.

Forms

Labels

Inputs

  • Remove FF4-18 placeholder per #12358.
  • Switch to min-height on inputs since we can drop IE8 (IE8 and box-sizing don't mix well)?
  • Support for (or completely custom) range inputs?

Validation and states

Layout

  • Height of radios and checkboxes? twbs/bootstrap#11456
  • Drop .form-horizontal class entirely in favor of just grid classes.
  • Alignment of checkboxes and radios #13936.

Misc

  • Remove most of the <legend> styling
  • Sync icons between custom forms and form validation states.

Buttons

  • Finalize new styles, especially for the secondary button class.
  • Consider replacing .active with > input:checked (etc.) in the Buttons plugin styles to address twbs/bootstrap#11535.
  • Add .btn-outline

Button groups

  • Add separate class for split button vs single button dropdowns—perhaps .btn-group-segmented? Hopefully to avoid shit like twbs/bootstrap#10876.

Glyphicons

  • Remove Glyhpicons
    • Add instructions for implementing Font Awesome
    • Add instructions for implementing Octicons
    • Add instructions for implementing a third option, if there is one?

Alerts

Breadcrumb

Carousel

  • Clean up carousel controls (twbs/bootstrap#10831)
  • Add carousel- prefix to Carousel's .next,.prev,.left,.right classes

Dropdown

  • Make carets from pseudo selectors (generated content). (Nullifies twbs/bootstrap#11142)
  • If dropdowns aren't getting autopositioning, add new dropdown alignment classes—left and right, and perhaps for top and bottom too?
  • Drop the deprecated .dropdown-menu.pull-right styles. We have .dropdown-menu-right/-left now.

Input groups

  • Dump input group's :first-child and :last-child for -of-type selectors: #12687.
  • Simpler rounded corners on input groups, possibly via class only: #13150.
  • Verify #13171 and #13254 post rem switch.

Jumbotron

  • Abstract some jumbotron styles-e.g. type sizes—to new utility classes (like .display-1).
  • Turn remaining Jumbotron styles—large gray background and large padding—into more utilities?

Labels

  • Move to inline-block again per #14081.
  • Make badges a variation labels.

Modal

  • Add additional animations
  • Modal dismissing on iOS flashes: #14032
  • Make modals centered vertically: #14617
  • Add option or event for more control over refocusing of trigger button after hiding a modal: #16604
  • Finally fix that shifting content bug by updating the modal.js to not adjust body padding, but rather the padding on a specific set of classes.

Nav

  • Rewrite nav components to use classes over > selectors.
  • Drop justified nav variations.
  • Rewrite tabs and pills to be mobile-first: #7540

Navbar

  • Remove the autocollapsing behavior of the v3 navbar.
  • Provide examples of using a custom hidden area with a configurable navbar toggler button.
  • Rewrite navbar alignment classes to avoid fubared navbar-right stuff: #12951.
  • Add drawer variation? twbs/bootstrap#9481
  • Expose proper API for "opening one closes all others" accordion behavior (twbs/bootstrap#16360)

Panels

  • Drop for cards.

Popover/tooltip

  • Fix inconsistency?: .tooltip-arrow vs. Popover's .arrow
  • Don't call content function twice: #12563
  • Document Tether dependency clearly in the docs.
  • Convert tooltip's arrows to generated CSS content via :before/:after.

Progress

  • Drop existing progress bars for mdo/wtf-forms#27.
  • Add a non-<progress> variation to ensure animated backgrounds can still be used.

List group

  • Rename a.list-group-item to .list-group-item-link

JS

Global

  • AMD? #13812
  • UMD? #13843
  • Support custom animations per #13622
  • Support for jQuery 2? Anything need doing here? Dropping old jQuery?
  • Fix event namespacing (hide.bs.tooltip -> bs.tooltip.hide, etc.) (twbs/bootstrap#10848)
  • Drop IE7 JS, per twbs/bootstrap#10858.
  • Add destroy method to all plugins per #13655
  • Accept jQuery objects in plugin options per #13489
  • Use .js- classes or data attributes for JS behavior only per #14431
  • Use external or new library for positioning content (tooltips, popovers, dropdowns) per #14327.
  • Defer loading per #14023
  • Add methods for determining if elements are shown. visible, expanded, etc #15573
  • More global keyboard access plugin (from twbs/bootstrap#14590)
  • Use a global namespace (BS or $.BS)
    • References to all plugins' classes (BS.Popover)
    • Common utility functions (BS.utils)
      • Generating UIDs
      • Escaping jQuery selector strings to allow for (valid) IDs like #foo.bar
      • URI-encoded hash fragments in IDs (#14740)
  • Better touch support throughout?
  • Have Bootstrap's custom events include the (e.g. click, keyboard) event that caused them as an originalEvent property: #15393
  • Either throw explicit error or add handling when both e.g. tooltip.js and all-bootstrap-plugins.min.js are loaded.
  • Try to find a way to avoid tooltips on button groups needing special-casing by the user (container: 'body' is currently required)
  • Consider using MutationObserver to improve tooltips (#15632) and modals (#16320)

Affix

  • Drop affix.
  • Replace with a position: sticky polyfill?

Alert

Buttons

  • Re-think button plugin
    1. Separate the checkbox and radio functionality from the rest and make esp. checkboxes not require .btn-groups to support my second point.
    2. Drop the single toggle functionality. Checkbox is exactly that but more advanced?
    3. Replace stateful functionality with only the loading state.
  • Have Button plugin listen for and react to change event of associated <input>s? #13261

Carousel

Collapse

  • Make accordion feature of collapse plugin independent of panels?: twbs/bootstrap#10966
  • Consider defaulting Collapse plugin's toggle option to false when initializing: #12254 (comment)
  • Horizontal collapsing? #14423
  • Configure event for collapse #13036

Dropdowns

Scrollspy

  • Generalize scrollspy selector to work on more than nav links: #13050.
  • Support multiple data targets on the same page, #14776

Tab

  • Generalize tab behavior perhaps so that it's not dependent on nav markup: #12391
  • Collapsing sections in vertical menus (is this just accordion?) per #14948

Tooltips

  • Consider making .tooltip('show') throw an error when the target is display: none per #14155
  • Support multiple delegated tooltip selectors on a single node. twbs/bootstrap#14167

Popovers

Docs

  • Host previous version—perhaps we put v4 at getbootstrap.com/v4/ so URLs don't break?
    • Look into possible Jekyll plugins for redirect some old links
  • Revisit CSS and Components docs page split.
  • Combine JS and CSS versions of components (dropdowns, tabs, buttons, alerts)
  • Find a way to remove some of our callouts—way too many gotchas and notes and shit.
  • Further repo organization cleanup with consolidated tests directory? #12291
  • Add docs to educate folks about autoprefixer and mixins: #12670.
  • Improve and simplify getting started docs a la Pure
  • Improve docs for installing via npm, Bower, Git clone, CDN, and download
  • Nuke or revamp the variables and mixins docs to avoid duplication and staleness
  • Remove compatibility= 'ie8' from clean-css
  • Remove html5shiv and respond.js from docs?
  • Update minium Firefox version in autoprefixer to >= 31 (latest ESR). See #14981.
  • Write Best Practices docs.
  • Write a Learn & Extend or Approach section.
  • Replace basic Jekyll search with something more comprehensive.

Customizer

  • Drop it entirely since folks are building better community-led ones.

Examples

  • Update all examples to v4 changes
  • Move examples to separate GitHub repo and submodule or include them somehow? Intent is to create a more flexible, user-driven set of examples.
  • Google Earth, and perhaps Mapbox: #12820.
  • Justified navbar: #14598
  • Pricing tables
@mdo mdo locked and limited conversation to collaborators Aug 19, 2015
@mdo mdo added the v4 label Aug 19, 2015
@gburton gburton referenced this pull request in gburton/Responsive-osCommerce Sep 1, 2015
@gburton gburton Glyphicon Removal
Remove Glyphicon in favour of FontAwesome
f74e45b
cvrebert and others added some commits Apr 10, 2016
@cvrebert cvrebert Update 300ms click delay docs to reflect iOS 9.3 improvements
[skip sauce]
f60e5a4
@cvrebert cvrebert https://crbug.com/273306 has been fixed
Refs #12078
[skip sauce]
77b58af
@cvrebert cvrebert Update remaining Edge issue URLs in Wall of Browser Bugs 6ec176e
@cvrebert cvrebert docs/_plugins/bugify.rb: Remove IE; all relevant issues moved to Edge
[skip sauce]
edfd726
@cvrebert cvrebert Merge pull request #19712 from twbs/crbug-273306
https://crbug.com/273306 has been fixed
[skip sauce]
dc916f2
@cvrebert cvrebert Merge pull request #19713 from twbs/edge-urls
Update remaining Edge issue URLs in Wall of Browser Bugs
98abf50
@patrickhlauke patrickhlauke Merge pull request #19710 from twbs/ios-9.3-fast-tap
Update 300ms click delay docs to reflect iOS 9.3 improvements
47b9768
@cvrebert cvrebert Update shrinkwrap 7b4cce6
@cvrebert cvrebert grunt dist
[ci skip]
e391fcb
@patrickhlauke patrickhlauke Suppress IE/Edge additional white/blue colors for focused <select>
d239fbb
@cvrebert cvrebert Add http://bugzil.la/1264125 to Wall of Browser Bugs
Due to the lack of this feature in browsers,
we currently have to implement an annoying setTimeout-based workaround,
which adds an extra layer of complication and probably slightly impacts performance:
https://github.com/twbs/bootstrap/blob/e391fcb953cc959ddd88fb676b68f49eef85ef06/js/src/util.js#L63-L77

[ci skip]
159e625
@cvrebert cvrebert Merge pull request #19727 from twbs/bugzilla-1264125
Add http://bugzil.la/1264125 to Wall of Browser Bugs
[ci skip]
d8b1b92
@MatthewRayfield MatthewRayfield Add disabled styling for .custom-select
b21750c
@cvrebert cvrebert https://webkit.org/b/128489 has been fixed!
Refs #12536
[ci skip]
d17a481
@cvrebert cvrebert Merge pull request #19737 from twbs/wkbug-128489
Remove https://webkit.org/b/128489 from Wall of Browser Bugs
97dafdc
@cvrebert cvrebert Port #19741 to v4
[ci skip]
315755a
@cvrebert cvrebert Merge pull request #19248 from twbs/navbar-divider-border-width
.navbar-divider width: 1px=>$border-width
0d51926
@Rplus Rplus remove unnecessary `/` in reference url
80affcc
@patrickhlauke patrickhlauke Merge pull request #19756 from Rplus/v4-dev
remove `/` in reference url (otherwise 404s)
0d5b6aa
@mdo mdo grunt 24d6a03
@mdo mdo Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev f4d80ff
@mdo mdo grunt
3de570a
@cvrebert cvrebert Add Wall of Browser Bugs entries for https://webkit.org/b/156684 & ht…
…tps://webkit.org/b/156687

These bugs are factors in our decisions regarding which unit to use in our media queries.
Refs #17403
[skip sauce]
0e56cbb
@cvrebert cvrebert Merge pull request #19765 from twbs/mq-wkbugs
Add Wall of Browser Bugs entries for WebKit media query bugs
[skip sauce]
06b127a
@cvrebert cvrebert Modal: Remove IE8-specific window.innerWidth workaround
[skip validator]
afdd62d
@cvrebert cvrebert Merge pull request #19775 from twbs/modal-ie8-innerWidth
Modal: Remove IE8-specific window.innerWidth workaround
8c678e9
@patrickhlauke patrickhlauke Merge pull request #19714 from patrickhlauke/v4-ie-edge-select-normal…
…isation

Suppress IE/Edge additional white/blue colors for focused <select>
1a6d0cc
@lamby lamby Suggest a replacement to .hidden and .show
Signed-off-by: Chris Lamb <[email protected]>
f278583
@mdo mdo Merge branch 'v4-dev' into v4-forms-cleanup 9f2ab98
@mdo mdo Avoid hacking around the temporal input bug in iOS
- Rather than use CSS hacks, let's avoid needing to hack anything
- Creates a new Reboot entry to simply reset the appear of the temporal inputs, thereby avoiding the problem entirely
- Less than ideal for conveying affordance on iOS, but given bugginess of the input itself, seems a decent tradeoff
6764171
@mdo mdo nuke commented out css
8b8f5d0
@bassjobsen bassjobsen Update overview.md
add the `@include media-breakpoint-only()` and `@include media-breakpoint-between` mixins
881f69c
@bassjobsen bassjobsen Update overview.md
endtag for the highlight
3e40121
@mdo mdo Clearer section headings, more succinct copy
30b42bf
@bassjobsen bassjobsen add alphabetic order for the components
0df1e62
@okmr-d okmr-d Docs: Add link to Japanese translation site (#19855)
[skip sauce]
38ab6e3
@mdo mdo Merge pull request #19851 from bassjobsen/patch-40
Use alphabetic order for the Components doc menu
adbb7bb
@mdo mdo Jank card borders were too janky
- Drops the experiment I had going for `box-shadow`-powered borders
- Reinstates regular `border` using existing variables

Fixes  #19097 and #19143. Nullifies #19828.
83182ad
@mdo mdo Merge pull request #19236 from twbs/carousel-icon-width
Extract $carousel-icon-width variable
d6412cd
@mdo mdo Merge pull request #19252 from twbs/card-img-overlay-padding
Add $card-img-overlay-padding variable
017258d
@mdo mdo fix validation of dupe ids
b2dd8e1
@mdo mdo Merge pull request #19861 from twbs/card-borders
Jank card borders were too janky
3b62fc0
@mdo mdo Merge pull request #19793 from bassjobsen/patch-38
Update overview.md
5e84ed1
@mdo mdo Merge pull request #19706 from twbs/issue-template
Add GitHub issue template
1506347
@mdo mdo grunt 932d0aa
@mdo mdo Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev
2cc7c71
@mdo mdo Merge branch 'patch-1' of https://github.com/marktopper/twitter-boots…
…trap into marktopper-patch-1
637d930
@mdo mdo Fix up linter to ignore all other Normalize upstream shenanigans 3547164
@mdo mdo grunt 69afc16
@mdo mdo Fix overflow auto removal on pre elements d1b8166
@mdo mdo move that change to reboot 69219d4
@mdo mdo document table border collapse change, move from old normalize to our…
… reboot
ce249a5
@mdo mdo remove unneeded, commented out border change for legends; it's handle…
…d in normalize
4140620
@mdo mdo Update table docs
- Change some things around, add some copy
- Include table variant styles for the inverse tables thanks to bg and color utils
4477846
@mdo mdo add code snippet
7322c8d
@mdo mdo Merge pull request #19862 from twbs/marktopper-patch-1
Update Normalize to v4.0.0
4be7f0b
@mdo mdo Merge pull request #19476 from delftswa2016/v4-card-docs
Added explicit commentary to .card-* classes
80341bf
@mdo mdo Merge pull request #19735 from MatthewRayfield/v4-custom-select-disab…
…led-styling

Add disabled styling for .custom-select
399fdb8
@mdo mdo Merge pull request #19863 from twbs/v4-inverse-table-variants
v4: Inverse table variants
aa5ef21
@mdo mdo grunt
d90064f
@mdo mdo fixes #19439: add some docs context to migration for .btn-xs and .pag…
…e-header
91257d2
@mdo mdo Fixes #18768: Add migration docs for dropdowns
4d8d8bd
@mdo mdo Fixes #18705: Clarify removal of .help-text and update changes to .fo…
…rm-group for horizontal layouts
fea7feb
@mdo mdo Fixes #18492: Document .h1-.h6, change docs mention of inline usage t…
…o varying elements
b479efb
@mdo mdo Merge branch 'v4-dev' into v4-forms-cleanup
4a06420
@mdo mdo lol my bad, fix that last one too
bd904d7
@mdo mdo Redo checkboxes and radios
- Move disabled radio and checkbox styles to Reboot
- Collapse .radio and .checkbox into single class, .form-check
- Collapse .radio-inline and .checkbox-inline into single class, .form-check-inline
- Require classes for sub-elements in both new classes
dde85e9
@mdo mdo linting
d8c898b
@mdo mdo Fixes #19771: Enable .form-control-sm/lg on select.form-control 546149f
@mdo mdo grunt
4e4fdb7
@mdo mdo fix broken markdown formatting d95aad6
@mdo mdo fix remaining checkboxes and radios in docs a803ab7
@mdo mdo add options to the examples so they render properly
a6d48b7
@mdo mdo oops, another checkbox needing a new class 707903c
@mdo mdo update classes for inline form to new checkbox options f5d889c
@mdo mdo Merge pull request #19667 from vsn4ik/v4-dev-use-border-radius-mixin
Use @border-radius and add $nav-tabs-border-radius variable
6b33c08
@mdo mdo Merge pull request #19459 from delftswa2016/v4-card-ordering
Explicitly state the ordering of cards in card columns in the docs
9f6e881
@mdo mdo Merge branch 'add-input-focus-variables' of https://github.com/kevink…
…ucharczyk/bootstrap into kevinkucharczyk-add-input-focus-variables
3daeb58
@mdo mdo property order 1b17ee4
@mdo mdo Merge branch 'v4-dev' of github.com:twbs/bootstrap into v4-dev
0bf3f17
@mdo mdo Merge branch 'v4-dev-docs-hidden-show-replacement' of https://github.…
…com/lamby/bootstrap into lamby-v4-dev-docs-hidden-show-replacement
87d3570
@mdo mdo more options, clearer options, and proper markdown formatting
72d68ba
@mdo mdo clarify docs comment from #19459
5aa32b3
@mdo mdo Update checkboxes and radios docs
- Add lighter gray text to disabled state for .form-check
- Separate radios and checkboxes example
- Clarify docs
35c11b6
@mdo mdo Merge branch 'v4-forms-cleanup' of https://github.com/twbs/bootstrap
…into v4-forms-cleanup
73d9815
@patrickhlauke patrickhlauke Make named anchor/placeholder link style reset more specific
This avoids applying the reset to named anchors/placeholder links (links
without an `href`) that have explicitly been made keyboard-focusable
(using `tabindex`). This is not fool-proof - it's not
easy/straightforward to check for the actual `tabindex` value itself, to
ensure it's positive, not will this apply if a link has been "blessed"
with `tabindex` via JS. However, this should catch most common uses (and
gives a reasonably valid way around the issue for developers who, for
whatever reason, DO want to use links without `href` - as side effect,
it forces best practice of at least ensuring these links can also be
focused with the keyboard)
64251a1
@mdo mdo Bring back some 'help text' love for forms with .form-text
- Includes new class
- New docs to support it
- Rearranged older docs
425e3d4
@patrickhlauke patrickhlauke Handle aria-hidden on modal container when showing/hiding
Fixes #19878
b107e33
@patrickhlauke patrickhlauke Merge pull request #19879 from patrickhlauke/v4-modal-aria-fix
Handle aria-hidden on modal container when showing/hiding
89cda53
@mdo mdo update migration notes 618ac44
@mdo mdo Merge branch 'v4-forms-cleanup' of github.com:twbs/bootstrap into v4-…
…forms-cleanup
e275155
@mdo mdo grunt
5472902
@mdo mdo Merge pull request #19141 from twbs/v4-forms-cleanup
v4: Forms cleanup
9d6b41c
@mdo mdo Merge branch 'v4-dev' into v4-split-buttons b280e36
@mdo mdo Unfuck those split button dropdowns
- Really we didn't need to do any of that strip units stuff to generate six new variables, two for each button size
- Using sibling selectors, we can target those split button dropdown toggles using the .dropdown-toggle-split class, and adjust padding and margin as needed
- Now, we nuke the margin-left from the ::after generated caret and tighten up the padding so that those split toggles don't look huge next to their main button
fda92d0
@mdo mdo rest in peace _functions.scss 575769c
@mdo mdo Consolidate button-dropdown.md with dropdowns.md to simplify docs
7cc802e
cvrebert and others added some commits May 30, 2016
@cvrebert cvrebert Merge pull request #19993 from twbs/eslint-1.7.3
Upgrade ESlint to v1.7.3
d8e1180
@cvrebert cvrebert Upgrade ESLint to v1.9.0
Refs #19908
00a3e1d
@cvrebert cvrebert Update npm shrinkwrap
[skip sauce]
[skip validator]
990e98e
@cvrebert cvrebert Merge pull request #19994 from twbs/eslint-1.9
Upgrade ESLint to v1.9.0
06b3af3
@cvrebert cvrebert Upgrade ESLint to v1.10.3
Refs #19908
9324da7
@cvrebert cvrebert Update npm shrinkwrap
[skip sauce]
[skip validator]
e573f70
@cvrebert cvrebert Merge pull request #19995 from twbs/eslint-1.10.3
Upgrade ESLint to v1.10.3
f7677d6
@cvrebert cvrebert Migrate ESLint rules config to ESLint 2.0.0 0efec1a
@cvrebert cvrebert Comply with consistent-return ESLint rule c4add0c
@cvrebert cvrebert Migrate parser & env config to ESLint 2.0.0 4d3bd8e
@cvrebert cvrebert Enable new ESLint-recommended rules in ESLint config 92e9d9d
@cvrebert cvrebert Upgrade ESLint to v2.0.0
[skip sauce]
[skip validator]
ac25ee7
@cvrebert cvrebert Upgrade babel-eslint to ^6.0.4
[skip sauce]
[skip validator]
93f028b
@cvrebert cvrebert Merge pull request #19998 from twbs/eslint-2.0.0
Upgrade to ESLint v2.0.0
97f521d
@cvrebert cvrebert Upgrade ESLint to v2.2.0 (#20000)
[skip sauce]
[skip validator]
166daf4
@cvrebert cvrebert Tweak Esc key comment in modal.js
[skip sauce]
[skip validator]
5dcd1a7
@cvrebert cvrebert Add Wall of Browser Bugs entry for #19927 (#20020)
Refs https://webkit.org/b/158276
Closes #19927

[skip sauce]
e1a53e9
@cvrebert cvrebert Add Wall of Browser Bugs entry for #19810 (#20021)
Refs https://crbug.com/597642
Closes #19810

[skip sauce]
0b4187d
@mdo mdo Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev 8feae90
@cvrebert cvrebert Add Wall of Browser Bugs entry for #20012 (#20024)
Refs https://webkit.org/b/158340
Closes #20012

[skip sauce]
fb2d800
@cvrebert cvrebert Add Wall of Browser Bugs entry for #17695 (#20025)
See https://webkit.org/b/158342
Refs #17695.

[skip sauce]
a122eda
@cvrebert cvrebert Add Wall of Browser Bugs entry for #19839 (#20026)
9c8eb78
@cvrebert cvrebert Add Wall of Browser Bugs entry for #19670 for Firefox (#20036)
See https://bugzil.la/1278000
Refs #19670

[skip sauce]
157007b
@cvrebert cvrebert Add :dir() pseudo-class feature requests to Wall of Browser Bugs (#19984
1585e46
@cvrebert cvrebert Add Wall of Browser Bugs entry for #19670 for Edge (#20037)
8086e4c
@cvrebert cvrebert https://bugzil.la/1278000 was marked as dupe of https://bugzil.la/577785


Update Wall of Browser Bugs accordingly.
Refs #19670

[ci skip]
10ce366
@cvrebert cvrebert Integrate postcss-flexbugs-fixes into build; fixes #18569 ef948ec
@cvrebert cvrebert Add docs regarding postcss-flexbugs-fixes dependency
8139bf4
@cvrebert cvrebert Update npm shrinkwrap
de0740b
@cvrebert cvrebert Merge pull request #19109 from twbs/fix-18569
Integrate postcss-flexbugs-fixes into build
Refs #18569.
a5ea867
@cvrebert cvrebert Upgrade ESLint to v2.3.0 (#20041)
Refs #19908

[skip sauce]
92ec110
@cvrebert cvrebert Upgrade ESLint to v2.4.0 (#20042)
Refs #19908.

[skip sauce]
[skip validator]
c5eb5a4
@cvrebert cvrebert Update ESLint to v2.5.3 (#20043)
Refs #19908.

[skip sauce]
[skip validator]
2b16f5c
@cvrebert cvrebert Upgrade ESLint to v2.7.0 (#20044)
Refs #19908

[skip sauce]
[skip validator]
6c2ba51
@cvrebert cvrebert Update ESLint to v2.8.0 (#20045)
Refs #19908

[skip sauce]
[skip validator]
1f5d8aa
@cvrebert cvrebert Upgrade ESLint to v2.9.0 (#20047)
Refs #19908

[skip sauce]
[skip validator]
d1b8ec8
@cvrebert cvrebert Update ESLint to v2.10.2 (#20063)
Refs #19908

[skip sauce]
[skip validator]
abc4ecf
@cvrebert cvrebert Update ESLint to v2.11.1 (latest stable) (#20068)
Fixes #19908

[skip sauce]
[skip validator]
04165ba
@cvrebert cvrebert Kill the grunt-jscs middleman; use JSCS directly instead (#20069)
Refs #19990

[skip sauce]
[skip validator]
0c4abb6
@cvrebert cvrebert Upgrade to latest version of JSCS (v3.0.4) (#20070)
Fixes #20002

[skip sauce]
[skip validator]
eb350d1
@cvrebert cvrebert grunt
[ci skip]
0f3d427
@cvrebert cvrebert rm -r node_modules && npm install && npm run shrinkwrap
98f3ab3
@cvrebert cvrebert Bump shelljs to ^0.7.0 (#20073)
[skip sauce]
[skip validator]
10c9be1
@cvrebert cvrebert Remove unused exec:npmUpdate Grunt task (#20074)
[skip sauce]
[skip validator]
36f2261
@cvrebert cvrebert Enable more rules from ESLint 2.0; refs #19999 (#20076)
[skip sauce]
[skip validator]
c955868
@cvrebert cvrebert ISSUE_TEMPLATE.md: Fix "questons" typo
[ci skip]
18ee98b
@cvrebert cvrebert https://crbug.com/460200 has been fixed! (#20090)
So remove its entry from the Wall of Browser Bugs
Refs #15832

[skip sauce]
[skip validator]
39c313b
@cvrebert cvrebert Add Wall of Browser Bugs entries for #12832 (#20089)
Add Wall of Browser Bugs entries for #12832
9ddd62d
@cvrebert cvrebert Strip out UMD & CJS in favor of ES6 modules (#20072)
ce2e944
@mdo mdo Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev aaad85b
@mdo mdo Fixes #17089 a bit
7071fe9
@mdo mdo Fixes #17193: Remove mention and link to non-existant transitions plu…
…gin; that intro paragraph was two dupe sentences
d12804e
@mdo mdo Merge pull request #19977 from zalog/patch-11
Add .flex-*-unordered classes to reset Flexbox `order` CSS property
e22d725
@mdo mdo follow up fix to #17593 1ba370f
@mdo mdo Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev
ac1ea8c
@cvrebert cvrebert package.json: engines: Require Node.js >= 4 (#20141)
Refs #17652
143eca3
@cvrebert cvrebert Add comparability guard to _assert-ascending(); fixes #20123 (#20142)
[skip sauce]
[skip validator]
b17008c
@cvrebert cvrebert docs/_plugins/highlight_alt.rb: Use correct tag name in error message
c700e25
@cvrebert cvrebert docs/_plugins/highlight_alt.rb: Ignore linenos option since it's broken
Refs #20005
[skip sauce]
4a00603
@cvrebert cvrebert Remove refs to fixed printing-related Chrome bug from browser support…
bfc16c4
@cvrebert cvrebert Replace grunt-postcss with postcss-cli (#20140)
Refs #19990
Continues the degruntification process.

Also removes mq4-hover-shim for now,
since it doesn't yet implement the standard PostCSS plugin interface.
a358fc9
@cvrebert cvrebert https://webkit.org/b/158340 has been fixed
So remove its entry from the Wall.
Refs #20012, #20024
Refs http://trac.webkit.org/changeset/202324

[ci skip]
e0c768b
@cvrebert cvrebert Add Wall of Browser Bugs entries for Selectors Level 4 :nth-child() (#…
d39e243
@curtgrimes curtgrimes Fix links to A11Y Project posts
Closes #20165

[skip sauce]
76e9a73
@cvrebert cvrebert Remove reference to fixed Chrome bug in accessibility docs (#20145)
5073e75
@cvrebert cvrebert docs/_plugins/bugify.rb: Add support for MS Edge UserVoice ideas (#20176
)

[skip sauce]
b73b0c5
@cvrebert cvrebert grunt dist docs
[skip sauce]
[skip validator]
6cceeec
@cvrebert cvrebert Fix docs asset file paths in /grunt/configBridge.json (#20178)
Previously, when running the docs locally, the site, rooted at:
    http://localhost:9001/
would reference docs assets using relative URLs such as:
    /../assets/js/vendor/anchor.min.js
which is equivalent to:
    http://localhost:9001/../assets/js/vendor/anchor.min.js
which is nonsense, since the root directory has no parent directory.
Apparently browsers silently ignore this extra '..', hence why this wasn't noticed until now.
But if you adjust Jekyll's `baseurl` setting, this mistake causes incorrect URLs to get generated.

This commit corrects the problem by removing the extra '../' from the paths.

These paths are also referenced in the Gruntfile, where the fix actually allows us to simplify the code.
Previously, in the Gruntfile, we were doing, e.g.:
    path.join('./docs/assets', '../assets/js/vendor/anchor.min.js')
which calculates to:
    ./docs/assets/../assets/js/vendor/anchor.min.js
which can be simplified to:
    ./docs/assets/js/vendor/anchor.min.js
So we can remove the '/assets' suffix from the left argument
and the '../' prefix from the right argument
and still obtain the same result.
ead5ed6
@cvrebert cvrebert Remove unnecessary usage of Promises in non-async ScrollSpy tests (#2…
…0180)

Closes #19906

[skip validator]
aa369bd
@cvrebert cvrebert Add Wall of Browser Bugs entry for #20161 (#20183)
bba039d
@cvrebert cvrebert Allow PRs to be previewed at http://preview.twbsapps.com (#20179)
e95e9fe
@dmethvin dmethvin Scrollspy test: Allow for async .then() in jQuery 3; fixes #20182
Instead of doing a new assert.async(), just do a single one for the entire test
and let the .then() be async as well.

Closes #20190
208d587
@cvrebert cvrebert docs/migration.md: Fix "correspending" typo
[ci skip]
288bd07
@judetucker judetucker Mention .list-inline-item change in the migration guide
Fixes #18813
Closes #20187

[skip sauce]
a21ff40
@XhmikosR XhmikosR Use shx so that the npm scripts work everywhere the same.
dec2695
@XhmikosR XhmikosR Merge pull request #20196 from twbs/v4-dev-xmr-shx
Use shx so that the npm scripts work everywhere the same.
c3e33d8
@dmethvin dmethvin ScrollSpy unit test: Use single done() in a then() instead of multipl…
…e done()s (#20198)

Fixes test flakiness on OS X Safari and Android when using jQuery 3.
Fixes #20182 more
Refs #20191
8900d95
@cvrebert cvrebert Support jQuery v3 in Bootstrap v4 (#20191)
* bower.json, package.json: Extend jQuery version ranges to include v3
* NuGet: Bump jQuery to v3.0.0.1
* Docs+Examples: Update jQuery to v3.0.0
* Use jQuery v3.0.0 for JS unit tests
* Update jqueryVersionCheck to allow jQuery v3.x.x
ed3ba47
@XhmikosR XhmikosR Update scss_lint to v0.48.0. bc8804e
@XhmikosR XhmikosR Update devDependencies.
Only grunt-saucelabs is left in order to update grunt to v1.x.
7f6fd5b
@XhmikosR XhmikosR Run `grunt`.
[ci skip]
e83b742
@cvrebert cvrebert Avoid globbing in jscs npm script for Windows compatibility
Fixes #20197

[skip sauce]
[skip validator]
5d33891
@XhmikosR XhmikosR Merge pull request #20201 from twbs/v4-dev-xmr-deps
Update dependencies.
c7fae07
@XhmikosR XhmikosR Merge pull request #20202 from twbs/windows-doesnt-know-how-to-shot-glob
Avoid globbing in jscs npm script for Windows compatibility
a0f10e6
@XhmikosR XhmikosR Update devDepedencies.
e727ca9
@XhmikosR XhmikosR Merge pull request #20222 from twbs/v4-dev-xmr-deps
Update devDepedencies.
3d86473
@anantoghosh anantoghosh Fix typo in 'Reboot' section
Changed `box-sizing: border` to `box-sizing: border-box`
f15611c
@patrickhlauke patrickhlauke Merge pull request #20246 from anantoghosh/patch-1
Fix typo in 'Reboot' section
eb7c13b
@tagliala tagliala Update SCSS-Lint to v0.49.0 (#20250)
SCSS-Lint 0.49.0 modifies Shorthand linter to report lint if a shorthand
of a length not specified in the allowed_shorthands option is used.

New defaults include "4" in the list of allowed shorthands, so we are changing our configuration accordingly.

Ref: brigade/scss-lint@e283d16
1347cb0
@cvrebert cvrebert Move browser feature requests to new "Most wanted features" section 58aca28
@cvrebert cvrebert Add Most Wanted Features entries for <dialog>
0b21f2e
@cvrebert cvrebert Merge pull request #20175 from twbs/dialog-wall
Add Most Wanted Features entries for <dialog>
4ea33f3
@XhmikosR XhmikosR Update gems.
[skip sauce]
0339272
@XhmikosR XhmikosR Bump devDependencies.
1e01721
@cvrebert cvrebert Remove forced default focus outline (#20275)
As this causes non-standard dotted outline on checkboxes/radio buttons
in OS X Firefox

Ports #19935 to v4
Refs #19933

[skip sauce]
873cf75
@XhmikosR XhmikosR Remove trailing space.
[ci skip]
c218987
@XhmikosR XhmikosR .gitignore: Remove no longer used entries.
[ci skip]
c2bb71e
@XhmikosR XhmikosR Tabs to spaces.
[ci skip]
278a563
@XhmikosR XhmikosR nuget: fix version.
[ci skip]
8cd7833
@XhmikosR XhmikosR Losslessly compress doc images.
Used zopfli 1.0.1 with `zopflipng.exe -m --lossy_transparent -y --iterations=1000`.

Before: 199 KB (203.922 bytes)
After:  197 KB (202.151 bytes)

[ci skip]
083df47
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.