/
Naming conventions v2
  • In progress
  • Naming conventions v2

    https://teamapt.atlassian.net/browse/DS-2

    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.).

    category

    components

    organisms

    component

    standard

    icon-only

     

     

     

    Variants

    States

    Atomic design

    States

    (add different states)

    Base Design System

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

     

     

    Add label

    Related content

    Layout and grids
    Layout and grids
    Read with this
    File organisation
    File organisation
    More like this
    The product & design team
    The product & design team
    Read with this
    Design
    Read with this
    Designs & handoff documentation
    Designs & handoff documentation
    Read with this