Public barrel module for the product release UI component suite, marked as a client component boundary (`"use client"`). ## Key Components | Export | Description | |---|---| | `ProductReleaseCard` | Card component for displaying a single product release | | `ProductReleaseCardSkeleton` | Loading skeleton for `ProductReleaseCard` | | `ProductReleasesView` | List/grid view rendering multiple release cards | | `ReleaseDetailPage` | Full detail page for a single release, with injectable component slots | | `ReleaseDetailSkeleton` | Loading skeleton for `ReleaseDetailPage` | | `DeliveryResponse` | Re-exported type from the canonical types module for downstream consumers | ### Notable Type Exports - `ProductReleaseCardProps`, `ProductReleaseCardSkeletonProps`, `ProductReleasesViewProps` - `ProductReleaseCardExtras` — extra data shape passed into release cards - `ReleaseDetailPageProps`, `VideoDisplaySectionProps`, `MarkdownRendererProps`, `RoadmapItem` > **⚠️ Intentional Omissions:** `RoadmapSectionProps` and `DeliverySectionProps` are **not** re-exported here. They conflict with identically-named prop types on `` and `` causing `TS2308` ambiguous re-export errors at the top-level barrel. Import them directly: ```typescript import type { RoadmapSectionProps } from '@flamingo-stack/openframe-frontend-core/components/shared/product-release/release-detail-page' ``` ## Usage Example ```typescript import { ProductReleasesView, ReleaseDetailPage, ReleaseDetailSkeleton, type ProductReleaseCardExtras, type DeliveryResponse, } from '@flamingo-stack/openframe-frontend-core/components/shared/product-release' // Render a list of releases // Render a full release detail page with a suspense fallback }> ``` **Source:** [`components/shared/product-release/index.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/components/shared/product-release/index.ts)