mirror of
https://github.com/twbs/bootstrap.git
synced 2025-01-30 22:52:24 +01:00
Drop Legacy Edge support.
This allows us to move forward without being held back. Microsoft already replaces the Legacy Edge with the new one on supported Windows versions.
This commit is contained in:
parent
0766a09605
commit
e8f1709adf
@ -5,7 +5,9 @@ last 1 major version
|
||||
not dead
|
||||
Chrome >= 60
|
||||
Firefox >= 60
|
||||
Edge >= 16
|
||||
# needed since Legacy Edge still has usage; 79 was the first Chromium Edge version
|
||||
# should be removed in the future when its usage drops or when it's moved to dead browsers
|
||||
not Edge < 79
|
||||
iOS >= 10
|
||||
Safari >= 10
|
||||
Android >= 6
|
||||
|
@ -6,7 +6,6 @@
|
||||
*/
|
||||
|
||||
import { getjQuery } from '../util/index'
|
||||
import { defaultPreventedPreservedOnDispatch } from './polyfill'
|
||||
|
||||
/**
|
||||
* ------------------------------------------------------------------------
|
||||
@ -314,12 +313,6 @@ const EventHandler = {
|
||||
|
||||
if (defaultPrevented) {
|
||||
evt.preventDefault()
|
||||
|
||||
if (!defaultPreventedPreservedOnDispatch) {
|
||||
Object.defineProperty(evt, 'defaultPrevented', {
|
||||
get: () => true
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
if (nativeDispatch) {
|
||||
|
@ -10,20 +10,6 @@ import { getUID } from '../util/index'
|
||||
let find = Element.prototype.querySelectorAll
|
||||
let findOne = Element.prototype.querySelector
|
||||
|
||||
// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached
|
||||
const defaultPreventedPreservedOnDispatch = (() => {
|
||||
const e = new CustomEvent('Bootstrap', {
|
||||
cancelable: true
|
||||
})
|
||||
|
||||
const element = document.createElement('div')
|
||||
element.addEventListener('Bootstrap', () => null)
|
||||
|
||||
e.preventDefault()
|
||||
element.dispatchEvent(e)
|
||||
return e.defaultPrevented
|
||||
})()
|
||||
|
||||
const scopeSelectorRegex = /:scope\b/
|
||||
const supportsScopeQuery = (() => {
|
||||
const element = document.createElement('div')
|
||||
@ -75,6 +61,5 @@ if (!supportsScopeQuery) {
|
||||
|
||||
export {
|
||||
find,
|
||||
findOne,
|
||||
defaultPreventedPreservedOnDispatch
|
||||
findOne
|
||||
}
|
||||
|
@ -23,13 +23,6 @@ const browsers = {
|
||||
browser: 'Firefox',
|
||||
browser_version: 'latest'
|
||||
},
|
||||
edgeWin10: {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '10',
|
||||
browser: 'Edge',
|
||||
browser_version: '16'
|
||||
},
|
||||
chromeWin10: {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
|
@ -295,8 +295,6 @@ samp {
|
||||
// 1. Remove browser default top margin
|
||||
// 2. Reset browser default of `1em` to use `rem`s
|
||||
// 3. Don't allow content to break outside
|
||||
// 4. Disable auto-hiding scrollbar in legacy Edge to avoid overlap,
|
||||
// making it impossible to interact with the content
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
@ -305,7 +303,6 @@ pre {
|
||||
overflow: auto; // 3
|
||||
@include font-size($code-font-size);
|
||||
color: $pre-color;
|
||||
-ms-overflow-style: scrollbar; // 4
|
||||
|
||||
// Account for some code outputs that place code tags in pre tags
|
||||
code {
|
||||
@ -434,13 +431,6 @@ textarea {
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
// Show the overflow in Edge
|
||||
|
||||
button,
|
||||
input {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
// Remove the inheritance of text transform in Firefox
|
||||
|
||||
button,
|
||||
@ -516,8 +506,7 @@ fieldset {
|
||||
|
||||
// 1. By using `float: left`, the legend will behave like a block element.
|
||||
// This way the border of a fieldset wraps around the legend if present.
|
||||
// 2. Correct the text wrapping in Edge.
|
||||
// 3. Fix wrapping bug.
|
||||
// 2. Fix wrapping bug.
|
||||
// See https://github.com/twbs/bootstrap/issues/29712
|
||||
|
||||
legend {
|
||||
@ -528,10 +517,9 @@ legend {
|
||||
@include font-size($legend-font-size);
|
||||
font-weight: $legend-font-weight;
|
||||
line-height: inherit;
|
||||
white-space: normal; // 2
|
||||
|
||||
+ * {
|
||||
clear: left; // 3
|
||||
clear: left; // 2
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -61,25 +61,3 @@
|
||||
}
|
||||
// stylelint-enable no-duplicate-selectors
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Fallback for classic Edge
|
||||
//
|
||||
|
||||
@supports (-ms-ime-align: auto) {
|
||||
.form-floating {
|
||||
display: flex;
|
||||
flex-direction: column-reverse;
|
||||
}
|
||||
.form-floating > label {
|
||||
position: static;
|
||||
padding: 0;
|
||||
margin-bottom: calc(#{$form-floating-padding-y} / 2); // stylelint-disable-line function-disallowed-list
|
||||
border: 0;
|
||||
@include transition(none);
|
||||
}
|
||||
.form-floating > .form-control::-ms-input-placeholder {
|
||||
color: $input-placeholder-color;
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// No box-shadow() mixin for focus accessibility.
|
||||
&::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }
|
||||
&::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }
|
||||
&::-ms-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }
|
||||
}
|
||||
|
||||
&::-moz-focus-outer {
|
||||
@ -78,46 +77,6 @@
|
||||
@include box-shadow($form-range-track-box-shadow);
|
||||
}
|
||||
|
||||
&::-ms-thumb {
|
||||
width: $form-range-thumb-width;
|
||||
height: $form-range-thumb-height;
|
||||
margin-top: 0; // Edge specific
|
||||
margin-right: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.
|
||||
margin-left: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.
|
||||
@include gradient-bg($form-range-thumb-bg);
|
||||
border: $form-range-thumb-border;
|
||||
@include border-radius($form-range-thumb-border-radius);
|
||||
@include box-shadow($form-range-thumb-box-shadow);
|
||||
@include transition($form-range-thumb-transition);
|
||||
appearance: none;
|
||||
|
||||
&:active {
|
||||
@include gradient-bg($form-range-thumb-active-bg);
|
||||
}
|
||||
}
|
||||
|
||||
&::-ms-track {
|
||||
width: $form-range-track-width;
|
||||
height: $form-range-track-height;
|
||||
color: transparent;
|
||||
cursor: $form-range-track-cursor;
|
||||
background-color: transparent;
|
||||
border-color: transparent;
|
||||
border-width: $form-range-thumb-height / 2;
|
||||
@include box-shadow($form-range-track-box-shadow);
|
||||
}
|
||||
|
||||
&::-ms-fill-lower {
|
||||
background-color: $form-range-track-bg;
|
||||
@include border-radius($form-range-track-border-radius);
|
||||
}
|
||||
|
||||
&::-ms-fill-upper {
|
||||
margin-right: 15px; // arbitrary?
|
||||
background-color: $form-range-track-bg;
|
||||
@include border-radius($form-range-track-border-radius);
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
pointer-events: none;
|
||||
|
||||
@ -128,9 +87,5 @@
|
||||
&::-moz-range-thumb {
|
||||
background-color: $form-range-thumb-disabled-bg;
|
||||
}
|
||||
|
||||
&::-ms-thumb {
|
||||
background-color: $form-range-thumb-disabled-bg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -32,16 +32,6 @@
|
||||
// Avoid using mixin so we can pass custom focus shadow properly
|
||||
box-shadow: $form-select-focus-box-shadow;
|
||||
}
|
||||
|
||||
&::-ms-value {
|
||||
// For visual consistency with other platforms/browsers,
|
||||
// suppress the default white text on blue background highlight given to
|
||||
// the selected option text when the (still closed) <select> receives focus
|
||||
// in Edge.
|
||||
// See https://github.com/twbs/bootstrap/issues/19398.
|
||||
color: $input-color;
|
||||
background-color: $input-bg;
|
||||
}
|
||||
}
|
||||
|
||||
&[multiple],
|
||||
|
@ -273,7 +273,6 @@
|
||||
padding: 1rem;
|
||||
margin-bottom: 1rem;
|
||||
background-color: $gray-100;
|
||||
-ms-overflow-style: -ms-autohiding-scrollbar;
|
||||
|
||||
@include media-breakpoint-up(sm) {
|
||||
padding: 1rem 1.5rem;
|
||||
|
@ -10,8 +10,6 @@ toc: true
|
||||
|
||||
Wrap a pair of `<input class="form-control">` and `<label>` elements in `.form-floating` to enable floating labels with Bootstrap's textual form fields. A `placeholder` is required on each `<input>` as our method of CSS-only floating labels uses the `:placeholder-shown` pseudo-element. Also note that the `<input>` must come first so we can utilize a sibling selector (e.g., `~`).
|
||||
|
||||
This approach works in the new Microsoft Edge built on Chromium and gracefully degrades on older versions.
|
||||
|
||||
{{< example >}}
|
||||
<div class="form-floating mb-3">
|
||||
<input type="email" class="form-control" id="floatingInput" placeholder="name@example.com">
|
||||
|
@ -8,7 +8,7 @@ toc: true
|
||||
|
||||
## Supported browsers
|
||||
|
||||
Bootstrap supports the **latest, stable releases** of all major browsers and platforms. This also includes the latest version of Legacy Edge (EdgeHTML layout engine).
|
||||
Bootstrap supports the **latest, stable releases** of all major browsers and platforms.
|
||||
|
||||
Alternative browsers which use the latest version of WebKit, Blink, or Gecko, whether directly or via the platform's web view API, are not explicitly supported. However, Bootstrap should (in most cases) display and function correctly in these browsers as well. More specific support information is provided below.
|
||||
|
||||
|
@ -9,6 +9,10 @@ toc: true
|
||||
|
||||
## v5.0.0-alpha3
|
||||
|
||||
### Browser support
|
||||
|
||||
- Dropped support for Microsoft Edge Legacy. See [here](#browser-support-1) for the previous browser support changes.
|
||||
|
||||
### Colors
|
||||
|
||||
- The color system which worked with `color-level()` and `$theme-color-interval` was removed in favor of a new color system.
|
||||
|
@ -23,7 +23,6 @@
|
||||
text-anchor: middle;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user