Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current Restore this Version View Version History

« Previous Version 24 Next »

DS-2 - Getting issue details... STATUS

Introduction

Standardised naming conventions enhance clarity, streamline collaboration, and facilitated system evolution.

In design systems, naming conventions are pivotal for ensuring consistency, clarity, and efficiency. Clear names, such as "error-red" for a colour, immediately indicate its function, streamlining communication among designers, developers, and other team members.

Standardised naming expedites the design and development process by reducing the need for continuous reference or clarification. It guarantees that references to specific elements are universally understood, facilitating smoother integration as the design system expands.

This shared language bolsters collaboration across teams, ensuring everyone understands each component's purpose. Such conventions prevent accidental duplicates, which can clutter the system, and aid in managing component evolution, especially when deprecating old elements or introducing new ones.

Principles

  1. Using atomic design classification - hierarchical structure (atoms, molecules, organisms, etc.)

  2. Simple and descriptive - consistent naming rules (descriptive, clear, no abbreviations)

  3. Consistent letter casing - maintain sentence case for for component and lowercase for properties on design level, code should follow language default

  4. Singular name - avoid the use of plurals in choosing a name (button not buttons)

Naming schema

A naming schema provides consistency, clarity, and ease of reference. By following a set pattern or rules for naming, it becomes easier to identify, manage, and search for items.

In design systems, it's a foundational aspect that helps ensure clarity, efficiency, and successful collaboration across large and diverse teams. It brings method to the potential chaos and lays the groundwork for a design system's long-term success and adaptability.

Structure: [ category ] / [ component ] / [ style ] / [ variant ] / [ size ] / [ state ]
An example would be components/button/standard/primary/small/hover

[ category ] represents the broadest classification (components, organisms, etc.).
[ component ] type represents the specific component being referred to (button, checkbox, toggle, input, etc.).
[ style ] describes the general appearance or behaviour of the component (standard, iconOnly, textOnly, etc.).
[ variant ] specifies the purpose or use-case for the component (primary, secondary, tertiary, information, success, warning, etc.).
[ size ] denotes the component's dimensions or scale (small, medium, large, etc.).
[ state ] describes the current interaction or status of the component (default, hover, focus, active, disabled, etc.).

Variants

Atomic design

Atomic design

States

(add different states)

Classification

There are three different classification used

Atomic design

Atomic design is a methodology developed by Brad Frost for creating design systems in a systematic and hierarchical manner.

The idea behind atomic design is to break interfaces down into their smallest parts, which can be combined and recombined to produce any number of UI variations. Atomic design breaks down UI components into the following levels: atoms, molecules, organisms, templates and pages.

This classification is to be used on the design level, within Figma and code as this allows for scalability as more complex components are designed and developed.

Functionality

Ideal for external documentation as it’s easier to find component based on the functionality they add to the overall design, it is easily found in popular design system documentation such as Shopify, Material design and others.

This classification separates the components into categories such as Inputs, Navigation, Layout etc

Context of use

This classification method separates components by features, pages or user journeys to allow for more accessibility within complex components templates for instance, a card component could be further extended as a template for specific use on FX and on loans but with different layout arrangement and content.

The classification method will only be used to classify templates further into feature groups e.g by Onboarding, FX, Loans etc.

Component breakdown

By Atomic design

Atoms

These are the basic building blocks, analogous to atoms in the physical world. In terms of web interfaces, atoms can be HTML tags, such as labels, inputs, buttons, or other elemental parts like colour swatches and typographic styles. They are not useful on their own but when combines, they become the foundation of your UI.

Element

Description

Mobile

Web

Avatar

Yes

Yes

Badge (tag)

Yes

Yes

Button

(covers glossary)

Yes

Yes

Action chips

Yes

Yes

Checkbox

Yes

Yes

Heading

Yes

Yes

Text

Yes

Yes

Icon

Yes

Yes

Image

Yes

Yes

Flag

Yes

Yes

Label (form label)

Yes

Yes

Link (hyperlink)

Yes

Yes

Radio button

Yes

Yes

Spinner (loading)

Yes

Yes

Tooltip

Yes

Yes

Separator (divider)

Yes

Yes

Toggle

Yes

Yes

Rating

Yes

Yes

Progress bar

Yes

Yes

Preloader (loading bar)

Yes

Yes

Skeleton*

--

--

Molecules

Molecules are groups of atoms bonded together and are the smallest fundamental units of a compound. Think of them as UI components, like a form label + from input + button = search form.

Element

Description

Mobile

Web

Money input

Yes

Yes

Search input

Yes

No

Phone number input

Yes

Yes

Country input

Yes

Yes

Date input

Yes

Yes

Date of birth input

Yes

Yes

Select input

Yes

Yes

Text input

Yes

Yes

Textarea

Yes

Yes

Keypad

Yes

No

Time picker input (optional)

Yes

Yes

Alert

Yes

Yes

Popover

No

Yes

Critical Banner

Yes

Yes

Breadcrumb

No

Yes

Accordion

Yes

Yes

Countdown

Yes

Yes

Organisms

Organisms are relatively complex UI components composed of groups of molecules and/or atoms and/or other organisms. They form distinct sections of an interface, like a product grid or a site header with a logo, primary navigation, and search form.

Element

Description

Mobile

Web

Action list

No

Yes

File upload

Yes

Yes

Image upload

Yes

Yes

Calendar (optional)

No

Yes

Tabs

Yes

Yes

Steppers

Yes

Yes

Bottom tab

Yes

Yes

Side menu

No

Yes

Modal

No

Yes

Bottom sheet

Yes

No

Header (navbar)

Yes

Yes

Table

Yes

Yes

Stack list

Yes

Yes

Information List

Yes

Yes

Banner

Yes

Yes

Action box

Yes

Yes

Bar chart

Yes

Yes

Line chart

Yes

Yes

Pie chart

Yes

Yes

Templates

At this level, you’re essentially laying out the structure of a page. You’re positioning organisms (or groups of organisms) in a layout, showing content structure without focusing too much on the actual content.

As a template, these components are further broken down into their area or context of use such as ONBOARDING, FX , LOANS , PAYMENT , ALL etc. see table below

Element

Description

Label

Mobile

Web

Feedback (terminal)

ALL

Yes

Yes

Primer

Yes

No

Story viewer

Yes

Yes

Pages

Pages are specific instances of templates. Here, placeholder content in templates is replaced with real content, thus forming a complete page. This level allows for testing the effectiveness of the design system’s hierarchy and seeing how the design system works in practice with real content.

By Functionality

Inputs or Form

All components that allow to for data input from text fields to file upload including buttons and links.

Element

Description

Mobile

Web

Button

Yes

Yes

Text input

Yes

No

Country input

Yes

Yes

Password input

Yes

Yes

PIN input

Yes

Yes

Money input

Yes

Yes

Mobile number input

Yes

Yes

Date input

Yes

Yes

Date of birth input

Yes

Yes

Select input

Yes

Yes

Search input

Yes

Yes

Text input

Yes

Yes

Textarea

Yes

Yes

Keypad

Yes

Yes

Time picker input (optional)

Yes

Yes

Toggle

Yes

Yes

Calendar

No

Yes

Rating

Yes

Yes

Action list

No

Yes

File upload

Yes

Yes

Image upload

Yes

Yes

Navigation

Components that aid navigation from one page or view to the other.

Element

Description

Mobile

Web

Breadcrumb

Yes

Yes

Tab

Yes

No

Stepper

Yes

Yes

Header (navbar)

Yes

Yes

Side menu

Yes

Yes

Bottom tabs

Yes

Yes

Media

These components aid display of various types of media content, such as images, videos, audio files, or documents. It provides a structured and interactive way for users to view and consume media within an application.

Element

Description

Mobile

Web

Flag

Yes

Yes

Visual patterns

Yes

Yes

Video thumbnail*

-

-

Audio player*

-

-

Feedback

These component set provide a way to inform the user on the status of processes or a action, also give more information on other visual elements

Element

Description

Mobile

Web

Alerts

Yes

Yes

Popover

Yes

No

Tooltips

Yes

Yes

Critical banner

Yes

Yes

Preloader (loading bar)

Yes

Yes

Loading spinner

Yes

Yes

Progress bar

Yes

Yes

Data visualisation

These components are responsible for presenting data in a clear, organized, and visually appealing manner

Element

Description

Mobile

Web

Avatar

Yes

Yes

Badge (tag)

Yes

No

Action chips

Yes

Yes

Accordion

Yes

Yes

Rating

Yes

Yes

Table

Yes

Yes

Stacked list

Yes

Yes

Information list

Yes

Yes

Pie chart

Yes

Yes

Doughnut chart

Yes

Yes

Bar chart

Yes

Yes

Line chart

Yes

Yes

Countdown

Yes

Yes

Layout

These components defines the structure and organization of content on a page. they provides a framework for positioning and arranging other components on a page.

Element

Description

Mobile

Web

Card

Yes

Yes

Primers

Yes

No

Terminal

Yes

Yes

Bottom sheet

Yes

No

Modal

No

Yes

Feedback (terminal)

Yes

Yes

Rules of use

  1. Follow the naming schema

  2. Be consistency - use consistent names across components

  3. Be clear and meaningful - clear to the last detail

  4. Avoid reusing component names in your properties e.g itemsList

  5. Use simple pronounceable names

  6. Remove your emotion or moods

  7. Use positive words