loading-dev-vue

Beautiful loading indicators for Vue 3.
327
Install
npm install loading-dev-vue
Latest Version:0.2.0
Vue:3
License:MIT
Last Updated:Sep 24, 2026
Links: GitHub  ·  npm
Maintainer: liry24

loading-dev-vue

Vue 3 port of loading.dev's loading indicators.

bun add loading-dev-vue
<script setup lang="ts">
import { Arc } from "loading-dev-vue";
</script>

<template>
  <Arc :size="16" color="rebeccapurple" :duration="1200" />
</template>

All 29 components support size (pixels), color, duration (milliseconds), and playState (running or paused). Their CSS loads automatically when imported through a bundler. Vue 3.5 or later is required.

Vapor mode (experimental)

The same 29 components are available from loading-dev-vue/vapor for Vue 3.6 or later. While Vue 3.6 is a release candidate, this entry is experimental; it is tested with Vue 3.6.0-rc.9. Mount it with createVaporApp without an interop plugin:

import { createVaporApp } from "vue";
import { Arc } from "loading-dev-vue/vapor";

createVaporApp(Arc, { size: 24 }).mount("#app");

The Vapor entry has the same names, props, types, and automatic browser CSS as the normal entry. On Node, its conditional export uses the CSS-free VDOM build for SSR because the Vue 3.6 RC Node runtime does not yet expose Vapor rendering APIs. The normal loading-dev-vue entry continues to support Vue 3.5.

The spinners inherit color, --ld-duration, and --ld-play-state from parent elements unless a prop overrides them. They respect reduced-motion preferences and are decorative (aria-hidden); provide a loading label in the surrounding UI.

Additional options: easing (linear, ease-in-out, stacked) on rotating spinners; cap (flat, round) on stroked spinners; Blocks.sweep (columns, diagonal, rows); Ripple.direction (in, out); Wave.origin (bottom, center).

Current list of indicators:

Arc, Atom, Blocks, BouncingDots, Cascade, CircularDots, Classic, ClassicV2, Clock, Comet, Compass, Dual, Eclipse, Flip, Gather, Leap, LinearDots, Loading, Morph, Orbit, Pulse, Radar, Ring, Ripple, Slide, Snake, Swirl, Trace, Wave.

The upstream React project provides the original designs and live previews. This fork tracks upstream library changes as described in UPSTREAM.md.

License

MIT. Original work © 2026 Jakub Krehel; see LICENSE.md.

Related Packages

vue-loading-overlay

Vue.js component for full screen loading indicator.

2,880,068 1,261
vue-full-loading

Full overlay with spinner for Vue

47,801 164
@gits-id/spinner

GITS Spinner Component

3,231
vue3-loading-overlay

Vue.js component for full screen loading indicator, compatible for vue3.

156,113 13

Version History

Version Released Vue License
0.2.0 >=3.5.0 MIT
0.1.0 >=3.5.0 MIT