v6 thoughts #2932
Replies: 9 comments 14 replies
-
Currently there are many issues and discussions about the mobile, and I am thinking about whether the mobile adaptation can be improved. There is no need for a full refactoring of interaction design, at least to make existing components work on mobile. And mark all components with symbols(📱 🖥) to avoid finding out that they are not supported after use. |
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
Better API for passing props down to nested componentsMany of RSUITE components are composed out of some other components, and it has been difficult to pass props to those underlying components. Often we simply spread props of underlying components directly on upper components, e.g. Uploader accepts some of Button's props and passes them down to the underlying Button component. But it gradually becomes hard to tell which props are supposed to be passed down, and which props are supposed to be applied on the component itself. For example a Therefore, I would like to introduce new APIs that allow user to explicitly specify what props should be passed down to what components. Here's one possible signature: <Uploader
action="/api/upload"
ButtonProps={{ // or buttonProps
appearance: 'primary',
size: 'sm'
}}
/>
<AutoComplete
value={value}
onChange={onChange}
OverlayProps={{ // or overlayProps
onEnter,
onExit
}}
/> |
Beta Was this translation helpful? Give feedback.
-
#2493 |
Beta Was this translation helpful? Give feedback.
-
Please don't migrate to
I hope you can keep using the current css class name system. |
Beta Was this translation helpful? Give feedback.
-
When reactsuite will be 100% responsive? |
Beta Was this translation helpful? Give feedback.
-
My 0.02$. I'm new to rsuite but have been super impressed. One of the main draws was its not using CSS-in-JS. I have wrestled that beast for almost 2 decades now, and can tell you there is no winning. With CSS Variables with CSS Modules you can accomplish 99% of what CSS-in-JS does, without re-inventing the universe. Every project I have seen with CSS-in-JS is a maintenance problem and a performance problem. I have a lot of experience with this approach and would be happy to share some architectural ideas that would make it super nice to develop with. |
Beta Was this translation helpful? Give feedback.
-
Would you consider a change from |
Beta Was this translation helpful? Give feedback.
-
🚀 I really want rsuite to be responsive, if yo uguys will introduce at least a copy of Bootstrap grid, BOOM 👀. Material is forgotten for me, but I think also for ther people... |
Beta Was this translation helpful? Give feedback.
-
I guess this is the proper place to share with you my fragmentary thoughts about v6.
This is not a fixed v6 roadmap, feel free to add your thoughts and ideas as comments.
Thoughts
Minimal breaking changes
First thing first, I want to limit the breaking changes in v6 (and future major releases) to as few as possible. 14 months have passed since rsuite v5 was released. During this period of time using and maintaining rsuite v5, we have seen features/fixes/improvements we want to add, some of which may introduce unavoidable breaking changes.
Some OSS I've used managed to make major upgrades so smooth and I really want to make upgrading rsuite an experience of that level.
Cleanup deprecated APIs
Drop compatibility support for APIs that are deprecated in v5 and before.
Drop IE support
It will allow us to move on to newer technologies, e.g.
:has
and:where
CSS selectors.Regard react <18 as legacy support
Keep up with latest react major releases.
Stylesheet -> CSS in JS
I've been authoring and maintaining lots of libraries - which are based on rsuite components - for our team members at work, and my library users and I did suffer from always having to import separate stylesheets. Most importantly it makes customization not as smart. MUI is doing great with its component customization APIs, which benefits from CSS in JS. I'm impressed by the flexibility MUI provides and wish we can have them in rsuite too.
Development
After some codebase cleanups (soon), we're going to explicitly start the development of v6 by checking out a
5.x
branch frommain
. It does not mean immediate stop of v5. On the contrary, any backward-compatible changes added to v6 development should also be back-ported into5.x
, making v6 least different with latest v5 at its release time.Beta Was this translation helpful? Give feedback.
All reactions