<!-- source-hash: 3003c61a214e3bd7c976af0a59119cb4 -->
Renders a Lucide icon corresponding to a ClickUp task type, resolved from `custom_item_id` via the `CUSTOM_ITEM_ID` map.

## Key Components

**`iconFor(customItemId)`** — Internal function that maps a `custom_item_id` integer to a Lucide icon component. Falls back to `CheckSquare` for unknown or `null`/`undefined` values.

**`TaskTypeIcon`** — Client component that renders the resolved icon with configurable sizing via `className`.

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `customItemId` | `number \| null \| undefined` | — | ClickUp `custom_item_id` to resolve |
| `className` | `string` | `'h-5 w-5'` | Tailwind classes applied to the icon |

**Type → Icon mapping:**

| Task Type | Icon |
|-----------|------|
| `BUG` | `Bug` |
| `REQUEST` | `Inbox` |
| `FEATURE` | `Sparkles` |
| `STORY` | `BookOpen` |
| `EPIC` | `Trophy` |
| `COMPONENT` | `Component` |
| `INITIATIVE` | `Flag` |
| `MILESTONE` | `Goal` |
| `SUBTASK` | `ListTodo` |
| `FORM` | `FileText` |
| `RECURRING` | `Repeat` |
| `PLAN` / `STRATEGY` | `Compass` |
| `TASK` / default | `CheckSquare` |

## Usage Example

```typescript
import { TaskTypeIcon } from './task-type-icon'
import { CUSTOM_ITEM_ID } from '../utils/clickup-task-type-utils'

// Render a bug icon
<TaskTypeIcon customItemId={CUSTOM_ITEM_ID.BUG} />

// Custom size via className
<TaskTypeIcon customItemId={CUSTOM_ITEM_ID.EPIC} className="h-4 w-4 text-yellow-400" />

// Safely handles null/undefined — renders CheckSquare fallback
<TaskTypeIcon customItemId={task.custom_item_id} />
```