Loader

A loader is a visual indicator that a task is in progress.

Preview

Loader vs Skeleton

Use Loader when:

  • You need a simple, generic loading indicator
  • Loading time is short or indeterminate
  • You want to indicate that a process is running without showing layout structure
  • You need a compact loading indicator for buttons, small components, or overlays

Use Skeleton when:

  • Content is expected to take more than a few hundred milliseconds to load on average
  • You want to show the approximate layout and structure of content being loaded
  • Loading complex lists, cards, or detailed content where users benefit from seeing the expected layout
  • You need to maintain visual hierarchy during loading states

Variants

Default

The base loader should be the go-to loader for most of your needs. When in doubt, use this style.

Sizes

The base loader size is 24px and should be used in most cases.

Vue API

import { DtLoader } from '@dialpad/dialtone-vue';

Props

Name
Default
Type
ariaLabel
''
string

The label of the loader as read out by a screen reader. Default is "loading"

size
'500'
"100" | "200" | "300" | "400" | "500" | "600" | "700" | "800"

The size of the icon.

Accessibility

  • You can add an aria-label attribute to the loader to indicate a custom label.
  • If no aria-label is provided, the default value is "loading".

Loader documentation last updated Thursday, June 18, 2026