<!-- source-hash: 32b3dcc2ebc428837937e7dda53de3ce -->
A theme-aware, platform-adaptive skeleton loading component that provides multiple animation styles, content-type variants, and pre-configured layout presets for common UI patterns.

## Key Components

### `DynamicSkeleton`
Core skeleton element supporting configurable animation, variant, size, and dimensions with built-in accessibility (`role="status"`, `aria-label`) and multi-line text support.

**Props:**

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `animation` | `pulse \| shimmer \| wave \| static` | `shimmer` | Skeleton animation style |
| `variant` | `text \| avatar \| card \| button \| image \| custom` | `text` | Content type shape |
| `size` | `sm \| md \| lg \| xl` | `md` | Dimension preset |
| `width` / `height` | `string \| number` | — | Custom dimensions |
| `lines` | `number` | `1` | Lines for text skeletons (last line renders at 75% width) |
| `platformAware` | `boolean` | `true` | Applies platform-specific color mixing via CSS vars |
| `includeAriaLabel` | `boolean` | `true` | Adds `aria-label="Loading content..."` |

### `SkeletonPresets`
Pre-built composite skeletons for common layouts:

| Preset | Props | Description |
|--------|-------|-------------|
| `Card` | `showActions`, `showImage` | Card with header, body, and optional actions |
| `Profile` | — | Avatar + name + bio lines |
| `Navigation` | `items` | Repeated icon + label rows |
| `Table` | `rows`, `columns` | Grid-based header and data rows |
| `VendorGrid` | `items` | Responsive 3-column vendor cards |
| `BlogPost` | — | Title, metadata, hero image, paragraphs |

### `PlatformSkeletonContainer`
Conditional wrapper that renders content when `isLoading` is `false`, or a named `SkeletonPresets` component when loading.

### `ProgressiveSkeleton`
Multi-stage skeleton that transitions through `pulse → shimmer → wave` animations and `text → card → custom` variants as `currentStage` increments.

## Usage Example

```typescript
// Basic skeleton
<DynamicSkeleton variant="avatar" size="lg" />

// Multi-line text skeleton
<DynamicSkeleton variant="text" lines={3} size="md" animation="shimmer" />

// Custom dimensions
<DynamicSkeleton variant="image" width={400} height={200} />

// Preset: vendor grid
<SkeletonPresets.VendorGrid items={9} />

// Conditional loading wrapper
<PlatformSkeletonContainer
  isLoading={isLoading}
  skeletonType="Profile"
>
  <UserProfile user={user} />
</PlatformSkeletonContainer>

// Progressive loading stages
<ProgressiveSkeleton
  stages={['basic', 'detailed', 'interactive']}
  currentStage={loadingStage}
  size="lg"
/>
```