Eyebrow
The small uppercase kicker that sits above a heading.
Live demo
Eyebrow is the overline a section wears above its title: short, uppercase, tracked-out, and accent-toned by default. It is one element with no layout of its own: drop it as the first child of a Stack and the gap does the spacing.
tone swaps the accent ink for a quieter muted or subtle, and tracking widens the letter-spacing for a more deliberate label. Choose the as element to match the surrounding flow: a p for a standalone kicker, a span for one inline with other text.
When to use
How this component composes with the rest of the set.
Props
3 props, straight from the manifest.
| Prop | Type | Default | Bindings | Description |
|---|---|---|---|---|
Anatomy
The named parts that make up the component, with their selectors.
eyebrow
The kicker root carrying the tone and tracking classes.
Tokens & coverage
What the component consumes, checked live against what the algorithm produces.
Live coverage check against the xoji-default register
(derive(xojiDefault, { anchors }) →
coverComponent(manifest, register)). Every token this component
consumes must be a key the algorithm produces.
--accent-text
--fg-2
--fg-3
--font-sans
--leading-tight
--text-xs
--weight-semibold
Slots
The kicker text.
Accessibility
Code
Tones and tracking
The accent default against the muted and subtle tones, at both tracking widths.
<xoji-eyebrow>Themable-derivation engine</xoji-eyebrow>
<xoji-eyebrow tone="muted" tracking="wide">By the numbers</xoji-eyebrow>
<script lang="ts">
import { Eyebrow } from "@xoji/svelte";
</script>
<Eyebrow>Themable-derivation engine</Eyebrow>
<Eyebrow tone="muted" tracking="wide">By the numbers</Eyebrow>
---
import { Eyebrow } from "@xoji/astro";
---
<Eyebrow>Themable-derivation engine</Eyebrow>
<Eyebrow tone="muted" tracking="wide">By the numbers</Eyebrow>