List

Minimal list component for laying out a group of items. Part of the Bolt “Components” CSS framework that powers the Bolt Design System.

Install via NPM
npm install @bolt/components-list
{% include "@bolt-components-list/list.twig" with {
  display: "inline",
  spacing: "xsmall",
  align: "start",
  valign: "center",
  items: [
    "Item 1",
    include("@bolt-components-link/link.twig", {
      text: "Item 2",
      url: "#!",
    }),
    include("@bolt-components-chip/chip.twig", {
      text: "Item 3",
      url: "#!",
    }),
    include("@bolt-components-button/button.twig", {
      text: "Item 4",
      url: "#!",
      size: "small",
    }),
    "Item 5",
  ]
} only %}

Minimal list component for laying out a group of items.

Name Type Value(s) Description Default
attributes object

A Drupal-style attributes object with extra attributes to append to this component.

N/A
items* array

All items can be simple text or items.

N/A
tag string
  • ul, ol, div, span

Apply the semantic tag for the list.

ul
display string
  • inline, block, inline@xxsmall, inline@xsmall, inline@small, inline@medium

Display either an inline list of items or a block (stacked) list of items. Responsive options are also available for transforming from block to inline at specific breakpoints.

block
spacing string
  • none, xsmall, small, medium, large, xlarge

Control the spacing in between items.

xsmall
separator string
  • none, solid, dashed

Display a separator in between items.

none
inset boolean

Turn spacing to the inside of each item.

false
align string
  • start, center, end

Control the horizontal alignment of items.

start
valign string
  • start, center, end

Control the vertical alignment of items.

center

list

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Inline list of different items

Inline list of chips

Inline list of buttons

Inline

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Block

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Inline@xxsmall

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Inline@xsmall

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Inline@small

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Inline@medium

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Inline list with spacing (none)

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Block list with spacing (none)

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Inline list with spacing (xsmall)

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Block list with spacing (xsmall)

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Inline list with spacing (small)

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Block list with spacing (small)

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Inline list with spacing (medium)

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Block list with spacing (medium)

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Inline list with spacing (large)

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Block list with spacing (large)

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Inline list with spacing (xlarge)

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Block list with spacing (xlarge)

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Inline list with separators (solid)

Block list with separators (solid)

Inline list with separators (dashed)

Block list with separators (dashed)

Inset spacing is best suited for block lists, even though you can apply to inline list as well.

Block list with inset spacing (xsmall) and separators

Block list with inset spacing (small) and separators

Block list with inset spacing (medium) and separators

Block list with inset spacing (large) and separators

Block list with inset spacing (xlarge) and separators

Regular vs inset spacing

There are 2 different types of spacing styles and you can use it to your advantage. Different layouts call for different spacing styles, use your best judgment to apply the more applicable style.

The advantage of using regular spacing style

This is the regular spacing style, which adds space only in between items. So when it is put side by side next to a paragraph of text, the top of the list will line up with the paragraph of text (optically). Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin quis tortor orci. Etiam at risus et justo dignissim congue. Donec congue lacinia dui, a porttitor lectus condimentum laoreet. Nunc eu ullamcorper orci. Quisque eget odio ac lectus vestibulum faucibus eget in metus. Vivamus hendrerit arcu sed erat molestie vehicula. Sed auctor neque eu tellus rhoncus ut eleifend nibh porttitor. Ut in nulla enim. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin quis tortor orci. Etiam at risus et justo dignissim congue. Donec congue lacinia dui, a porttitor lectus condimentum laoreet. Nunc eu ullamcorper orci. Quisque eget odio ac lectus vestibulum faucibus eget in metus. In pellentesque faucibus vestibulum. Nulla at nulla justo, eget luctus tortor. Nulla facilisi. Duis aliquet egestas purus in blandit. Curabitur vulputate, ligula lacinia scelerisque tempor, lacus lacus ornare ante, ac egestas est urna sit amet arcu. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed molestie augue sit amet leo consequat posuere. Vestibulum ante.

The same applies to items with a background color. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin quis tortor orci. Etiam at risus et justo dignissim congue. Donec congue lacinia dui, a porttitor lectus condimentum laoreet. Nunc eu ullamcorper orci. Quisque eget odio ac lectus vestibulum faucibus eget in metus. Vivamus hendrerit arcu sed erat molestie vehicula. Sed auctor neque eu tellus rhoncus ut eleifend nibh porttitor. Ut in nulla enim. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin quis tortor orci. Etiam at risus et justo dignissim congue. Donec congue lacinia dui, a porttitor lectus condimentum laoreet. Nunc eu ullamcorper orci. Quisque eget odio ac lectus vestibulum faucibus eget in metus. In pellentesque faucibus vestibulum. Nulla at nulla justo, eget luctus tortor. Nulla facilisi. Duis aliquet egestas purus in blandit. Curabitur vulputate, ligula lacinia scelerisque tempor, lacus lacus ornare ante, ac egestas est urna sit amet arcu. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed molestie augue sit amet leo consequat posuere. Vestibulum ante.

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

The advantage of using inset spacing style

Inset spacing puts spacing around each item, this is very useful if you are putting the list inside any kind of box container. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin quis tortor orci. Etiam at risus et justo dignissim congue. Donec congue lacinia dui, a porttitor lectus condimentum laoreet. Nunc eu ullamcorper orci. Quisque eget odio ac lectus vestibulum faucibus eget in metus. Vivamus hendrerit arcu sed erat molestie vehicula. Sed auctor neque eu tellus rhoncus ut eleifend nibh porttitor. Ut in nulla enim. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin quis tortor orci. Etiam at risus et justo dignissim congue. Donec congue lacinia dui, a porttitor lectus condimentum laoreet. Nunc eu ullamcorper orci. Quisque eget odio ac lectus vestibulum faucibus eget in metus. In pellentesque faucibus vestibulum. Nulla at nulla justo, eget luctus tortor. Nulla facilisi. Duis aliquet egestas purus in blandit. Curabitur vulputate, ligula lacinia scelerisque tempor, lacus lacus ornare ante, ac egestas est urna sit amet arcu. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed molestie augue sit amet leo consequat posuere. Vestibulum ante.

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

^ This list is inside a colored box.

Align prop only works with inline display, it has no effects on block display.

Horizontally align inline items: start

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Horizontally align inline items: center

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Horizontally align inline items: end

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Valign prop only works with inline display, it has no effects on block display.

Vertically align inline items: start

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Vertically align inline items: center

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Vertically align inline items: end

  • Placeholder 1
  • Placeholder 2
  • Placeholder 3

Use the semantically correct tag based on the context of your page layout.

ul

ol

  1. Item 1
  2. Item 2
  3. Item 3

div

span

Item 1 Item 2 Item 3