Skip to Content
Archi-ui 1.0.25 is released 🎉

List

Lists are continuous, vertical indexes of text or images.

Lists are composed of items containing primary and supplemental actions, which are represented by icons and text.

Introduction

Lists present information in a concise, easy-to-follow format through a continuous, vertical index of text or images.

Archi-UI lists are implemented using a collection of related compenents:

  • List: a wrapper for list items. Renders as a <ul> by default.
  • List Item: a common list item. Renders as an <li> by default.
  • List Item Button: an action element to be used inside a list item.
  • List Item Icon: an icon to be used inside of a list item.
  • List Item Avatar: an avatar to be used inside of a list item.
  • List Item Text: a container inside a list item, used to display text content.
  • Divider: a separator between list items.
  • List Subheader: a label for a nested list.

Basic List

  • Item 1
  • selected
  • disabled
  • disable Gutters
  • disable Padding

Usage

import { List, ListItem } from 'archi-ui'
<List> <ListItem divider>Item 1</ListItem> <ListItem divider selected>selected</ListItem> <ListItem divider disabled>disabled</ListItem> <ListItem divider disableGutters>disable Gutters</ListItem> <ListItem divider disablePadding>disable Padding</ListItem> </List>

Folder List

  • Photos

    May 18, 2026

  • Work

    May 20, 2026

  • Vacation

    May 25, 2026

List with different settings

Text only
  • Single-line item

    Secondary text

  • Single-line item

    Secondary text

  • Single-line item

    Secondary text

Icon with text
  • Single-line item

    Secondary text

  • Single-line item

    Secondary text

  • Single-line item

    Secondary text

Avatar with text
  • Single-line item

    Secondary text

  • Single-line item

    Secondary text

  • Single-line item

    Secondary text

Avatar with text and icon
  • Single-line item

    Secondary text

  • Single-line item

    Secondary text

  • Single-line item

    Secondary text

Selected ListItem

    Index
    Drafts
    Trash
    Spam

Align list items

When displaying three lines or more, the avatar is not aligned at the top. You should set the alignItems="flexStart" prop to align the avatar at the top.

  • Eren Jaeger
    Brunch this weekend?

    Ali Connors

    — I'll be in your neighborhood doing errands this…

  • Levi Ackermen
    Summer BBQ

    to Scott, Alex, Jennifer

    — Wish I could come, but I'm out of town this…

  • Naruto Uzumaki
    Oui Oui

    Sandra Adams

    — Do you have Paris recommendations? Have you ever…

List Controls

Checkbox

A checkbox can either be a primary action or a secondary action.

The checkbox is the primary action and the state indicator for the list item. The comment button is a secondary action and a separate target.

  • List item 1
  • List item 2
  • List item 3
  • List item 4

The checkbox is the secondary action for the list item and a separate target.

  • Avatar 1
    List item 1
  • Avatar 2
    List item 2
  • Avatar 3
    List item 3
  • Avatar 4
    List item 4

Switch

The switch is the secondary action and a separate target.

  • Settings
  • Wi-Fi
  • Bluetooth

Upon scrolling, subheaders remain pinned to the top of the screen until pushed off screen by the next subheader. This feature relies on CSS sticky positioning.

    • I'm sticky 0
    • Item 0
    • Item 1
    • Item 2
    • Item 3
    • Item 4
    • I'm sticky 1
    • Item 0
    • Item 1
    • Item 2
    • Item 3
    • Item 4
    • I'm sticky 2
    • Item 0
    • Item 1
    • Item 2
    • Item 3
    • Item 4
    • I'm sticky 3
    • Item 0
    • Item 1
    • Item 2
    • Item 3
    • Item 4
    • I'm sticky 4
    • Item 0
    • Item 1
    • Item 2
    • Item 3
    • Item 4
    • I'm sticky 5
    • Item 0
    • Item 1
    • Item 2
    • Item 3
    • Item 4

Gutterless List

When rendering a list within a component that defines its own gutters, ListItem gutters can be disabled with disableGutters.

  • List item 1
  • List item 2
  • List item 3

List API

API reference docs for the React List component.

Props

NameTypeDefaultDescription
childrennode-The content of the component.
classNamestring-Override or extend the styles applied to the component.
disablePaddingboolfalseIf true, vertical padding is removed from list.
subheadernode-The content of the subheader, normally ListSubheader.

ListItem API

API reference docs for the React ListItem component.

Props

NameTypeDefaultDescription
childrennode-The content of the component.
classNamestring-Override or extend the styles applied to the component.
alignItems'center' | 'flexStart''center'Defines the align-items style property.
disablePaddingboolfalseIf true, all padding is removed.
disabledboolfalseIf true, the component is disabled.
selectedboolfalseIf true, use to apply selected styling.
disableGuttersboolfalseIf true, the left and right padding is removed.
dividerboolfalseIf true, a 1px light border is added to the bottom off the list item.
secondaryActionnode-The element to display at the end of ListItem.

ListItemAvatar API

API reference docs for the React ListItemAvatar component.

Props

NameTypeDefaultDescription
childrennode-The content of the component.
classNamestring-Override or extend the styles applied to the component.

ListItemButton API

API reference docs for the React ListItemButton component.

Props

NameTypeDefaultDescription
childrennode-The content of the component.
classNamestring-Override or extend the styles applied to the component.
alignItems'center' | 'flexStart''center'Defines the align-items style property.
disabledboolfalseIf true, the component is disabled.
selectedboolfalseIf true, use to apply selected styling.
disableGuttersboolfalseIf true, the left and right padding is removed.
dividerboolfalseIf true, a 1px light border is added to the bottom off the list item.

ListItemIcon API

API reference docs for the React ListItemIcon component.

Props

NameTypeDefaultDescription
childrennode-The content of the component.
classNamestring-Override or extend the styles applied to the component.

ListItemText API

API reference docs for the React ListItemText component.

Props

NameTypeDefaultDescription
childrennode-Alias for the primary prop.
classNamestring-Override or extend the styles applied to the component.
insetboolfalseIf true, the children are indented. This should be used if there is no left avatar or left icon.
primarynode-The main content element.
secondarynode-The secondary content element.
primaryTypographyPropsobject-These props will be forwarded to the primary typography component.
secondaryTypographyPropsobject-These props will be forwarded to the secondary typography component.

ListSubheader API

API reference docs for the React ListSubheader component.

Props

NameTypeDefaultDescription
childrennode-The content of the component.
classNamestring-Override or extend the styles applied to the component.
color'default' | 'primary''default'The color of the component. It supports those those theme colors that make sense for this component.
insetboolfalseIf true, the List Subheader is indented.
disableGuttersboolfalseIf true, the List Subheader will not have gutters.
disablePaddingboolfalseIf true, all padding is removed.
disableStickyboolfalseIf true, the List Subheader will not stick to the top during scroll.
Last updated on