Vue 3 loading states
Make waiting feel intentional.
Veload is an accessible, dependency free collection of polished Vue 3 loaders, skeleton presets and progress components. Every example on this site is the real package, rendered on the server.
- 36
- named loaders
- 11
- skeleton patterns
- 0
- runtime dependencies
- Nuxt
- live playground
<VSpinDotsLoader :size="72" />
What you get
Built for real interfaces
Small primitives that compose into the loading states your product actually needs.
36 named loaders
CSS animations covering motion, circular, geometric and utility styles, each with its own detail page and copyable example.
Skeleton presets
Article, card, dashboard, feed, form, list, media card, product, profile and table layouts built from one accessible primitive.
Accessible by default
Status roles, live labels and decorative modes are handled for you. Decorative previews never interrupt a screen reader.
Reduced motion aware
Every animation collapses under prefers-reduced-motion, so the interface stays calm for people who ask for it.
Built for Vue 3
Vue components and composables with no Nuxt module, plugin or global manager required.
Typed end to end
Props, slots and composable return values are exported as TypeScript types, so the editor always knows what a component accepts.
Interactive
Tune a treatment in seconds
These controls drive the previews below. Every loader accepts the same size, colour, duration and label props. The cards stay decorative so they do not interrupt a screen reader; the live component in the hero uses the label.
- BarsMotionVBarsLoaderRhythmic vertical bars
- DotsMotionVDotsLoaderMinimal staggered dots
- SpinMotionVSpinLoaderCompact spinner
- Gradient ringCircularVGradientRingLoaderLuminous conic ring
- Orbit dotsCircularVOrbitDotsLoaderOrbiting satellite dots
- Progress ringCircularVProgressRingLoaderProgress-ready ring
- BlobGeometricVBlobLoaderMorphing organic blob
- MorphGeometricVMorphLoaderMorphing soft square
Placeholders
Skeletons that match the final layout
Named presets for the screens you build most often, plus the primitive and pattern APIs behind them.
Core components
The rest of the toolkit
Spinners, progress bars, loading buttons and content overlays for the states that are not a single animation.
VSpinner
A compact status spinner for inline work such as saving a field.
VProgress
Determinate and indeterminate progress with an accessible value.
VLoadingButton
A native button that disables itself and shows an indicator while it works.
VLoading
An overlay that makes the content beneath it inert while loading.
Project overviewVLoader
The generic loader that switches between all 36 treatments.
VSkeletonLoader
The skeleton primitive, exported under its catalogue name.
Get started
Install the package
Documentation for veload@0.1.2. Install the MIT-licensed Vue 3 toolkit from npm.
npm install veload