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 // Multi-line text skeleton // Custom dimensions // Preset: vendor grid // Conditional loading wrapper // Progressive loading stages ```