SkeletonWrapper
SkeletonWrapper is a client component that combines Suspense and ErrorBoundary. It shows a skeleton while its children suspend and falls back to the skeleton on error.
Usage
import { SkeletonWrapper } from 'skeletal-ui'
// Explicit fallback (required for Server Components in Next.js App Router)
<SkeletonWrapper fallback={<UserCardSkeleton />}>
<UserCard />
</SkeletonWrapper>
// CSR — explicit loading control
<SkeletonWrapper loading={!data} fallback={<UserCardSkeleton />}>
<UserCard />
</SkeletonWrapper>
// Auto-resolved fallback (when Component.skeleton is set — works in client trees)
<SkeletonWrapper>
<UserCard />
</SkeletonWrapper>Fallback resolution order
fallbackprop (explicit — always wins)child.type.skeleton— static property set vialazyWithSkeleton/dynamicWithSkeleton<DefaultPulseSkeleton />— built-in full-width pulse bar
Props
| Prop | Type | Default | Description |
|---|---|---|---|
children | ReactNode | required | The component to render |
fallback | ReactNode | — | Skeleton to show while loading |
loading | boolean | — | Force skeleton display (CSR pattern — controls visibility without Suspense) |