build69
build69  /  Components  /  Feedback & Status  /  SkeletonForm

SkeletonForm

v1.0.2Updated 20 Jul 2026

A placeholder for an edit form: `fields` label-and-input pairs followed by a right-aligned pair of action buttons. Set fields to the number the real form renders so the dialog or panel keeps its height when data arrives. Announces itself with role="status" and aria-busy.

Preview

Live · 7 stories
Form LoadingOpen ↗
Why this is recommendedloadingplaceholderformfields+2

SkeletonForm showing skeleton placeholders while data loads — form.

Recommended for+14
  • Edit form while the record loads
  • Settings panel on first paint
  • Profile form waiting on user data
  • Modal form before its defaults arrive
  • Any form whose initial values are still fetching
Tags+6
loadingplaceholderformfieldsinputskeleton
Features+4
  • Configurable field count
  • Label bar + input bar per field
  • Right-aligned cancel/submit button placeholders
  • role="status" + aria-busy with an sr-only "Loading…" label
  • Forwards animation and intensity to every bar
  • i18n: labels prop overrides the sr-only "Loading…" announcement
Not recommended for−2
  • Forms already rendered and merely submitting (disable and use Progress)
  • Tabular data (use SkeletonTable)

Install

Ask your agent, or call the MCP tool directly. The resolved bundle is written into your project.

get_registry_item({ name: "SkeletonForm" })

Usage

import { SkeletonForm } from '@/components/primitives/skeleton/skeleton-form';

{isLoading ? <SkeletonForm fields={5} /> : <ProfileForm defaultValues={user} />}

Tick variants in the left menu — each adds a tab with that variant’s real story source, the same code the preview above renders.

Props

PropTypeRequired
fields

How many label + input pairs to render. Defaults to 4.

number
animation

Shimmer style applied to every bar. Defaults to 'pulse'.

'pulse' | 'wave' | 'none'
intensity

Placeholder contrast against the surface.

'subtle' | 'default' | 'strong'
labels

Override the built-in sr-only "Loading…" announcement (i18n). Merged over DEFAULT_SKELETON_FORM_LABELS.

Partial<SkeletonFormLabels>

Related