Veilkit v0.3.0•45+ Presets, 30 Spinners, 16 Button Styles, Zero Dependencies

Every loading state, beautifully.
One package, every framework.

Production-grade, zero-dependency loading UI toolkit. Pure 60 FPS GPU motion, synchronized timeline clocks, anti-flicker timing, auto-measure DOM wrapping, and frosted glass themes.

veilkit.tashanto.com
✦All shimmers across page remain synchronized via global timeline clock
Live Visual Showcase

See Veilkit in Action

Inspect the smoothness of pure GPU motion. Zero layout thrashing, zero battery drain.

Hero Shimmer & Reveal

Synchronized 60 FPS skeleton shimmer with smooth anti-flicker reveal into content.

60 FPS Compositor Animation
Engineered for Modern Web

Everything You Need for Loading States

Built from the ground up to solve layout thrashing, phase desynchronization, and micro-flicker.

⚡️

Pure GPU Compositor Motion

Animations strictly manipulate hardware-accelerated transform and opacity. Zero layout recalculations, zero paint thrash, and 60 FPS buttery smoothness.

⏱️

Synchronized Global Clock

Every shimmer on the page synchronizes to a shared timeline phase using negative animation-delay offsets. No matter when elements mount, all light sweeps move in perfect unison.

🛡️

Anti-Flicker Timing Controller

Fast API calls under 150ms never trigger skeletons, eliminating annoying visual micro-flashes. When loaders do appear, they stay visible for at least 300ms for a serene transition.

🎨

45+ Canonical Presets & 5 Shapes

Instant responsive layouts for e-commerce, cards, feeds, dashboards, code blocks, chat, checkouts, and trees with rounded, pill, glass, square, and sharp borders.

🔘

Loading Button State Machine

Zero layout-shift button with 16 animation styles (morph-circle, stripes, border-trace), promise tracking, animated checkmark draws, and mobile haptics.

📦

Zero Runtime Dependencies

Pure TypeScript runtime engine. Sub-6 kB core gzip footprint. Framework packages are optional peer dependencies. Compatible with tree-shaking and strict Content Security Policies.

Interactive Custom Builder

Build Skeletons Matching Your Exact Website Layout

Add elements, tweak dimensions, select animations and shapes. Copy the production code directly into your project in seconds.

#1image
#2heading
#3lines
#4button
Live Visual Previewshape: rounded

✦ GPU-accelerated motion matching layout leaf elements.

Generated Code
import { CustomSkeleton, SkeletonBuilder } from 'veilkit/react';

// Option A: Declarative Custom Layout Component
export function MyWebsiteSkeleton() {
  const config = {
    animation: 'shimmer',
    theme: 'glass',
    shape: 'rounded',
    gap: 12,
    nodes: [
      { type: 'image', width: '100%', height: '160px' },
      { type: 'heading', width: '65%', height: '24px' },
      { type: 'line', width: '90%', height: '14px' },
      { type: 'button', width: '120px', height: '40px' }
    ],
  };

  return <CustomSkeleton config={config} />;
}

// Option B: Fluent SkeletonBuilder API
export const builderSkeleton = new SkeletonBuilder({ animation: 'shimmer', shape: 'rounded' })
  .rect('100%', '160px')
  .heading('65%', '24px')
  .lines(2)
  .button('120px', '40px')
  .build();
Compatible with React 18/19, Next.js App Router & SSR.
Write Once, Run Everywhere

100% Feature Parity Across Every Platform

Switch frameworks without rewriting loading architecture. Same tokens, same synchronized clocks, same animations, everywhere.

Dashboard.tsx
// Next.js & React 19 Client Component
import { Skeleton, SkeletonPreset, LoadingButton, Spinner } from 'veilkit/react';

export function UserDashboard({ user, loading }) {
  if (loading) {
    return (
      <div className="space-y-4">
        {/* Preset Skeleton with glass theme */}
        <SkeletonPreset name="dashboard" shape="glass" animation="aurora" />
      </div>
    );
  }

  return (
    <LoadingButton
      loadingStyle="morph-circle"
      loadingText="Saving Changes..."
      successText="Saved!"
      onClick={async () => await saveSettings()}
    >
      Update Profile
    </LoadingButton>
  );
}
Unrivaled Architecture

How Veilkit compares to the alternatives

Compare Veilkit against traditional loading libraries. Built from the ground up for modern cross-framework applications without compromises.

Core Feature✦ veilkitreact-loading-skeletonreact-content-loadernprogressshadcn/ui
Zero Runtime DependenciesAll framework adapters are strictly optional peer dependencies
✓ Yes✕ No✕ No✓ Yes✕ No
Universal Multi-Framework Parity
React, Vue, Svelte, Angular, Native, Elements, CDNReact onlyReact & React NativeVanilla onlyReact only
Pure GPU Compositor Motion
Yes (transform & opacity only)No (animates background-position)No (SVG clipPath repaint)No (CSS width transitions)No (CSS animation)
Synchronized Global Timeline Clocks
Built-in (Zero Phase Jitter)No (elements desync)No (independent phases)N/ANo
Anti-Flicker Timing Controller
Built-in (delay & minVisible)Manual user logicManual user logicNoNo
DOM Auto-Measure Engine
Built-in (<Veil loading>, v-veil)NoNoN/ANo
Ready-Made Responsive Presets
45+ Presets (5 shape styles)0 (Primitives only)Community SVGs00
GPU Spinner Loaders
30 Spinners (Glass & Speed)001 basic spinner0
Loading Button State Machine
16 Styles (Promises & Haptics)NoneNoneNoneButton + manual spinner
Built-in Design Themes
11 Themes (Glass, iOS, Neon) + createThemeLight / Dark onlyCustom SVG colors1 theme colorTailwind muted
Route Progress Loader
Built-in (Top trickle bar)NoneNoneYesNone
Static CLI Pre-rendering
npx veilkit capture (Zero-runtime)NoNoNoNo
Frequently Asked Questions

Everything You Need to Know

Quick answers to common questions about performance, architecture, and framework integration.

Most skeleton libraries animate background-position or CSS width, which triggers continuous layout recalculations (layout thrashing) and drains device battery. Furthermore, when skeletons mount at different times, their shimmers animate out of sync, creating visual jitter. Veilkit solves both: animations strictly use transform and opacity on the GPU compositor thread, and all elements share a single global clock phase so all shimmers stay in perfect harmony across the entire page. Plus, Veilkit has zero runtime dependencies and supports React, Vue, Svelte, Angular, Native, and Web Components.

Ready to elevate your loading experience?

Get started with Veilkit in less than two minutes. Zero dependencies, instant setup, every platform.