Comments (5)
For deep slots, what should be the usage? I'm thinking
Make sense to me for the time being but in v7, we should consider restructuring components to not have nested slots.
from material-ui.
cc @DiegoAndai should we have another umbrella to take care of the completeness of slots
and slotProps
as a follow-up from the deprecation? I can own this if you'd like.
from material-ui.
Hey @quibaritaenperdresatrompe, thanks for the report! The button icon's slots are under the action slots, as they're slots of the TablePaginationActions
component. So you can access them through, for example, MuiTablePagination.defaultProps.slots.actions.nextButtonIcon
. Here's an example: https://stackblitz.com/edit/stackblitz-starters-5rgtos?file=src%2FApp.tsx.
I would mark this issue as expected by design.
For context, this was introduced in #39353.
cc @DiegoAndai should we have another umbrella to take care of the completeness of slots and slotProps as a follow-up from the deprecation? I can own this if you'd like.
@siriwatknp Yes, I think we should have an issue for that 🙌🏼 the goal would be to add any missing slots
and slotProps
that were not added due to a deprecation. Could you create that issue?
I'm also curious about what you think about the sidenote in #33797 (comment):
I realized that we made a mistake in that PR. It should be
slotProps.actions.slotProps.firstButton
.
For deep slots, what should be the usage? I'm thinking
slots.<slot>
to override one-level slotsslotProps.<slot>
to override one-level slot's propsslotProps.<parentSlot>.slots.<childSlot>
to override two-level slotsslotProps.<parentSlot>.slotProps.<childSlot>
to override two-level slot's propsslotProps.<grandparentSlot>.slotProps.<parentSlot>.slots.<childSlot>
to override three-level slots- ...
I don't know if we have any more of these. If we go with that, then the current TablePagination
implementation is incorrect as it shouldn't allow slots.actions.nextButtonIcon
, the correct path should be slotProps.actions.slots.nextButtonIcon
.
from material-ui.
I think we should close this issue as expected and create a new one to remove nested slots in the future; what do you think?
from material-ui.
I think we should close this issue as expected and create a new one to remove nested slots in the future; what do you think?
Sounds good. The new issue could be an umbrella one that covers all existing components that contain nested slots.
from material-ui.
Related Issues (20)
- [docs-infra] IntelliSense (quick info) on code previews HOT 1
- [material-ui][ListItem] Remove props which have been deprecated since 2021 HOT 10
- [tabs] How to stop re-rendering it? HOT 3
- Select value prop HOT 1
- [experimental_extendTheme] Unable to use custom css variable in theme HOT 2
- [material-ui][Menu] Several menu items inside a component are not accessible HOT 4
- [material-ui][Menu] Menu Item custom attribute is not accessible on a select TextField's onChange HOT 2
- [examples] Build error on the material-ui-nextjs-ts project HOT 2
- [material-ui][docs] v4 docs not available HOT 5
- [material-ui][TextareaAutosize] Resizing unstable and styles not applied in v5.15.11 HOT 3
- [material-ui][Alert] Can't set `slots` in theme's `defaultProps` in 5.15.11 HOT 3
- [icons] Mismatch design for `ThumbUpOffAltSharp` compared to `ThumbDownOffAltSharpIcon` HOT 3
- [material-ui][Autocomplete] Popover does not resize when `disableCloseOnSelect` is true for multiple variant when contained in a flex container HOT 2
- [material-ui][DialogContent] Problem with Tailwind CSS classes HOT 2
- [pigment-css][core] Use npm package name for folder name HOT 2
- [joy-ui] Add Spin component HOT 6
- [material-ui][Button] Hover animation glitches when component state changes HOT 2
- [material-ui][Select] SelectProps suddenly break by making variant required HOT 10
- [material-ui][StepLabel] Component displayed in the correct direction HOT 2
- [material-ui][ButtonGroup] Problems with inheriting styles from shared component HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from material-ui.