Preloader

Animated loading screens with multiple style variants

loadingyourexperience.

Customize

Background Color
Duration (ms)
1500
Text Fade Threshold (%)
99
Backdrop Blur (px)
0
Stair Count
10

Props

28
loadingboolean

Whether the preloader is active

Defaultfalse
variant"stairs" | "percentage" | "circle" | "slide" | "curtain"

Visual variant of the preloader animation

Default"stairs"
position"fixed" | "absolute"

Position type of the preloader container

Default"absolute"
durationnumber

Duration of the loading animation in milliseconds

Default2500
loadingTextstring

Loading text to display (for stairs and circle variants)

Default"Loading your next level experience"
zIndexnumber

Z-index for the preloader

Default50
bgColorstring

Background color (overrides default)

Defaultundefined
textClassNamestring

CSS classes for the loading text

Default""
percentagePosition"center" | "bottom-left" | "top-left"

Position of percentage counter (percentage variant only)

Default"center"
showPercentageSignboolean

Show percentage sign (percentage variant only)

Defaulttrue
percentageTextClassNamestring

CSS classes for percentage text (percentage variant only)

Default""
showProgressBarboolean

Show progress bar (percentage variant only)

Defaulttrue
progressBarPosition"top" | "bottom"

Progress bar position (percentage variant only)

Default"bottom"
stairCountnumber

Number of stairs (stairs variant only)

Default10
stairsRevealFrom"left" | "right" | "center"

Direction stairs reveal from (stairs variant only)

Default"left"
stairsRevealDirection"up" | "down"

Direction stairs move when revealing (stairs variant only)

Default"up"
onComplete() => void

Callback function when loading completes

Defaultundefined
onLoadingStart() => void

Callback function when loading starts

Defaultundefined
onLoadingComplete() => void

Callback function when exit animation completes

Defaultundefined
respectReducedMotionboolean

Respect prefers-reduced-motion system setting

Defaultfalse
reducedMotionFallback"fade" | "none"

Fallback behavior when reduced motion is preferred (fade or instant)

Default"fade"
ariaLabelstring

ARIA label for screen readers

Default"Loading content"
ariaLive"polite" | "assertive" | "off"

ARIA live region politeness level

Default"polite"
textFadeThresholdnumber

Progress threshold (0-100) when loading text starts fading out

Default99
backdropBlurnumber

Backdrop blur amount in pixels

Default0
customContent(progress: number) => ReactNode

Custom content render function that receives current progress (0-100)

Defaultundefined
classNamestring

Additional CSS classes for styling

Default""
childrenReactNode

Content to show after loading completes

Defaultundefined