Storybook stories for the `ProgramCard` component, covering the three supported program doc types (`podcast`, `webinar`, `event`) at both `sm` (chat-dispatch) and `default` (catalog page) sizes. ## Key Components | Export | Description | |---|---| | `ProgramCard` | Generic card component for program-type content entities | | `DEFAULT_PROGRAM_CONFIGS` | Pre-built safe minimum configs per doc type (`podcast`, `webinar`, `event`) | | `ChatColumnDecorator` | Storybook decorator that wraps stories in a chat column layout | | `podcastItem` / `webinarItem` / `eventItem` | Fixture data for each program type | ## Stories | Story | Size | Notes | |---|---|---| | `PodcastSm` | `sm` | Chat-dispatch rendering for podcast cards | | `WebinarSm` | `sm` | Chat-dispatch rendering for webinar cards | | `EventSm` | `sm` | Chat-dispatch rendering for event cards | | `PodcastDefault` | `default` | Full density; used on the podcast catalog page, not inline in chat | ## Usage Example ```typescript import { ProgramCard } from '../components/chat/entity-cards' import { DEFAULT_PROGRAM_CONFIGS } from '../components/chat/entity-cards/program-card-defaults' // Minimal chat-safe rendering (sm size used by chat dispatch) // Override config per type for full catalog rendering ``` > **Note:** `DEFAULT_PROGRAM_CONFIGS[type]` ships a safe minimum config for compact chat rendering. Embedders can override per type with a full catalog config via the `config` prop. ## Source [`ProgramCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ProgramCard.stories.tsx)