Storybook stories file for `MingoInfoCard`, a horizontal info-row card component used in chat interfaces. Covers Figma-spec variants and optional-element permutations. ## Key Components **Exported Stories** | Story | Description | |---|---| | `WithImage` | Card with a 40px avatar image as the leading media element | | `WithIcon` | Card with a boxed glyph (`MonitorIcon`) as the leading media element | | `WithoutStatus` | Icon variant with the status pill omitted | | `WithoutDescription` | Image variant with the description line omitted | | `WithoutMenu` | Card with the trailing overflow menu omitted | | `Clickable` | Full card with an `onClick` handler wired to the entire row | | `StatusVariants` | Side-by-side showcase of all four `Tag` palette variants: `success`, `warning`, `error`, `grey` | | `LongContentTruncates` | Validates text truncation on overflow for both title and description | **Supporting Fixtures** - `AVATAR_SRC` — Pravatar placeholder image URL used across image-based stories - `SAMPLE_MENU` — Two-item menu group (`Copy link`, `Remove`) reused across stories ## Usage Example ```typescript import { MingoInfoCard } from '../components/chat/mingo-info-card' import { MonitorIcon } from '../components/icons-v2-generated/devices/monitor-icon' // Basic card with icon and status } status={{ label: 'Online', variant: 'success' }} menuGroups={[{ items: [ { id: 'copy', label: 'Copy link', icon: , onClick: () => {} }, { id: 'remove', label: 'Remove', icon: , danger: true, onClick: () => {} }, ], }]} onClick={() => console.log('card clicked')} /> ``` > **Layout note:** `MingoInfoCard` is `w-full` and must be placed inside a block-level container. The Storybook canvas uses `layout: 'fullscreen'` rather than `centered` to allow the card to reflow correctly when the viewport is resized. ## Source [`MingoInfoCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/MingoInfoCard.stories.tsx)