Skip to content

Loader

Loader

The Loader creates a full-screen overlay that blocks user interaction during critical operations. It provides clear feedback that the system is working.

PropertyValue
SizeFull viewport (100vw × 100vh)
Background (default)Solid white (primary-tselWhite)
Background (transparent)rgba(0, 0, 0, 0.5) (50% black)
Z-index9999
PositionFixed, top: 0, left: 0
Transition700ms (duration-700)
Spinnerloader.png image with animate-spin
LayoutFlex, centered

Solid white background (bg-primary-tselWhite) — default loader overlay blocking all interaction

Standard Loader

50% black overlay (rgba(0, 0, 0, 0.5)) — shows underlying content while loading. Activated via config.isBgTransparent.

Standard Loader
OptionTypeDefaultDescription
isDisabledbooleanfalseCompletely removes loader from DOM
isLoadingbooleanfalseToggles loader visibility (fades out when false)
config.isBgTransparentbooleanfalseUses 50% black overlay instead of solid white
config.isBgWhitebooleanfalseForces solid white background
queueasync pipe0Queue counter — hidden when queue resolves to 0
  • During page transitions
  • For complex operations blocking the entire UI
  • When multiple async operations need unified loading
  • To prevent user interaction during critical operations
✅ Do❌ Don’t
Keep loading times short (under 5 seconds)Use for quick operations (< 500ms)
Use descriptive messages for long operationsBlock navigation unnecessarily
Disable on routes where it’s not neededUse without clear context
Provide feedback for operations over 3 secondsOveruse for every small operation
DurationRecommendation
< 1sNo loader needed
1-3sConsider skeleton or inline loader
3-10sFull loader with message
> 10sConsider progress indicator

View in Storybook →