nav.memphis-bubble-bar · Bubble bar

A nav pattern from Memphis, 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.memphis-bubble-bar". A guide only: DESIGN.md and tokens.json are the source of truth.

Rule
A small accent triangle and the boxed wordmark on the left, pill links with black outlines in the middle, a small primary button on the right.
Slots
siteName, pages, cta
Tokens
bg #FDF9F4 · text #241E16 · heading #150E06 · accent #FF5FA2 · accent2 #9AAE00 · Bricolage Grotesque / DM Sans · radius 12px · space unit 8px (full list in design/tokens.json)
Section
vertical padding step 2

Pattern notes

  • One row, space-between: a 20 px triangle in accent next to the wordmark in an outlined box (surfaceAlt fill); the page links as pills with 3 px black outlines, the current one filled with accent2; a small primary button. At phone width the links scroll horizontally on their own line.
Northfold
  • Services
  • Work
  • About
  • Contact
Start a project
Layout tree (as in design/layout.json)
{
  "pattern": "nav.memphis-bubble-bar",
  "kind": "nav",
  "slots": [
    "siteName",
    "pages",
    "cta"
  ],
  "tree": {
    "el": "box",
    "dir": "row",
    "gap": 3,
    "align": "center",
    "justify": "between",
    "wrap": true,
    "children": [
      {
        "el": "box",
        "dir": "row",
        "gap": 1,
        "align": "center",
        "children": [
          {
            "el": "shape",
            "kind": "triangle",
            "size": "sm",
            "fill": "accent"
          },
          {
            "el": "logo",
            "slot": "siteName",
            "style": "boxed"
          }
        ]
      },
      {
        "el": "nav-links",
        "mobile": "scroll-x",
        "slot": "pages",
        "dir": "row",
        "style": "pill"
      },
      {
        "el": "button",
        "slot": "cta",
        "variant": "primary",
        "size": "sm"
      }
    ]
  }
}
Component example: reference/nav.memphis-bubble-bar.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
<title>nav.memphis-bubble-bar — Memphis</title>
<link rel="stylesheet" href="base.css">
<style>
  header { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 16px 0; }
  .brand { display: flex; align-items: center; gap: 10px; text-decoration: none; }
  .brand .tri { width: 22px; } .brand b { padding: 6px 12px; border: var(--line); background: var(--sky); font: 800 var(--step-1)/1 var(--display); color: var(--ink); }
  nav { display: flex; gap: 8px; } nav a { padding: 8px 16px; border: var(--line); border-radius: 999px; color: var(--ink); text-decoration: none; font-weight: 700; background: var(--bg); }
  nav a[aria-current="page"] { background: var(--lime); }
  .btn { padding: 10px 16px; }
  @media (max-width: 640px) { nav { order: 3; width: 100%; overflow-x: auto; } }
</style>
</head>
<body>
<header class="wrap">
  <a class="brand" href="/"><span class="tri" aria-hidden="true"></span><b>Sprinkle Club</b></a>
  <nav aria-label="Main"><a href="/menu" aria-current="page">Menu</a><a href="/cakes">Cakes</a><a href="/parties">Parties</a><a href="/visit">Visit</a></nav>
  <a class="btn" href="/order">Order</a>
</header>
</body>
</html>

Other patterns in this design

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