-
Notifications
You must be signed in to change notification settings - Fork 17
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
Adapt Buttons #386
Comments
I'm in agreement with this. Before any implementation, I'm in favour of reviewing all Adapt buttons so we can group/categorise accordingly and discuss best approach. Currently in Adapt we only categorise buttons by whether the button contains text or icon. However, not all buttons include |
In regards to categorising buttons, I was looking at the following: UI elements
Content elements
Initially I started looking at the colour variable application in Adapt, where we have inconsistencies etc so I've already documented which buttons we have in the following categories and where they inherit colour (from base I think as well as the button types/categories, it's also worth documenting the various states for each button type. I've noticed buttons of the same group/type share the same button states. The disabled button state issue raised will also feed into this. |
Hi @ethan-lp, although this is button related it sounds like a separate issue specific to the positioning of the |
Thank you both issue has been raised here - #390 |
@guywillis @kirsty-hames , I think we're in agreement that the above is the right approach (refinements accepted). So if thats the case will need to formulate the best forward thinking approach to this. Once we've agreed this is the general direction is correct. I'll add some ideas about how to achieve. |
@guywillis just reading though you're mixing. I see you've added a box shadow. So, my comment doesn't address how we'd deal with 3d type buttons so maybe we need to weave that in to my flat button comments also. And perhaps box-shadow is a good method for this. |
In terms of a API, I think I was imagining a tailwind-esq approach from api/famework buttons, so classes like 'primary' 'secondary' classes get added to the DOM but open to suggestions here too. I think due to the complexity here we may need to think about prototyping something do help discover pros and cons to different approaches. |
I'm all for prototyping and I think the terminology/class names can be refined once we've established the button requirements/use cases etc. |
@StuartNicholls, @guywillis, it might be worth collating button use cases such as the more complex brand guidelines we know we often adhere to on projects. Whether we incorporate all use cases in Adapt as standard or create a base for which we can support the more complex in custom theming is up for discussion. |
The majority of implementations I've done using box shadow don't stray into the 3d style, instead they focus on requirement workarounds:
In terms of brand guidelines they usually define buttons in four main categories:
pressed - in some instances this is a separately defined style to focused in the guidelines but I don't tend to attach anything to this particular state I don't believe I've gone any more complex than this on projects, and don't see a particular need (at present) for Adapt to introduce anything more complicated. They'll need to be alternate versions such as plain, outlined, filled and their inverted variants but they can still follow the 4 main states list above. |
Subject of the issue
The buttons in Adapt are in need of modernisation. This includes a categorisation activity to group similar visual styles or actions together, normalising the implementation of styles across Adapt, and a visual refresh.
Categorisation
The grouping of buttons with similar visual styles or actions would help with presenting a consistent approach to the end user. Currently UI elements such as narrative controls have the same visual treatment as component elements like accordion items potentially introducing confusion to the end user when similarly styled elements behave differently visually and functionally.
For example:
Normalisation
The button styles in Adapt are quite simplistic in approach and don't necessarily lend themselves to supporting the range of styling requirements or states required in Adapt. The introduction of a mixin layer above the base variables could go some of the way to satisfying the need for normalising the implementation.
Example code snippet:
Which is then applied at the various elements in a fashion similar to the following:
Visual style
While we're undergoing this examination of the buttons, it's prudent to also consider the visual style of the buttons in Adapt. Perhaps we could look to refresh the colour scheme and or style of the buttons through out.
Working list of where buttons appear in Adapt at present:
The text was updated successfully, but these errors were encountered: