<!-- source-hash: 32750bb1be67e7dcd8caa8e94a4aab6b -->
Resolves backend `SlashCommandSummary.iconName` strings to React icon components for empty-state onboarding cards, with a `FileIcon` fallback for unknown keys.

## Key Components

- **`OnboardingIconComponent`** — Exported type describing the shared prop interface (`size`, `className`, `color`) for all registered icons.
- **`LogoOpenframeIcon`** — Internal wrapper around `OpenFrameLogo` that overrides size via `style` (bypasses hardcoded `width`/`height` attributes) and pins both path colors to `currentColor` for correct rendering on card surfaces.
- **`ONBOARDING_ICONS`** — Static registry mapping `iconName` strings to React components, organized into three tiers:
  - **Production keys** — short identifiers matching the `/api/docs/commands` contract (e.g., `clickup`, `slack`, `github`, `openframe`).
  - **Figma-canonical aliases** — long-form names (e.g., `clickup-logo-grey`, `rocket-02`) kept for Storybook fixtures and legacy feed entries.
  - **Generic v2 fall-throughs** — brand-agnostic glyphs (e.g., `search`, `ticket`, `bug`) for slash commands without a dedicated brand icon.
- **`resolveOnboardingIcon(iconName)`** — Exported lookup function; returns the matched component or `FileIcon` when the key is unknown or `null`/`undefined`.

## Usage Example

```typescript
import { resolveOnboardingIcon } from './onboarding-icons'

function OnboardingCard({ iconName }: { iconName: string | null }) {
  const Icon = resolveOnboardingIcon(iconName)

  return (
    <div className="onboarding-card">
      <Icon size={24} className="text-ods-text-secondary" />
    </div>
  )
}
```