Skeleton

Placeholder while content loads (> 300ms).

Motion: Gentle pulse.

ติดตั้ง

npx shadcn@latest add @ecsight/skeleton

Source

components/ui/skeleton.tsx
import { cn } from "cn"

function Skeleton({ className, ...props }: React.ComponentProps<"div">) {
  return (
    <div
      data-slot="skeleton"
      className={cn("animate-pulse rounded-md bg-muted", className)}
      {...props}
    />
  )
}

export { Skeleton }