Activity Indicator
Activity Indicator provides a collection of animated indicators that you can use to match different styles or loading contexts. Each variant has customizable sizing and styling, making it easy to integrate your UI.
To use an indicator, specify a :type=[indicator] prop, and size=[size] prop. Add a class=[custom size or color] class to customize the size or color of the indicator.
Installation
pnpm i @vue-interface/activity-indicatoryarn add @vue-interface/activity-indicatornpm i @vue-interface/activity-indicatorbun i @vue-interface/activity-indicatorSizing
The size of all indicators can be customized using predetermined size classes: 2xs, xs, sm, md, lg, xl, 2xl, 3xl, 4xl,5xl.
<ActivityIndicator :type="Dots" size="lg"></ActivityIndicator>For more granular control over indicator sizes, use Tailwind's numeric sizing scale classes: activity-indicator-1 - activity-indicator-96.
<ActivityIndicator :type="Dots" class="activity-indicator-3"></ActivityIndicator>For precise sizing, specify exact pixel values using the syntax activity-indicator-[Npx] or any other CSS length units (rem, em, mm, etc.).
<ActivityIndicator :type="Dots" class="activity-indicator-[16px]"></ActivityIndicator>Custom Colors
To customize the color of the indicator, use the class: activity-indicator-[color].
<ActivityIndicator :type="Dots" class="activity-indicator-red-700"></ActivityIndicator>
<ActivityIndicator :type="Dots" class="activity-indicator-yellow-700"></ActivityIndicator>
<ActivityIndicator :type="Dots" class="activity-indicator-green-700"></ActivityIndicator>
<ActivityIndicator :type="Dots" class="activity-indicator-blue-700"></ActivityIndicator>Dots
Show Code
<ActivityIndicator :type="Dots" size="2xs"></ActivityIndicator>
<ActivityIndicator :type="Dots" size="xs"></ActivityIndicator>
<ActivityIndicator :type="Dots" size="sm"></ActivityIndicator>
<ActivityIndicator :type="Dots" size="md"></ActivityIndicator>
<ActivityIndicator :type="Dots" size="lg"></ActivityIndicator>
<ActivityIndicator :type="Dots" size="xl"></ActivityIndicator>
<ActivityIndicator :type="Dots" size="2xl"></ActivityIndicator>
<ActivityIndicator :type="Dots" size="3xl"></ActivityIndicator>
<ActivityIndicator :type="Dots" size="4xl"></ActivityIndicator>
<ActivityIndicator :type="Dots" size="5xl"></ActivityIndicator>Tailwind Sizes
Show Code
<ActivityIndicator :type="Dots" class="activity-indicator-1"></ActivityIndicator>
<ActivityIndicator :type="Dots" class="activity-indicator-2"></ActivityIndicator>
<ActivityIndicator :type="Dots" class="activity-indicator-3"></ActivityIndicator>
<ActivityIndicator :type="Dots" class="activity-indicator-4"></ActivityIndicator>Arbitrary Sizes
Show Code
<ActivityIndicator :type="Dots" class="activity-indicator-[16px]"></ActivityIndicator>
<ActivityIndicator :type="Dots" class="activity-indicator-[2rem]"></ActivityIndicator>Chase
Show Code
<ActivityIndicator :type="Chase" size="xs"></ActivityIndicator>
<ActivityIndicator :type="Chase" size="sm"></ActivityIndicator>
<ActivityIndicator :type="Chase" size="md"></ActivityIndicator>
<ActivityIndicator :type="Chase" size="lg"></ActivityIndicator>
<ActivityIndicator :type="Chase" size="xl"></ActivityIndicator>Spinner
Show Code
<ActivityIndicator :type="Spinner" size="xs"></ActivityIndicator>
<ActivityIndicator :type="Spinner" size="sm"></ActivityIndicator>
<ActivityIndicator :type="Spinner" size="md"></ActivityIndicator>
<ActivityIndicator :type="Spinner" size="lg"></ActivityIndicator>
<ActivityIndicator :type="Spinner" size="xl"></ActivityIndicator>Square
Show Code
<ActivityIndicator :type="Square" size="xs"></ActivityIndicator>
<ActivityIndicator :type="Square" size="sm"></ActivityIndicator>
<ActivityIndicator :type="Square" size="md"></ActivityIndicator>
<ActivityIndicator :type="Square" size="lg"></ActivityIndicator>
<ActivityIndicator :type="Square" size="xl"></ActivityIndicator>Square Orbit
Show Code
<ActivityIndicator :type="SquareOrbit" size="xs"></ActivityIndicator>
<ActivityIndicator :type="SquareOrbit" size="sm"></ActivityIndicator>
<ActivityIndicator :type="SquareOrbit" size="md"></ActivityIndicator>
<ActivityIndicator :type="SquareOrbit" size="lg"></ActivityIndicator>
<ActivityIndicator :type="SquareOrbit" size="xl"></ActivityIndicator>Square Fold
Show Code
<ActivityIndicator :type="SquareFold" size="xs"></ActivityIndicator>
<ActivityIndicator :type="SquareFold" size="sm"></ActivityIndicator>
<ActivityIndicator :type="SquareFold" size="md"></ActivityIndicator>
<ActivityIndicator :type="SquareFold" size="lg"></ActivityIndicator>
<ActivityIndicator :type="SquareFold" size="xl"></ActivityIndicator>Circle Fade
Show Code
<ActivityIndicator :type="CircleFade" size="xs"></ActivityIndicator>
<ActivityIndicator :type="CircleFade" size="sm"></ActivityIndicator>
<ActivityIndicator :type="CircleFade" size="md"></ActivityIndicator>
<ActivityIndicator :type="CircleFade" size="lg"></ActivityIndicator>
<ActivityIndicator :type="CircleFade" size="xl"></ActivityIndicator>Circle Orbit
Show Code
<ActivityIndicator :type="CircleOrbit" size="xs"></ActivityIndicator>
<ActivityIndicator :type="CircleOrbit" size="sm"></ActivityIndicator>
<ActivityIndicator :type="CircleOrbit" size="md"></ActivityIndicator>
<ActivityIndicator :type="CircleOrbit" size="lg"></ActivityIndicator>
<ActivityIndicator :type="CircleOrbit" size="xl"></ActivityIndicator>Circle Trail
Show Code
<ActivityIndicator :type="CircleTrail" size="xs"></ActivityIndicator>
<ActivityIndicator :type="CircleTrail" size="sm"></ActivityIndicator>
<ActivityIndicator :type="CircleTrail" size="md"></ActivityIndicator>
<ActivityIndicator :type="CircleTrail" size="lg"></ActivityIndicator>
<ActivityIndicator :type="CircleTrail" size="xl"></ActivityIndicator>Pulse
Show Code
<ActivityIndicator :type="Pulse" size="xs"></ActivityIndicator>
<ActivityIndicator :type="Pulse" size="sm"></ActivityIndicator>
<ActivityIndicator :type="Pulse" size="md"></ActivityIndicator>
<ActivityIndicator :type="Pulse" size="lg"></ActivityIndicator>
<ActivityIndicator :type="Pulse" size="xl"></ActivityIndicator>Double Pulse
Show Code
<ActivityIndicator :type="DoublePulse" size="xs"></ActivityIndicator>
<ActivityIndicator :type="DoublePulse" size="sm"></ActivityIndicator>
<ActivityIndicator :type="DoublePulse" size="md"></ActivityIndicator>
<ActivityIndicator :type="DoublePulse" size="lg"></ActivityIndicator>
<ActivityIndicator :type="DoublePulse" size="xl"></ActivityIndicator>Grid
Show Code
<ActivityIndicator :type="Grid" size="xs"></ActivityIndicator>
<ActivityIndicator :type="Grid" size="sm"></ActivityIndicator>
<ActivityIndicator :type="Grid" size="md"></ActivityIndicator>
<ActivityIndicator :type="Grid" size="lg"></ActivityIndicator>
<ActivityIndicator :type="Grid" size="xl"></ActivityIndicator>Facebook
Show Code
<ActivityIndicator :type="Facebook" size="xs"></ActivityIndicator>
<ActivityIndicator :type="Facebook" size="sm"></ActivityIndicator>
<ActivityIndicator :type="Facebook" size="md"></ActivityIndicator>
<ActivityIndicator :type="Facebook" size="lg"></ActivityIndicator>
<ActivityIndicator :type="Facebook" size="xl"></ActivityIndicator>Spotify
Show Code
<ActivityIndicator :type="Spotify" size="xs"></ActivityIndicator>
<ActivityIndicator :type="Spotify" size="sm"></ActivityIndicator>
<ActivityIndicator :type="Spotify" size="md"></ActivityIndicator>
<ActivityIndicator :type="Spotify" size="lg"></ActivityIndicator>
<ActivityIndicator :type="Spotify" size="xl"></ActivityIndicator>Absolute Inside Parent
Show Code
<div class="relative h-[500px] bg-black/10">
<ActivityIndicator
:type="Dots"
class="absolute inset-0 flex items-center justify-center"
/>
</div>