@vuecs/placeholder
@vuecs/placeholder
Skeleton loading primitives for vuecs — the "shimmer" pattern. Pure CSS, self-contained (renders visibly even without a theme), and accessible out of the box.
✨ What's inside
- 🦴
<VCPlaceholder>— a single animated bar.shape(rect/pill/circle),size(xs–xl), explicitwidth, and a per-instancedurationoverride. - 🔀
<VCPlaceholderWrapper>— conditional#loading↔#defaultswitch with the W3C "Loading content" ARIA wiring (aria-busy,role="status",aria-live="polite") handled for you. - 🎞️ Three animation modes —
wave(moving gradient, default),glow(opacity pulse),none;prefers-reduced-motiondisables animation automatically. - 🏗️ Composite skeletons live with their components —
<VCCardPlaceholder>ships in@vuecs/elements,<VCTablePlaceholder>in@vuecs/table; both are built from this package's primitives.
📦 Installation
npm install @vuecs/placeholder
⚡ Usage
<VCPlaceholderWrapper :loading="busy">
<template #loading>
<VCPlaceholder shape="circle" :width="48" />
<VCPlaceholder size="lg" />
<VCPlaceholder size="sm" width="60%" />
</template>
<template #default>
<!-- real content -->
</template>
</VCPlaceholderWrapper>
📚 Documentation
Full reference, shapes, and animation demos: vuecs.dev/components/placeholder
License
Made with 💚
Published under Apache 2.0 License.
Related Packages
@alikhalilll/a-skeleton
Self-generating Vue 3 / Nuxt 3+ skeleton loader. First paint mirrors the slot's...
1,273
4
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 1.1.1 | ^3.x | Apache-2.0 | |
| 1.1.0 | ^3.x | Apache-2.0 | |
| 1.0.8 | ^3.x | Apache-2.0 | |
| 1.0.7 | ^3.x | Apache-2.0 | |
| 1.0.6 | ^3.x | Apache-2.0 | |
| 1.0.5 | ^3.x | Apache-2.0 | |
| 1.0.4 | ^3.x | Apache-2.0 | |
| 1.0.3 | ^3.x | Apache-2.0 | |
| 1.0.2 | ^3.x | Apache-2.0 | |
| 1.0.1 | ^3.x | Apache-2.0 | |
| 1.0.0 | ^3.x | Apache-2.0 |