Renders an MSP (Managed Service Provider) identity display combining a square avatar logo with the MSP's name in a flex layout.
## Key Components
### `MSPDisplay`
A client-side React component that displays an MSP's branding with a fallback-aware avatar and truncated name label.
**Props (`MSPDisplayProps`):**
| Prop | Type | Default | Description |
|---|---|---|---|
| `name` | `string` | — | MSP display name (used as avatar fallback and `alt` text) |
| `logoUrl` | `string \| null` | `undefined` | Optional logo URL, run through the image proxy |
| `size` | `number` | `40` | Avatar dimensions in pixels (square) |
| `className` | `string` | — | Additional CSS classes for the wrapper |
**Internal dependencies:**
- [`SquareAvatar`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src/components/ui/square-avatar.tsx) — renders the square avatar with fallback initials
- [`getProxiedImageUrl`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src/utils/image-proxy.ts) — proxies external logo URLs to avoid CORS/mixed-content issues
- [`cn`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src/utils/cn.ts) — utility for conditional class merging
## Usage Example
```typescript
import { MSPDisplay } from '@flamingo-stack/openframe-oss-lib';
// With a logo
// Name-only fallback (renders initials avatar)
```
> **Note:** If `logoUrl` is provided but `getProxiedImageUrl` returns `null` or an empty string, the component falls back to the original `logoUrl` directly. If no URL is available at all, `SquareAvatar` renders initials derived from `name`.