Loading

A Loading component is a UI element that indicates to users that a process is ongoing, such as data fetching, page loading, or background tasks. It typically features visual indicators like spinners, progress bars, or animated icons to convey that the application is busy and to enhance the user experience by preventing confusion or frustration during waiting periods.
# Demo

Basic Loading States

Simple loading spinners in different sizes and colors.

Small Loading

Loading...

size="sm"

Medium Loading (Default)

Loading...

Default size

Large Loading

Loading...

size="lg"

Custom Styled Loading

Loading spinners with custom colors and styling.

Primary

Loading...

Success

Loading...

Warning

Loading...

Danger

Loading...

Loading with Text

Loading indicators combined with descriptive text.

Loading...
Loading data...
Loading...

Please wait while we process your request

Loading...

Uploading files

This may take a few moments

Loading...

Synchronizing data

Connecting to server and updating records

Button Loading States

Interactive buttons with loading states and actions.

Progress Loading

Loading indicators with progress tracking.

File Upload Progress

Contextual Loading

Loading states in different contexts and layouts.

Table Loading

NameStatus
Loading...
Loading data...

Card Content Loading

Loading...
Loading content...

Form Submission

Dashboard Widget

Total Sales
Loading...
Updating...
Loading...

Loading chart data

---
Orders
---
Revenue

Full Page Loading

Loading overlays and full-screen loading states.

Overlay Loading

This simulates a loading overlay that appears over content while processing.

Modal Loading

Loading state within modal dialogs and popups.

Loading...

Loading modal content

Fetching data from server

Custom Loading Patterns

Creative loading patterns and animations.

Pulsing Dots

Rotating Icon

Gradient Spinner

Loading Best Practices

Guidelines for effective loading state implementation.

✅ Do

  • • Show loading immediately when action starts
  • • Provide clear, descriptive loading messages
  • • Use appropriate loading size for context
  • • Disable interactive elements during loading
  • • Show progress for long-running operations
  • • Use skeleton screens for content loading

❌ Don't

  • • Use loading for very fast operations (<200ms)
  • • Block entire interface unnecessarily
  • • Use generic "Loading..." for everything
  • • Forget to handle loading errors
  • • Make loading animations too distracting
  • • Leave users without feedback on progress

Loading State Summary

Current status of all interactive loading examples.

General Loading

Idle

Search

Ready

Save Action

Ready

Upload Progress

0%

Ready

# Usage
# Attributes
NameTypeDefaultDetails
classNamestring' 'You can customise by passing tailwind classes.
aria-labelstringOptionalARIA label for accessibility.