Glyph Trail
cursorNyProAfrundede brikker med hver sin farve og sit tegn, lagt præcis hvor markøren bevæger sig, med den nyeste øverst. Halen falmer med alderen, så sporet forsvinder ind i markøren, når den hviler, og tekst med difference-blanding skifter farve, hvor den krydser brikkerne. I en boks eller over hele siden.
Introduktionspris til og med 31. december 2026. Derefter 79 €.
Preview
Live demo. Temaet skifter selve demoen.
Kode
Koden er låst
Glyph Trail er en del af Manniche UI Pro. En nøgle åbner kildekoden til alle 66 effekter.
Køb · 49 €49 € · Introduktionspris til og med 31. december 2026. Derefter 79 €.
- Engangsbetaling
- Én udvikler
- Log ind og opret din nøgle med det samme
- Ingen moms (§ 19 UStG)
Har du en nøgle? Hent koden med CLI eller MCP.
Nøglen ligger i MANNICHE_PRO_KEY, aldrig i koden eller i adressen. Sådan sætter du den op
npx shadcn@latest add @manniche-pro/glyph-trailclaude mcp add --transport http manniche-ui https://mikkelmanniche.dk/api/mcp --header "Authorization: Bearer $MANNICHE_PRO_KEY"Props
GlyphTrailProps
| Prop | Type | Standard | Hvad den gør |
|---|---|---|---|
glyphs | string[] | DEFAULT_GLYPHS | The symbols on the tiles, laid down in this order and repeated. |
palette | GlyphTrailColor[] | DEFAULT_PALETTE | Tile colours, laid down in this order and repeated alongside the glyphs. A plain string picks a black or white glyph by itself. |
length | number | 16 | Most tiles on screen at once. The oldest one makes room for the next. |
size | number | 44 | Edge of one tile in CSS pixels. |
spacing | number | 0.7 | Distance between tiles along the path, as a share of size. Below 1 they overlap like a deck of cards. |
roundness | number | 0.24 | Corner radius as a share of size. 0.5 makes circles. |
life | number | 650 | Milliseconds one tile stays before it has faded away. When the pointer rests, the trail fades from the tail into the pointer. |
offset | { x: number; y: number } | { x: 6, y: 8 } | Where the newest tile sits relative to the pointer tip, in pixels. |
scope | 'container' | 'window' | 'container' | container keeps the trail inside this component's box; window lets it follow the pointer over the whole page. |
layer | 'above' | 'behind' | 'above' | Draw the trail over the content (default) or under it, where text with mix-blend-difference tints over the tiles. Clicks pass through either way. |
touch | boolean | true | Let a finger drag the trail. Scrolling keeps working either way. |
zIndex | number | 60 | Stack order of the page-wide layer with scope="window". |
children | ReactNode | – | The surface the trail lives in (with scope="container"). |
className | string | – | Classes for the surface. |
style | CSSProperties | – | Inline style for the surface. |
A11y
Skærmlæser
The trail layer is aria-hidden and has pointer-events: none, so nothing is announced and no click is blocked. Your content inside is rendered as is.
Tastatur
The trail follows only a mouse, pen or finger. It adds no tab stops and never takes focus from the page.
Mindre bevægelse
Under reduced motion no trail is drawn and only the children render. It uses one rAF loop with pooled tiles, and the loop sleeps once the trail has folded in.
Andet
The tiles are absolutely positioned on their own layer, so the layout never shifts. With touch it follows a dragging finger without blocking page scroll (passive listeners). With scope="window" it uses a fixed overlay through a portal.