Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[docs] Drop IE 11 official support #41611

Merged
merged 3 commits into from
Apr 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/data/material/components/app-bar/app-bar.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ A prominent app bar.

When you render the app bar position fixed, the dimension of the element doesn't impact the rest of the page. This can cause some part of your content to be invisible, behind the app bar. Here are 3 possible solutions:

1. You can use `position="sticky"` instead of fixed. ⚠️ sticky is not supported by IE 11.
1. You can use `position="sticky"` instead of fixed.
2. You can render a second `<Toolbar />` component:

```jsx
Expand Down
4 changes: 0 additions & 4 deletions docs/data/material/components/cards/cards.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,6 @@ By default, we use the combination of a `<div>` element and a _background image_

{{"demo": "ImgMediaCard.js", "bg": true}}

:::warning
When `component="img"`, CardMedia relies on `object-fit` for centering the image. It's not supported by IE 11.
:::

## Primary action

Often a card allow users to interact with the entirety of its surface to trigger its main action, be it an expansion, a link to another screen or some other behavior. The action area of the card can be specified by wrapping its contents in a `CardActionArea` component.
Expand Down
1 change: 0 additions & 1 deletion docs/data/material/components/lists/lists.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,6 @@ The switch is the secondary action and a separate target.

Upon scrolling, subheaders remain pinned to the top of the screen until pushed off screen by the next subheader.
This feature relies on CSS sticky positioning.
(⚠️ no IE 11 support)

{{"demo": "PinnedSubheaderList.js", "bg": true}}

Expand Down
23 changes: 0 additions & 23 deletions docs/data/material/components/progress/progress.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,26 +127,3 @@ If you need to perform 30 re-renders per second or more, we recommend disabling
transition: none;
}
```

### IE 11

The circular progress component animation on IE 11 is degraded.
The stroke dash animation is not working (equivalent to `disableShrink`) and the circular animation wobbles.
You can solve the latter with:

```css
.MuiCircularProgress-indeterminate {
animation: circular-rotate 1.4s linear infinite;
}

@keyframes circular-rotate {
0% {
transform: rotate(0deg);
/* Fix IE 11 wobbly */
transform-origin: 50% 50%;
}
100% {
transform: rotate(360deg);
}
}
```
14 changes: 0 additions & 14 deletions docs/data/material/components/slider/slider.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,17 +151,3 @@ However, you need to make sure that:
- Each thumb has a user-friendly text for its current value.
This is not required if the value matches the semantics of the label.
You can change the name with the `getAriaValueText` or `aria-valuetext` prop.

## Limitations

### IE 11

The slider's value label is not centered in IE 11.
The alignment is not handled to make customizations easier with the latest browsers.
You can solve the issue with:

```css
.MuiSlider-valueLabel {
left: calc(-50% - 4px);
}
```
1 change: 0 additions & 1 deletion docs/data/material/components/table/table.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,6 @@ The `ActionsComponent` prop of the `TablePagination` component allows the implem

Here is an example of a table with scrollable rows and fixed column headers.
It leverages the `stickyHeader` prop.
(⚠️ no IE 11 support)

{{"demo": "StickyHeadTable.js", "bg": true}}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ You don't need to provide any JavaScript polyfill as it manages unsupported brow

<!-- #stable-snapshot -->

| Edge | Firefox | Chrome | Safari (macOS) | Safari (iOS) | IE |
| :----- | :------ | :----- | :------------- | :----------- | :------------------- |
| >= 121 | >= 115 | >= 109 | >= 15.4 | >= 15.4 | 11 (partial support) |
| Edge | Firefox | Chrome | Safari (macOS) | Safari (iOS) |
| :----- | :------ | :----- | :------------- | :----------- |
| >= 121 | >= 115 | >= 109 | >= 15.4 | >= 15.4 |

<!-- #default-branch-switch -->

Expand All @@ -21,20 +21,6 @@ Because Googlebot uses a web rendering service (WRS) to index the page content,
[WRS regularly updates the rendering engine it uses](https://webmasters.googleblog.com/2019/05/the-new-evergreen-googlebot.html).
You can expect Material UI's components to render without major issues.

### IE 11

Material UI provides **partial** supports for IE 11. Be aware of the following:

- Some of the components have no support. For instance, the new components, the data grid, the date picker.
- Some of the components have degraded support. For instance, the outlined input border radius is missing, the combobox doesn't remove diacritics, the circular progress animation is wobbling.
- The documentation itself might crash.
- You need to install the [legacy bundle](/material-ui/guides/minimizing-bundle-size/#legacy-bundle).
- You might need to install polyfills. For instance for the [popper.js transitive dependency](https://popper.js.org/docs/v2/browser-support/#ie11).

Overall, the library doesn't prioritize the support of IE 11 if it harms the most common use cases. For instance, we will close new issues opened about IE 11 and might not merge pull requests that improve IE 11 support.

v6 will completely remove the support of IE 11.

## Server

<!-- #stable-snapshot -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,10 +214,7 @@ It will perform the following diffs:

The packages published on npm are **transpiled** with [Babel](https://github.com/babel/babel), optimized for performance with the [supported platforms](/material-ui/getting-started/supported-platforms/).

Custom bundles are also available:

- [Modern bundle](#modern-bundle)
- [Legacy bundle](#legacy-bundle)
A [modern bundle](#modern-bundle) is also available.

### How to use custom bundles?

Expand Down Expand Up @@ -264,9 +261,3 @@ A great way to use these bundles is to configure bundler aliases, for example wi
The modern bundle can be found under the [`/modern` folder](https://unpkg.com/@mui/material/modern/).
It targets the latest released versions of evergreen browsers (Chrome, Firefox, Safari, Edge).
This can be used to make separate bundles targeting different browsers.

### Legacy bundle

If you need to support IE 11 you cannot use the default or modern bundle without transpilation.
However, you can use the legacy bundle found under the [`/legacy` folder](https://unpkg.com/@mui/material/legacy/).
You don't need any additional polyfills.
2 changes: 1 addition & 1 deletion docs/data/material/migration/migration-v4/migration-v4.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ The default bundle supports the following minimum versions:
- and more (see [.browserslistrc (`stable` entry)](https://github.com/mui/material-ui/blob/v5.0.0/.browserslistrc#L11))

Material UI no longer supports IE 11.
If you need to support IE 11, check out our [legacy bundle](/material-ui/guides/minimizing-bundle-size/#legacy-bundle).
If you need to support IE 11, check out the [legacy bundle](https://v5.mui.com/material-ui/guides/minimizing-bundle-size/#legacy-bundle).

## Update React & TypeScript version

Expand Down
4 changes: 2 additions & 2 deletions docs/translations/api-docs-joy/table/table.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@
"slotProps": { "description": "The props used for each slot inside." },
"slots": { "description": "The components used for each slot inside." },
"stickyFooter": {
"description": "If <code>true</code>, the footer always appear at the bottom of the overflow table.<br>⚠️ It doesn&#39;t work with IE11."
"description": "If <code>true</code>, the footer always appear at the bottom of the overflow table."
},
"stickyHeader": {
"description": "If <code>true</code>, the header always appear at the top of the overflow table.<br>⚠️ It doesn&#39;t work with IE11."
"description": "If <code>true</code>, the header always appear at the top of the overflow table."
},
"stripe": {
"description": "The odd or even row of the table body will have subtle background color."
Expand Down
4 changes: 1 addition & 3 deletions docs/translations/api-docs/table/table.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,7 @@
},
"padding": { "description": "Allows TableCells to inherit padding of the Table." },
"size": { "description": "Allows TableCells to inherit size of the Table." },
"stickyHeader": {
"description": "Set the header sticky.<br>⚠️ It doesn&#39;t work with IE11."
},
"stickyHeader": { "description": "Set the header sticky." },
"sx": {
"description": "The system prop that allows defining system overrides as well as additional CSS styles."
}
Expand Down
4 changes: 0 additions & 4 deletions packages/mui-joy/src/Table/Table.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -418,15 +418,11 @@ Table.propTypes /* remove-proptypes */ = {
}),
/**
* If `true`, the footer always appear at the bottom of the overflow table.
*
* ⚠️ It doesn't work with IE11.
* @default false
*/
stickyFooter: PropTypes.bool,
/**
* If `true`, the header always appear at the top of the overflow table.
*
* ⚠️ It doesn't work with IE11.
* @default false
*/
stickyHeader: PropTypes.bool,
Expand Down
4 changes: 0 additions & 4 deletions packages/mui-joy/src/Table/TableProps.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,15 +65,11 @@ export interface TableTypeMap<P = {}, D extends React.ElementType = 'table'> {
size?: OverridableStringUnion<'sm' | 'md' | 'lg', TablePropsSizeOverrides>;
/**
* If `true`, the header always appear at the top of the overflow table.
*
* ⚠️ It doesn't work with IE11.
* @default false
*/
stickyHeader?: boolean;
/**
* If `true`, the footer always appear at the bottom of the overflow table.
*
* ⚠️ It doesn't work with IE11.
* @default false
*/
stickyFooter?: boolean;
Expand Down
2 changes: 0 additions & 2 deletions packages/mui-material/src/Table/Table.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@ export interface TableOwnProps {
size?: OverridableStringUnion<'small' | 'medium', TablePropsSizeOverrides>;
/**
* Set the header sticky.
*
* ⚠️ It doesn't work with IE11.
* @default false
*/
stickyHeader?: boolean;
Expand Down
2 changes: 0 additions & 2 deletions packages/mui-material/src/Table/Table.js
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,6 @@ Table.propTypes /* remove-proptypes */ = {
]),
/**
* Set the header sticky.
*
* ⚠️ It doesn't work with IE11.
* @default false
*/
stickyHeader: PropTypes.bool,
Expand Down
Loading