Allow overriding props in styled
Open
Nobody has claimed this yet.
scope: system
type: new feature
- Dominant language
- JavaScript
- Stars
- 99.1k
- Forks
- 32.5k
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 106
Description
Summary
When created reusable components, it is often very helpful to pass default props to the component.
Adding props to interface MuiStyledOptions will allow the users to set these props.
Examples
One use case:
Creating a reusable outlined button with extra css.
Instead of doing:
export const FullWidthOutlinedButton = styled(Button)(({ theme }) => ({
width: '100%',
marginTop: theme.spacing(5),
}))
and always remembering to add the variant when using the component, we can do this:
export const FullWidthOutlinedButton = styled(Button, {props: {varient: "outlined"}})(({ theme }) => ({
width: '100%',
marginTop: theme.spacing(5),
}))
I know the css here is generic but the possibilities are endless
Motivation
Improving DX when creating reusable components, and minimizing human error
Search keywords: props defaults custom
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.