Skip to main content

List Item

A list item is a single element in a list that displays specific information in an organised manner.

Dos and Don'ts

Do
  • Aim to keep the primary text to a single line without wrapping, and the secondary text to two lines if possible.
  • Use list items to logically group items that follow the same content structure.
Don't
  • Consider a different component or clarify the design if you require lots of text.
  • Do not use if the list content needs to be nested more than one level deep and becomes overly complex and lengthy.


Anatomy

Anatomy of the list item component.
  1. Primary text: Gives the users an overview of the content, aiming to be contained within one line.
  2. Secondary text (Optional): Provides additional detail if required, aiming to be contained within two lines.
  3. Leading icon with background (Optional): Non-interactive icon with a background that can be used to visually support the primary text.
  4. Divider (Optional): Helps visually define the end of a list item and the beginning of the next one.
  5. Avatar (Optional): Placeholder to be replaced with a close-up photo of a person.
  6. Thumbnail (Optional): Placeholder to be replaced with an image.
  7. Leading icon (Optional): Non-interactive icon that can be used to visually support the primary text.
  8. Checkbox (Optional): Allows users to select none, one, or more items from the list. Left or right alignment should be consistent through the pillar.
  9. Radio (Optional): Allowing the user to select a single option from the list. Left or right alignment should be consistent through the pillar.
  10. Payment icon (Optional): Non-interactive payment icon that is used to visually support a payment method.
  11. Switch (Optional): Used to quickly switch between two possible states.
  12. Trailing icon (Optional): Interactive icon (i.e. a bin or drag), but is not to be used as a secondary CTA.
  13. Meta text (Optional): Highlights basic information about the List item.
  14. Tag (Optional): Used to highlight special conditions like 'sold out'.

Variants

Non-interactive

The non-interactive variation should be used when the list item doesn't require any component level interactive states tied to the instance.

List item component in non-interactive variant.

Interactive

The interactive variations should be used when the list item requires component level, or nested component level interactive states tied to the instance.

Examples of the list item component in interactive variant in the default and active interactive states.

Modifiers

Compact

The height of the component is decreased to reduce the vertical space, and used when space needs to be saved. If the secondary text is required, don't apply the compact prop.
List item component in compact variant.

Secondary text

The secondary text can be used to provide additional content that supports the primary text.

List item component with secondary text.

Bold primary text

There's an option to use bold in the Primary text.

List item component with bold primary text.

Leading content (Non-interactive)

Avatar, Icon with background and Thumbnail are not available in the compact size.

Avatar

Not available in the Compact variant.

List item component with leading avatar.

Icon

Any decorative icon can be inserted into the placeholder.

List item component with leading icon.

Icon with background

Any decorative icon can be inserted into the placeholder.

List item component with leading icon with background.

Payment method

Payment method icon can be selected in properties.

List item component with leading payment method.

Thumbnail

Not available in the Compact variant.

List item component with leading thumbnail.

Leading content (Interactive)

Avatar, Icon with background and Thumbnail are not available in the compact size.
All form elements: Checkbox, Radio and Switch display their own interactive states rather than the list item container.

Avatar

Not available in the Compact variant.

Interactive list item component with leading avatar.

Checkbox

Alignment should be consistent through the pillar.

Interactive list item component with leading checkbox.

Icon

Any decorative icon can be inserted into the placeholder.

Interactive list item component with leading icon.

Icon with background

Any decorative icon can be inserted into the placeholder.

Interactive list item component with leading icon.

Payment method

Payment method icon can be selected in properties..

Interactive list item component with leading payment method.

Radio

Alignment should be consistent through the pillar.

Interactive list item component with leading radio.

Thumbnail

Not available in the Compact variant.

Interactive list item component with leading thumbnail.

Trailing content (Non-interactive)

Icon

Any decorative icon can be inserted into the placeholder.

Interactive list item component with trailing icon.

Meta text

Highlights additional basic information about the List item.

Interactive list item component with trailing meta text.

Tag

Alignment should be consistent through the pillar.

Interactive list item component with trailing tag.

Trailing content (Interactive)

All form elements: Checkbox, Radio and Switch display their own interactive states rather than the list item container.

Icon

Any decorative icon can be inserted into the placeholder.

Interactive list item component with trailing icon.

Checkbox

Alignment should be consistent through the pillar.

Interactive list item component with trailing checkbox.

Meta text

Highlights additional basic information about the List item.

Interactive list item component with trailing meta text.

Radio

Alignment should be consistent through the pillar.

Interactive list item component with trailing radio.

Switch

Used to quickly switch between two possible states.

Interactive list item component with trailing switch.

Tag

Alignment should be consistent through the pillar.

Interactive list item component with trailing tag.

Divider

The divider is used to visually separate individual list items from each other. Dividers should never be used on the last item within a group.

Example of three list item components stacked vertically with dividers.

Overrides

Variants

Overview of overrides available at variant level for the Avatar, Tag and Icon with background.
  1. Avatar: The Avatar's variants can be overridden.
  2. Tag: The Tag's variants can be overridden.
  3. Icon with background: The Icon with background's variants can be overridden.

Alignment / Layout

Overview of alignment overrides available.
  1. Alignment: The vertical alignment of both leading and trailing content can be adjusted to centre alignment. However, both must maintain the same alignment.
  2. Vertical spacing: Vertical padding can be removed when being used within a component e.g. Modal, Bottom sheet.

Selected state

Find more information in the Selected state patterns documentation.
Overview of selected state overrides available.
  1. Border colour The border colour token can be overridden with $color-border-selected.
  2. Icon colour: The icon colour token can be overridden with $color-content-brand-solid.

Layout

Stacking

List items can be vertically stacked and horizontally, and if dividers are being used; it is suggested that the last item's divider is removed.

Example of a group of list item components stacked vertically.
Example of a group of list item components stacked horizontally in two columns.

Form controls

The radio form controls should always be used within a group, allowing users to make a single selection from a predefined set of options.

Example of a group of list item components with form controls.

Sizes

Depending on the properties applied to the component, the minimum height of the component fluctuates.

Compact Secondary text Minimum height Notes
No No 56 px One line of primary text.
No Yes 76 px One line of primary and secondary text.
Yes No 48 px One line of primary text.

Placement

Inset container

List items at both wide & narrow can be full width of an inset container.

Example of a group of list item components in a wide screen size in an inset container.
Example of a group of list item components in a narrow screen size in an inset container.

Device container

Only List items at narrow have the option to be the full width of the device.

Example of a group of list item components in a narrow screen size in a device container.

Interactions

The entire container for interactive variants is clickable.

Example of the interactive area in list item components.

Overflow

Primary and secondary text

The recommendation is to keep the copy short and concise to allow users to easily browse. If the length of the primary or secondary text exceeds the available horizontal space, the content will wrap onto a new line with no maximum.

Example of a group of list item components with primary and secondary text overflow.

Trailing content

If the trailing content contains a text element, it's maximum width is 1/3 of the available space. If the width is exceeded the content will wrap onto a new line.

Example of a group of list item components with trailing meta text overflow.
Example of a group of list item components with trailing tag text overflow.

States

The list item allows for two states: unselected and selected. By default, the $color-border-select-brand is used.

Unselected

Example of a group of list item components in the unselected state.

Selected

Form control variants

Example of list item components in the selected state with form control variants.

All other variants

Example of list item components in the selected state in all variants except form control.

Interactive states

The interactive variation includes all interactive states, while the non-interactive variation only includes the default and disabled states.

All form elements: Checkbox, Radio and Switch display their own interactive states rather than the list item container.

Default

Examples of list item components in the default state.

Active

Examples of list item components in the active state.

Disabled

Examples of list item components in the disabled state.

Examples

LTR example

Here are some examples of a list item component in LTR context:

Examples of list item components in left-to-right context.
Examples of list item components in left-to-right context.

RTL example

Here are some examples of a list item component in RTL context:

Examples of list item components in right-to-left context.
Examples of list item components in right-to-left context.

Accessibility

Text scaling

Text with critical information should wrap to the next line to ensure understandability. Truncation might happen but it should be kept to a minimum.

In case truncation happens on important information offer an alternative for the user to read the full content. For example, add a “see more” link button to expand the container and provide access to the content.

Do
Example of list item component with text scaling applied correctly.
Don't
Example of list item component with text scaling applied incorrectly.

Check out the Text scaling documentation for more information.
Back to top