MindeesUI
ComponentsDisplay

Skeleton

Animated placeholder block with token-aware radius and a gentle opacity pulse that respects the user reduce-motion preference.

Skeleton renders a neutral placeholder block while real content loads. It pulses between 50% and 100% opacity on a 700 ms curve and automatically stops animating when the user has reduce-motion enabled.

Import

import { Skeleton } from '@mindees/ui';

Usage

<Stack gap="xs">
  <Skeleton width="60%" height={20} radius="sm" />
  <Skeleton width="100%" height={14} />
  <Skeleton width="85%" height={14} />
</Stack>

<Skeleton width={48} height={48} radius="pill" />

Props

PropTypeDefaultDescription
widthnumber | string'100%'Block width. Accepts numeric dp or any RN-compatible string (percent, etc.).
heightnumber | string16Block height. Same accepted formats as width.
radiusRadiusToken | 'pill' | number'sm'Border radius token (xs, sm, md, lg, xl, 2xl, pill) or a raw dp value.
styleViewStyleAdditional style merged after the computed block.

Accessibility

Skeletons are hidden from screen readers via accessibilityElementsHidden and importantForAccessibility="no-hide-descendants" so loading placeholders don't add noise. Announce the loading state on a parent element if needed.

On this page