A-Z Directory of Things
Overview
This pattern helps organize a large section of logically-ordered, logically-grouped content into a directory-like list with jump links to each heading.
We use a Flex List object to lay out the On-Light Secondary Button jump links and a Three-Up Multicol object to flow the link lists (or other grouped content) across three columns.
Styling note: There should be a "spacious" gap between the A to Z list and the Multicol container. You can achieve this by placing the A-Z list in the .t-section__intro of a .t-section.t-section--gap-spacious or by wrapping it in a div.u-space-block-end-spacious, if the former is not possible/ideal.
A
C
D
I
M
N
S
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
- Link to thing
T
W
Code
<h1>A to Z List</h1>
<ul class="o-flex-list o-flex-list--justify-start">
<li><a class="c-button c-button--secondary c-button--on-light" href="#a"><span class="u-font-weight-bold">A</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#b"><span class="u-font-weight-bold">B</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#c"><span class="u-font-weight-bold">C</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#d"><span class="u-font-weight-bold">D</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#e"><span class="u-font-weight-bold">E</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#f"><span class="u-font-weight-bold">F</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#g"><span class="u-font-weight-bold">G</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#h"><span class="u-font-weight-bold">H</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#i"><span class="u-font-weight-bold">I</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#j"><span class="u-font-weight-bold">J</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#k"><span class="u-font-weight-bold">K</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#l"><span class="u-font-weight-bold">L</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#m"><span class="u-font-weight-bold">M</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#n"><span class="u-font-weight-bold">N</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#o"><span class="u-font-weight-bold">O</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#p"><span class="u-font-weight-bold">P</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#q"><span class="u-font-weight-bold">Q</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#r"><span class="u-font-weight-bold">R</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#s"><span class="u-font-weight-bold">S</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#t"><span class="u-font-weight-bold">T</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#u"><span class="u-font-weight-bold">U</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#v"><span class="u-font-weight-bold">V</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#w"><span class="u-font-weight-bold">W</span></a></li>
<li><a class="c-button c-button--secondary c-button--on-light" href="#y"><span class="u-font-weight-bold">Y</span></a></li>
</ul>
<div class="o-multicol o-multicol--three-up">
<div class="u-space-block-end-expanded">
<h2 id="a">A</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="b">B</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="c">C</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="d">D</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="e">E</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="f">F</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="g">G</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="h">H</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="i">I</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="j">J</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="k">K</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="l">L</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="m">M</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="n">N</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="o">O</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="p">P</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="q">Q</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="r">R</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="s">S</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="t">T</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="u">U</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="v">V</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div class="u-space-block-end-expanded">
<h2 id="w">W</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
<div>
<h2 id="y">Y</h2>
<ul class="o-unstyled-list o-fixed-list o-fixed-list--one-up">
<li><a href="#0">Link</a></li>
<li><a href="#0">Link</a></li>
</ul>
</div>
</div>
/* line 1, core/src/objects/_flex-list.scss */
.o-flex-list {
--align-items: center;
--display: flex;
--flex-direction: row;
--flex-wrap: wrap;
--gap-space: var(--space-tight);
--justify-content: center;
--block-space-start: 0;
--block-space-end: 0;
--inline-space-start: 0;
--inline-space-end: 0;
--inset-space-block-start: 0;
--inset-space-block-end: 0;
--inset-space-inline-start: 0;
--inset-space-inline-end: 0;
--list-style-type: none;
list-style-type: var(--list-style-type);
margin-block: var(--block-space-start) var(--block-space-end);
margin-inline: var(--inline-space-start) var(--inline-space-end);
padding-block: var(--inset-space-block-start) var(--inset-space-block-end);
padding-inline: var(--inset-space-inline-start) var(--inset-space-inline-end);
align-items: var(--align-items);
display: var(--display);
flex-direction: var(--flex-direction);
flex-wrap: var(--flex-wrap);
gap: var(--gap-space);
justify-content: var(--justify-content);
}
/* line 18, core/src/objects/_flex-list.scss */
.o-flex-list > * {
--display: initial;
display: var(--display);
gap: var(--gap-space);
}
/* line 107, core/src/objects/_flex-list.scss */
.o-flex-list--justify-start {
--justify-content: flex-start;
}
/* line 1, core/src/objects/_multicol.scss */
.o-multicol {
--cols: 2 var(--min-col);
--gap-space: var(--space-comfy);
columns: var(--cols);
column-gap: var(--gap-space);
}
/* line 8, core/src/objects/_multicol.scss */
.o-multicol > * {
--block-space-end: var(--space-comfy);
--break-inside: avoid;
break-inside: var(--break-inside);
margin-block-end: var(--block-space-end);
}
/* line 33, core/src/objects/_multicol.scss */
.o-multicol--three-up {
--cols: 3 var(--min-col);
}