-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
[Design system V2] Content Tabs #9440
Comments
This issue is stale because it has been open 45 days with no activity. |
Picked this one up, will report back soon. ✌️ |
I've been digging around the website a bit to find the examples and saw an additional case where tabs were used. I'll go over each case with some feedback and the proposed designs to provide some additional context for the final components. A more easy to digest version of the result can be found on the Final Proposal page in Figma :) Case 1While the key blue fill is a real eyecatcher, I personally think it's a bit too much for a tab since it's not a real Call-to-Action, like a primary button, and shouldn't require that much attention. So with the above considered, and fiddling around with some alternatives, I'd suggest going with the most basic solution. Mobile behaviourCurrently, the words just break into multiple lines and after that the whole tab-bar will render out of the viewport. For this specific case it will display fine on most devices but will have problems on smaller ones or when more tabs are added. In terms of making it scalable, I guess this one depends on how far we want to go with this but I guess horizontal scroll functionality would be preferred when there are more items. Ideally with an indication that more tabs are available. This can be achieved by making sure part of an exit tab is visible, suggesting there is more. It will often be the case by default but there's always a chance a tab starts outside the viewport. This could be countered by dynamically adjusting the whitespace a bit between tabs or using a fade technique. Tightening the page outer margins on the sides on the mobile breakpoint would also be a great addition imo (The navigation bar does this). It's currently 32px on each side, perhaps could be reduced to let's say 16px? That being said, I'm personally not convinced the tab component is the right choice for this specific section. Tab labels are preferably short and shouldn't contain any questions. The FAQ component or something similar is maybe a better fit? Not sure.. In telling the "What is Ethereum" story it could even be reformatted into regular paragraphs since it's such key knowledge? Anyway, this is besides the point of the actual assignment and more of a content thing. Case 2Vertical layout variant of tabs in case 1. I've also added a tab variant which enables a coloured background to the active tab. Mobile behaviourFallback to menu button to switch tabs. Perhaps there's something to be said to swap out the hamburger into a select icon for this usecase. Hamburger feels more top level navigation like, and could feel like you'll navigate away from current context, which isn't the case. Case 3This is quite an expressive visualisation! I don't think this should be formalised as a component in the design system but can easily be aligned with case 2. Vanilla styled component use A more expressive modded version (not 100% sure it's possible for contributing devs to overwrite component code) As a side note: There's also a bit of a UX issue in the current implementation when clicking the tabs on desktop. The order of the tabs gets repositioned, potentially leaving the user confused on where they are and what to click next. Also, the tabs are not accessible through keyboard (no tab-index). Case 4Basically an additional visualisation of the tab component, which isn't included in the DS but could be definitely added for some visual diversification. This one made me add an XLarge size for all tabs. The dropshadow on the active variant isn't currently included in the component style and would rather be an ad-hoc implementation choice. To round up and support the above usecases the following components have been designed: The actual use could vary and ideally would allow for some customisation together with the tab-content to fit the needs: Some examples of these can be found on the Design Work page in Figma. Feedback welcome! Cheers guys! ✌️✌️ |
oh my!! this is awesome! Thank you!!! I need to set some time to review and merge it o the main file!!! but at a glance, it looks awesome!! |
You're welcome! |
@ddannehh, let me know if there is anything else you want to work on to complete the DS. I'm open to ideas or components that I might have missed or created an issue for. |
@nloureiro I've added these in the main DS file and relinked all styles/vars, should be working :) |
This issue is stale because it has been open 30 days with no activity. |
Hey folks! Circling through; @nloureiro are we waiting on a review from you for any of this? What are next steps here? |
Intro
This issue is a part of the Design System V2 Epic and can be assigned to anyone who wants to collaborate.
You can use the comments to sign that you want to work on this, and this issue can be assigned to you.
If you have any questions about it, please don't hesitate to reach out on the comments or on our discord
Description
There are different methods of displaying tabular content in production, and this aims to unify how to use tabs in different situations for a more consistent user experience.
[Ethereum.org](http://ethereum.org/) tabs can range from "simple/classic tabs" to “stablecoins” page tabs that feature more diverse content.
Tabs are a great tool for creating a more consistent user experience, and it is important to understand the different options available in order to make the most out of their use.
For example, tabs can be used to organize large amounts of information in a more organized, intuitive way, or to make it easier for users to navigate.
Link to the Figma file to be worked on
workflow
These are the main steps for each task.
Use a separate Figma file.
Identify on which pages the component is used.
Identify the chakra component to be used as a base (if any)
Work on the design.
Test and validate the new component on Figma.
Validation and feedback.
Spec to handover to code.
Merge with the master Figma file of the Design system.
Close the issue and publish the Design system update on the Figma community**.
The text was updated successfully, but these errors were encountered: