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

Add Splitter component #512

Open
josgraha opened this issue Apr 16, 2019 · 13 comments
Open

Add Splitter component #512

josgraha opened this issue Apr 16, 2019 · 13 comments
Labels
new feature New feature or request waiting for 👍 Waiting for upvotes

Comments

@josgraha
Copy link

josgraha commented Apr 16, 2019

As an MUI developer, I would like a Splitter component so I can create draggable dividers in UI regions as per the Material Design spec below.
https://material.io/design/layout/responsive-layout-grid.html#ui-regions

Expected Behavior 🤔

The expected behavior should be a draggable divider where the panes adhere to the Material spec responsive patterns.
https://material.io/design/layout/component-behavior.html#responsive-patterns

The draggable divider should adhere to the Material design standards for "Drag" gesture
https://material.io/design/interaction/gestures.html#types-of-gestures

Current Behavior 😯

Currently there is not a splitter component in the component list or roadmap so this will be a "Labs" component.

Examples 🌈

This component will be a fork of the react-split-pane component as a starting point. The examples can be found here.

Context 🔦

We hope that by forking the react-split-pane component and supporting desktop use cases for interacting with UI regions we can join the Responsive Patterns and the Drag Gesture Material Designs into a cohesive experience for users with large screen sizes, 7+ (greater than 7 inch diagonal) as it is referred to in the USA. We also hope to combine the API of the m-react-splitters with the stability and quality of react-split-pane but by initially forking the stable react-split-pane we will have a good starting point to evolve future requirements.
We also feel that the exceptional quality of the MUI project configuration and build tooling will be a great platform for future exploration and evolution of this API.

Benchmark

Related

@mbrookes

This comment was marked as resolved.

@oliviertassinari

This comment was marked as resolved.

@oliviertassinari
Copy link
Member

@josgraha Do you have something like this in mind https://v1.quasar-framework.org/vue-components/splitter?

@oliviertassinari oliviertassinari changed the title Splitter component Add Splitter component Apr 21, 2019
@sjlongland
Copy link

I just dropped the current stable release of react-split-pane in and it worked like a charm… is much more really needed?

@josgraha

This comment has been minimized.

@josgraha
Copy link
Author

josgraha commented Apr 26, 2019

@mbrookes @oliviertassinari I am going to raise a PR on this. The idea is to fork react-split-pane because they are not a fan of hooks or mono-repos and it would be nice to evolve to a more ambitious API in the future. I also think the demos are easier to follow here and certainly easier to get up and running. I think react-split-pane was brilliantly executed but prior to the last release the site was down and it was poor DX to run the examples. I don't blame react-split-pane and given how much effort it is to maintain a public repo like this a tooling pivot or uplifting tech would require a lot of resources on an already under-resourced project.

@oliviertassinari
Copy link
Member

oliviertassinari commented Apr 26, 2019

@josgraha react-split-pane seems to be decent enough. Given the number of stars, we will probably not accept any pull request on our lab until people upvote this issue in a significant way. We have different priorities, for now :).

@mbrookes

This comment was marked as outdated.

@oliviertassinari

This comment was marked as resolved.

@josgraha
Copy link
Author

thanks so much for the discussion, great suggestions too.

@josgraha
Copy link
Author

@josgraha Do you have something like this in mind v1.quasar-framework.org/vue-components/splitter?

nice api, thanks!

@oliviertassinari oliviertassinari transferred this issue from mui/material-ui Oct 30, 2020
@oliviertassinari oliviertassinari added the new feature New feature or request label Oct 17, 2021
@mbrookes

This comment was marked as resolved.

@jmynes
Copy link

jmynes commented Sep 25, 2024

I hope this gets merged, a Splitter component would be very useful.

Have you seen this repo? It is much more recently updated than react-split-pane:
https://github.com/bvaughn/react-resizable-panels

It was linked in the related issue #13931 (comment)

And is used by shadcn:
https://ui.shadcn.com/docs/components/resizable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature New feature or request waiting for 👍 Waiting for upvotes
Projects
None yet
Development

No branches or pull requests

5 participants