Skip to content

[Tabs] Add vertical support #8662

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

Closed
waheed25 opened this issue Oct 12, 2017 · 8 comments · Fixed by #16628
Closed

[Tabs] Add vertical support #8662

waheed25 opened this issue Oct 12, 2017 · 8 comments · Fixed by #16628
Labels
component: tabs This is the name of the generic UI component, not the React module! new feature New feature or request

Comments

@waheed25
Copy link

waheed25 commented Oct 12, 2017

material ui tabs default behaviour is horizontal but i want to use tabs in vertically align is there any props or ways for set tabs in vertically align i read the tabs documentation but didn't find any way to use tabs in vertically.
like this manner
https://codepen.io/rahul-sagore/pen/WwZXGa
i found an example on this link in html and css
Is there any solution of that???

@oliviertassinari
Copy link
Member

oliviertassinari commented Oct 12, 2017

@waheed25 I can't find any reference to vertical tabs in the material specification. It's something you can build on userland. It would be aweseome to share the implementation here once you have it :).

@oliviertassinari oliviertassinari added component: tabs This is the name of the generic UI component, not the React module! out of scope The problem looks valid but we won't fix it (maybe we will revisit it in the future) labels Oct 12, 2017
@vtrphan
Copy link

vtrphan commented Mar 17, 2018

hi, i'm sure there is this vertical tab component
See: https://www.google.de/intl/en_de/policies/privacy/
It would be nice to have it for material-ui too

@oliviertassinari
Copy link
Member

@vtrphan It's unlikely we will implement custom components like this one. We focus on implementing components that are highly used and requested. The idiomatic Material way to solve this component problem is to use a drawer + a list.

@nywooz
Copy link

nywooz commented May 31, 2018

@oliviertassinari , good explanation of the reasons behind this decision. Completely makes sense.

@hsiung
Copy link

hsiung commented Aug 2, 2018

Hi Olivier

You said "The idiomatic Material way to solve this component problem is to use a drawer + a list".

I don't agree. A Drawer is a navigation component. Tab is a container. It's bad design to use one for the other usage. The problem described by Waheed is a not just a cosmetic issue (horizontal tab -> vertical tab). The problem is the general one. How to represent 2 dimensional container. The Tab component is a solution to the 1 dimensional container. In most of the 50 projects I worked at in the last 20 years, I found the requirement to represent 2 dimensional containers. It's not just an exotic requirement. Our representation of the world is very often 2 dimensional. I would agree with you that 3 dimension is less trivial. But I do not agree that representing a container dependent on 2 parameters is not highly requested. If you would have it, you will use it!
Having stated the problem and the motivation, what is the solution? Nested Tabs is not recommended (as of Material Design guideline, and I agree). I think that vertical Tabs combined with horizontal Tabs is a convincing solution. It is constant with the container metaphor of Tabs and it looks very consistent with Material Design. An example of the implementation is the one of Rahul Sagore. https://codepen.io/rahul-sagore/pen/WwZXGa

Regards

@hafbau
Copy link

hafbau commented Oct 25, 2018

For future people looking for a simple way to make this work still with material-ui, here's a gist that worked for my case: https://gist.github.com/hafbau/1a332cf84455aafc2dcd2716ee14fcc1

@oliviertassinari oliviertassinari added new feature New feature or request and removed out of scope The problem looks valid but we won't fix it (maybe we will revisit it in the future) labels Apr 20, 2019
@oliviertassinari oliviertassinari changed the title Vertical Tabs Required [Tabs] Add vertical support Apr 20, 2019
@oliviertassinari
Copy link
Member

oliviertassinari commented Apr 20, 2019

We have recently changed our Roadmap. Given this feature seems to be requested and that the implementation cost is small, I think that we can reconsider it. I was looking at https://v1.quasar-framework.org/vue-components/tabs. It looks nice.

Capture d’écran 2019-04-20 à 21 10 49.

I have isolated @hafbau example into a codesandbox:
Capture d’écran 2019-04-20 à 21 15 55
https://codesandbox.io/s/n9ww0pq7p4

@oliviertassinari
Copy link
Member

oliviertassinari commented Jul 22, 2019

A proposal implementation: #16628, feedback welcomed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: tabs This is the name of the generic UI component, not the React module! new feature New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants