Provides skeleton UI components that mirror real page layout elements (announcement bar, header, hero, sidebar, article, vendor detail) during loading states, built with Tailwind CSS and animated pulse effects. ## Key Components | Export | Description | |---|---| | `AnnouncementBarSkeleton` | Skeleton for top announcement bars with logo, text, and close button | | `HeaderSkeleton` | Sticky header skeleton with logo, nav links, and action buttons (responsive) | | `HeroSkeleton` | Full-width hero section skeleton with title, subtitle, and CTA | | `SearchContainerSkeleton` | Search input with optional filter chip row | | `CategorySidebarSkeleton` | File-tree sidebar skeleton mimicking `MultiLevelNavigation` with folder/file icons and badges | | `BreadcrumbSkeleton` | Horizontal breadcrumb trail with separator dots | | `ResultsHeaderSkeleton` | Results count / sort bar skeleton | | `TwoColumnLayoutSkeleton` | Composable two-column grid (sidebar + main), supports left/right sidebar position | | `ArticleLayoutSkeleton` | Full article skeleton: tags, title, metadata, featured image, and 12 body paragraphs | | `VendorDetailLayoutSkeleton` | Vendor detail page skeleton with breadcrumb, hero logo/title, and responsive layout | ### Props | Component | Key Props | |---|---| | `SearchContainerSkeleton` | `showFilters?: boolean`, `className?: string` | | `TwoColumnLayoutSkeleton` | `sidebarContent?: ReactNode`, `mainContent?: ReactNode`, `sidebarPosition?: 'left' \| 'right'` | | All others | `className?: string` | ## Usage Example ```typescript import { HeaderSkeleton, TwoColumnLayoutSkeleton, CategorySidebarSkeleton, ArticleLayoutSkeleton, } from "./page-layout-skeleton" // Drop-in page loading state function CatalogPageSkeleton() { return ( <> } // mainContent defaults to /> ) } // Slot in a custom main area function ArticlePage() { return ( } sidebarPosition="right" /> ) } ``` ## Notes - All skeletons use `bg-ods-skeleton` / `bg-ods-border` design tokens and `animate-pulse` for consistent motion. - `TwoColumnLayoutSkeleton` defaults to `CategorySidebarSkeleton` + `CardSkeletonGrid` when no children are provided. - `CategorySidebarSkeleton` hard-codes 11 navigation items to closely mirror the actual `MultiLevelNavigation` shape, including README badges and chevron icons. **Source:** [`page-layout-skeleton.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/page-layout-skeleton.tsx)