nav.dot-pill-bar · Pill bar

A nav pattern from Dot Matrix, drawn alone below with this design's tokens and sample copy. Used in this design on: every page, as the nav. Give the section root data-pattern="nav.dot-pill-bar". A guide only: DESIGN.md and tokens.json are the source of truth.

Rule
Signal dot and wordmark left, pill links in the middle, a small red primary pill right, all on the page ground over a hairline.
Slots
siteName, pages, cta
Tokens
bg #000000 · text #E6E6E6 · heading #FFFFFF · accent #D71921 · accent2 #FFFFFF · Doto / Space Grotesk · radius 24px · space unit 4px (full list in design/tokens.json)
Section
vertical padding step 2

Pattern notes

  • On the page ground over a 1 px hairline: the red signal dot beside the wordmark left, pill links in the middle (current page a filled `surface` pill), a small red primary pill right (the record button). Links scroll sideways on phones.
Northfold
  • Services
  • Work
  • About
  • Contact
Start a project
Layout tree (as in design/layout.json)
{
  "pattern": "nav.dot-pill-bar",
  "kind": "nav",
  "slots": [
    "siteName",
    "pages",
    "cta"
  ],
  "tree": {
    "el": "box",
    "dir": "row",
    "gap": 4,
    "pad": [
      3,
      0
    ],
    "align": "center",
    "justify": "between",
    "wrap": true,
    "border": "bottom",
    "children": [
      {
        "el": "box",
        "mobile": "keep",
        "dir": "row",
        "gap": 3,
        "align": "center",
        "children": [
          {
            "el": "shape",
            "kind": "circle",
            "size": "sm",
            "fill": "accent"
          },
          {
            "el": "logo",
            "slot": "siteName",
            "style": "wordmark"
          }
        ]
      },
      {
        "el": "nav-links",
        "mobile": "scroll-x",
        "slot": "pages",
        "dir": "row",
        "style": "pill"
      },
      {
        "el": "button",
        "slot": "cta",
        "variant": "primary",
        "size": "sm"
      }
    ]
  }
}
Component example: reference/nav.dot-pill-bar.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
<title>nav.dot-pill-bar — Dot Matrix</title>
<link rel="stylesheet" href="base.css">
<style>
  nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--border); }
  .brand { display: flex; align-items: center; gap: 10px; text-decoration: none; }
  .brand .dot { font-size: 26px; }
  ul { display: flex; gap: 6px; list-style: none; }
  ul a { display: inline-block; padding: 6px 14px; border: 1px solid var(--border); border-radius: 999px; font: 400 12px/1.4 var(--font-mono);
         text-transform: uppercase; letter-spacing: 0.07em; color: var(--text); text-decoration: none; }
  ul a[aria-current] { background: var(--surface); border-color: var(--heading); color: var(--heading); }
  @media (max-width: 640px) { ul { overflow-x: auto; max-width: 52vw; } }
</style>
</head>
<body>
<div class="wrap">
  <nav aria-label="Main">
    <a class="brand" href="#"><span class="rec"></span><span class="dot">Lumen</span></a>
    <ul><li><a href="#" aria-current="page">Phone</a></li><li><a href="#">Audio</a></li><li><a href="#">OS</a></li><li><a href="#">Community</a></li></ul>
    <a class="btn sm" href="#">Buy</a>
  </nav>
</div>
</body>
</html>

Other patterns in this design

Whole design · Spec bundle (JSON) · On the style page