Tracking In
Headline whose letter-spacing contracts from very wide to the tight display tracking while fading in — a calm, precise entrance for short words.
mono-clean/effect/tracking-inSource
"use client";
import { motion, useReducedMotion } from "motion/react";
export interface TrackingInProps {
text?: string;
as?: "h1" | "h2" | "p";
className?: string;
}
/** Headline whose letter-spacing contracts from very wide to the tight display tracking while fading in — a calm, precise entrance for short words. */
export function TrackingIn({ text = "Framed.", as = "h2", className }: TrackingInProps) {
const reduce = useReducedMotion();
const Tag = motion[as];
return (
<Tag
className={className}
initial={reduce ? false : { letterSpacing: "0.4em", opacity: 0 }}
whileInView={{ letterSpacing: "-0.04em", opacity: 1 }}
viewport={{ once: true, amount: 0.6 }}
transition={{ duration: 1.2, ease: [0.2, 0.8, 0.2, 1] }}
>
{text}
</Tag>
);
}
export default TrackingIn;
modules/mono-clean/effect/tracking-in/index.tsx
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| text | string | — | Text. |
| as | "h1" | "h2" | "p" | — | As. |
| className | string | — | Extra classes on the root. |
Other text variants in Mono Clean
Digit Roll
Odometer-style number: each digit rolls vertically through 0–9 to its value (staggered from the left) when it enters the viewport, in tabular display figures.
Outline Fill
Outlined display text (hairline stroke, transparent fill) that fills solid ink from bottom to top on hover/focus via a clipped duplicate layer — for big navigation links. Pure CSS.
Scramble Text
Mono text that resolves from random glyphs to the real string left-to-right when it enters the viewport (and again on hover); final text is always exposed to assistive tech.
Text in other art directions
Glitch Text
Print-misregistration glitch: two offset copies of the text in accent and secondary colors jitter in horizontal slices, constantly or only on hover/focus. Pure CSS, blend mode adapts to dark.
Marquee Band
Tilted full-bleed ticker band with giant uppercase words scrolling infinitely between ruled strokes. Seamless loop, direction and speed props, three color tones.
Scramble Text
Decoder-style mono text: random glyphs resolve left to right into the final string when it scrolls into view, and again on hover or focus. Great for version numbers, stats and labels.
Typewriter Text
Headline with a static prefix and a rotating last word that is typed character by character, held, deleted and replaced, followed by a blinking block cursor.
Count Up
Number that counts up with an expo-out ease and tabular digits when scrolled into view; prefix, suffix, decimals and locale-aware thousands separators.
Gradient Text
Inline text filled with a slowly flowing gradient built from the primary and accent tokens (bg-clip-text); animated or static. Pure CSS.
Rotating Words
Headline with a static prefix and a highlighted word that slides up to the next one on an interval, inside a slot whose width animates to fit each word.
Text Shimmer
Loading/live text effect: a light band sweeps across muted text using a clipped gradient. For "thinking…", "generating…" or live status labels. Pure CSS, server-safe.
Count Up
Number that counts up with an ease-out when scrolled into view, formatted with thousands separators (prefix/suffix, decimals); tabular figures prevent jitter. Final value for screen readers.
Shimmer Text
Text filled with a primary→accent-fg gradient and a slow light sweep passing across it every few seconds — for a single highlighted phrase in a headline. Pure CSS.
Typed Words
Headline with a rotating keyword typed and erased character by character in primary, with a blinking caret; reduced motion swaps whole words. Full sentence exposed to screen readers.
Word Reveal
Headline whose words slide up from behind a mask one after another when scrolled into view — crisp, no blur or bounce. The element keeps its plain text for screen readers.
Drawn Underline
Hand-drawn underline that draws itself (SVG pathLength) beneath a word when it scrolls into view — a loose, slightly wavy pen stroke.
Italic Swap
Headline with a rotating italic serif word: each word slides up out of a mask and the next rises in with a soft ease; the full sentence is available to screen readers.
Letter Rise
Letters drift up from below with a gentle fade, one after another like seeds sprouting, when the text scrolls into view; words never break mid-letter.
Marker Highlight
Highlighter-pen effect: a soft tinted band sweeps left-to-right behind the words when they scroll into view; works across line wraps (box-decoration-break) and text stays fully legible.
Emoji Swap
Headline whose last word is a pastel pill (emoji + word) that pops out and swaps to the next one on an interval — teams, freelancers, students…
Highlight Text
Marker highlight that draws itself behind a word or phrase — left to right, slightly tilted and rounded — when it scrolls into view; four pastel tones.
Rolling Number
Odometer-style number: each digit rolls vertically to its value with a staggered bounce, on first view and whenever the value changes.
Wave Text
Bouncy text where letters hop one after another in a wave — always, or on hover/focus of the text or a parent .group. Pure CSS.