Components

Loading

Indicate loading with spinner, expressive, and shape loaders.

Three loading components for different moods: UiLoading (spinner), UiExpressiveLoading (animated, cycling messages), and UiShapeLoading (animated shapes).

Spinner loading

<template>
  <UiLoading title="Loading" subtitle="Fetching your data…" spinner-size="48px" />
</template>

Expressive loading

Cycles through messages on an interval:

<template>
  <UiExpressiveLoading
    :title="['Warming up…', 'Almost there…', 'Finishing up…']"
    :interval="2500"
    size="lg"
  />
</template>

Shape loading

<template>
  <UiShapeLoading title="Generating" subtitle="This may take a moment" />
</template>

UiLoading props

PropTypeDefaultDescription
title / subtitlestring | null—Text.
spinnerSizestring | number'65px'Spinner size.
hideSpinnerbooleanfalseHide the spinner.
customClassstring | string[] | null—Extra classes.
loadingStylesStyleValue—Inline styles for the root element.
rolestring'status'ARIA role.
ariaLabelstring'Loading'Accessible name.
ariaLive'off' | 'polite' | 'assertive''polite'Live-region politeness.

UiExpressiveLoading props

PropTypeDefaultDescription
titlestring | string[] | null—Message, or list of messages to cycle.
intervalnumber3000Cycle interval (ms).
size'sm' | 'md' | 'lg''md'Size.
customClassstring | string[] | null—Extra classes.
loadingStylesStyleValue—Inline styles for the root element.
rolestring'status'ARIA role.
ariaLabelstring'Loading content'Accessible name.
ariaLive'off' | 'polite' | 'assertive''polite'Live-region politeness.

UiShapeLoading props

PropTypeDefaultDescription
title / subtitlestring | null—Text.
customClassstring | string[] | null—Extra classes.
loadingStylesStyleValue—Inline styles for the root element.
rolestring'status'ARIA role.
ariaLabelstring'Loading content'Accessible name.
ariaLive'off' | 'polite' | 'assertive''polite'Live-region politeness.
For a bare inline spinner, use UiProgressSpinner.
Copyright © 2026