YaVendio Registry
Components

YA Skeleton

Componente de placeholder animado para estados de carga, con tipos línea y tarjeta

El componente Skeleton proporciona placeholders visuales animados mientras se carga el contenido. Disponible en dos tipos: línea (con avatar) y tarjeta (con área de contenido).

Quick Start

bash pnpm dlx shadcn@latest add @yavendio/ya-skeleton
bash npx shadcn@latest add @yavendio/ya-skeleton
bash yarn dlx shadcn@latest add @yavendio/ya-skeleton
import { YaSkeleton } from '@/components/ui/ya-skeleton'

export default function Example() {
  return <YaSkeleton type="line" />
}

Types

El componente soporta dos tipos principales de skeleton.

Line (default)

Card

TypeDescripción
lineAvatar circular + dos líneas de texto (default)
cardDos líneas de texto + área rectangular grande
<YaSkeleton type="line" />
<YaSkeleton type="card" />

Line Type

Ideal para listas de usuarios, comentarios o cualquier contenido con avatar.

<YaSkeleton type="line" />
<YaSkeleton type="line" />
<YaSkeleton type="line" />

Card Type

Perfecto para cards de contenido, posts de blog o productos.

<YaSkeleton type="card" />
<YaSkeleton type="card" />

Primitives

Además del componente compuesto, puedes usar los primitivos individuales para composiciones personalizadas.

Avatar

Lines

Card

import {
  YaSkeletonAvatar,
  YaSkeletonLine,
  YaSkeletonCard,
} from '@/components/ui/ya-skeleton'

// Avatar (circle)
<YaSkeletonAvatar />
<YaSkeletonAvatar className="size-12" />

// Lines
<YaSkeletonLine />
<YaSkeletonLine width="partial" />

// Card area
<YaSkeletonCard />

Custom Composition

Combina los primitivos para crear layouts de loading personalizados.

<div className="flex gap-4 items-start">
  <YaSkeletonAvatar className="size-10" />
  <div className="flex-1 space-y-2">
    <YaSkeletonLine className="w-1/3 h-4" />
    <YaSkeletonLine className="w-full h-3" />
    <YaSkeletonLine className="w-2/3 h-3" />
  </div>
</div>

Props

YaSkeleton

PropTypeDefaultDescripción
type'line' | 'card''line'Tipo de layout del skeleton
classNamestring-Clases adicionales

Extiende todos los atributos estándar de div.

YaSkeletonAvatar

PropTypeDefaultDescripción
classNamestring-Clases adicionales

Tamaño por defecto: 48x48px, bordes redondeados (pill).

YaSkeletonLine

PropTypeDefaultDescripción
width'full' | 'partial''full'Ancho de la línea
classNamestring-Clases adicionales

Altura por defecto: 16px.

YaSkeletonCard

PropTypeDefaultDescripción
classNamestring-Clases adicionales

Altura por defecto: 125px.

Accessibility

On this page