Context
As our component library grows, it’s important to maintain a clear and understandable structure to ensure components are easy to find and use. Properly grouping components under appropriate headings will improve organization, identification, and usability.
Problem
Without a clear grouping strategy, components may become difficult to locate, leading to inefficiencies and inconsistent usage. Misplaced or poorly categorised components can confuse and hinder the development and design process.
Proposed Solution
We propose a system of functional grouping: organising components based on their functionality.
Each component group will have a description that helps consumers of the component library understand the purpose of these components.
Using this method will allow:
- creators to easily categorise and group their components accordingly
- design consumers to identify components according to their required needs and use cases
- code consumers to identify components at a root level that match what is in a design
Key Considerations
- Consistency: Ensure that all components are grouped logically and consistently across the Component Library Package and Figma Component Library.
- Usability: The grouping should make it easy for designers and engineers to find the components they need quickly and understand where to look for similar elements. It should also allow them to know where to place new components.
- Scalability: The structure should be flexible enough to accommodate new components as the library grows.
- Flexibility: As the component library grows and changes, we may need to make decisions about creating new or rename groups as well as moving components between groups.
Component groups
|
Group name |
Group description |
|---|---|
|
Actions |
Components that allow users to perform interface actions. |
|
Data |
Components that are used for visualising information from a data set and code logs. |
|
Form Elements |
Components that facilitate accepting user input and choice. |
|
Images & Icons |
Components that act as containers for visual assets. |
|
Layout |
Components that manage the arrangement and structure of other elements (including nested components). |
|
Messaging |
Components that supply information back to a user that something has, is, or is going to happen. |
|
Navigation |
Components that facilitate user movement through the product. |
|
Overlays |
Components that sit over or on top of the user interface. |
|
Status Indicators |
Components that indicate the status, state or progress of a task or action. |