This package hosts the incubator components that are not yet ready to move to the core.
The main difference between the lab and the core is how the components are versioned. Having a separate lab package allows us to release breaking changes when necessary while the core package follows a slower-moving policy.
As developers use and test the components and report issues, the maintainers learn more about shortcomings of the components: missing features, accessibility issues, bugs, API design, etc. The older and more used a component is, the less likely it is that new issues will be found and subsequently need to introduce breaking changes.
For a component to be ready to move to the core, the following criteria are considered:
To install and save in your package.json
dependencies, run one of the following commands:
npm install @mui/lab @mui/material
pnpm add @mui/lab @mui/material
yarn add @mui/lab @mui/material
Note that the lab has a peer dependency on the Material UI components.
In order to benefit from the CSS overrides and default prop customization with the theme, TypeScript users need to import the following types. Internally, it uses module augmentation to extend the default theme structure with the extension components available in the lab.
import type {} from '@mui/lab/themeAugmentation';
const theme = createTheme({
components: {
MuiTimeline: {
styleOverrides: {
root: {
backgroundColor: 'red',
},
},
},
},
});