Lumeo

Motion

A set of motion primitives — Marquee, NumberTicker, TextReveal, BlurFade, BorderBeam, ShimmerButton, Sparkles — for building high-energy, Aceternity / Magic UI style interfaces.

Installation

dotnet add package Lumeo.Motion

One-time app setup (AddLumeo(), CSS & JS) is covered in the installation guide.

When to Use

  • Marquee — showcase logo walls, testimonials, or tickers in an infinite scroll.
  • NumberTicker — animate metrics, KPI counters, or pricing numbers on first paint.
  • TextReveal — draw attention to hero headlines as the user scrolls them into view.
  • BlurFade — progressively unveil cards, sections, or media on viewport entry.
  • BorderBeam — highlight premium or featured cards with a moving gradient border.
  • ShimmerButton — make a single primary call-to-action feel alive.
  • Sparkles — add delight around promotional badges, empty states, or celebratory moments.
Acme
Lumeo
Vercel
Figma
Linear
Stripe
Supabase
OpenAI
0+
Happy users
0.0%
Uptime
$0M
Revenue
Motion brings interfaces to life with clarity and intent.
First
Second
Third

Pro plan

Popular

Unlock premium features with a travelling beam border.

$29 /mo

Switch sizes to see the ShimmerButton resize live.

Current size: Default

Pick a size to see the ShimmerButton scale live. One button is shown at a time.

Magic is in the details.

API Reference

Marquee

Property Type Default Description
SpeedMarqueeSpeedNormalSlow, Normal, or Fast — maps to a CSS animation duration.
DirectionMarqueeDirectionLeftScroll direction.
PauseOnHoverboolfalsePauses the animation while the user hovers the marquee.
ReverseboolfalseInverts the Direction.
VerticalboolfalseScrolls vertically instead of horizontally.

NumberTicker

Property Type Default Description
Valuedouble0Target value to animate to.
StartValuedouble0Value the ticker starts from.
DurationMsint1500Animation duration in milliseconds.
Decimalsint0Number of fractional digits to display.
Prefixstring?Text prepended before the number (e.g. $).
Suffixstring?Text appended after the number (e.g. %, +, K).

TextReveal

Property Type Default Description
TextstringFull string to reveal. Split on whitespace into per-word spans.
Staggerint80Milliseconds of delay between words.
Thresholddouble0.3IntersectionObserver threshold that triggers the reveal.

BlurFade

Property Type Default Description
DelayMsint0Delay applied before the fade-in after intersection.
DurationMsint600CSS transition duration.
BlurPxint8Initial blur in pixels.
Yoffsetint8Initial Y translate in pixels.
OncebooltrueIf true, only animates on first entry.

BorderBeam

Property Type Default Description
SizeBeamSizeMdBeam thickness — Sm, Md, or Lg.
DurationMsint8000Full rotation duration in ms.
ColorFromstring?var(--color-primary)Gradient start color.
ColorTostring?var(--color-primary)Gradient end color.

ShimmerButton

Property Type Default Description
OnClickEventCallback<MouseEventArgs>Click handler.
ShimmerbooltrueEnables the shimmer sweep.
ShimmerColorstring?rgba white 45%Color of the sweeping highlight.
VariantButton.ButtonVariantDefaultReuses Button variants.
SizeButton.ButtonSizeDefaultReuses Button sizes.
Disabled bool false Disables the button and suppresses the shimmer animation.
PressEffect Button.ButtonPressEffect None Press feedback animation. Values: None, Scale, Brightness, Ripple.

Sparkles

Property Type Default Description
Countint5Number of sparkles to render.
MinSizeint6Minimum sparkle size in px.
MaxSizeint14Maximum sparkle size in px.
Colorstringvar(--color-primary)Sparkle color — any CSS color value.