Skeleton
Use it
Examples import from the package. With copied source, import from @/components/ui/skeleton instead.
import { Skeleton } from "@zedtech/zedkit-ui";
<Skeleton className="h-skeleton-line w-skeleton-bar" />Text lines
import { Skeleton } from "@zedtech/zedkit-ui";
<Skeleton className="h-skeleton-line w-full" /> // stack lines for text blocks; shape is all classNameKit not installed yet?
Install
Terminal pnpm add @zedtech/zedkit-ui @fontsource-variable/inter @fontsource-variable/space-groteskLoad the styles
Tailwind does not scan node_modules, so the @source line points it at the kit's class names. The path is relative to this file.
src/app/globals.cssReplace the contents@import "tailwindcss"; @import "@zedtech/zedkit-ui/styles.css"; @source "../../node_modules/@zedtech/zedkit-ui/src/**/*.{ts,tsx}"; @source not "../../node_modules/@zedtech/zedkit-ui/src/**/*.test.*";Pick a look
Set data-identity="glass" on <html> so the finished app matches the site. Fresh app: replace src/app/layout.tsx. Existing app: merge, and keep ThemeProvider and other providers.
src/app/layout.tsxReplace the contentsimport "./globals.css"; import "./fonts"; export default function RootLayout({ children }: { children: React.ReactNode }) { return ( <html lang="en" data-identity="glass"> <body>{children}</body> </html> ); }Load the fonts
The Glass look uses Inter and Space Grotesk; these imports self-host them.
src/app/fonts.tsCreate the fileimport "@fontsource-variable/inter"; import "@fontsource-variable/space-grotesk";Import and render
src/app/page.tsxReplace the contentsimport { Skeleton } from "@zedtech/zedkit-ui"; export default function Page() { return ( <main className="px-page-gutter py-section-sm"> <Skeleton className="h-skeleton-line w-skeleton-bar" /> </main> ); }
Package version 2.0.1.
Props
No props of its own. It accepts the native attributes below.
Show inherited HTML attributes
Standard attributes from the underlying element. See MDN.
Prop
Type
Accessibility
Renders a plain div with no semantics — empty blocks are ignored by assistive tech; set aria-busy on the loading container. Corners follow identity --radius-md via rounded-md.
Troubleshooting
No pulse — the pulse is `motion-safe:animate-pulse`: static under reduced-motion, and it needs Tailwind's default theme. Wrong shape — size comes only from your `className`; the brick ships no dimensions.