<!-- source-hash: 25c594905e7f584756ad751975cbc35e -->
A collapsible ticket information panel that displays key ticket metadata (organization, assignee, device, status) in a header row, with an expandable section revealing additional details like description, attachments, tags, and notes.

## Key Components

### `TicketInfoSection`
Main export. Renders a bordered card with a responsive header grid and optional expanded content area.

### `InfoCell` (internal)
Reusable label/value display cell supporting an optional icon and clickable value.

### `TicketInfoSectionProps`
Full interface for the component:

| Prop | Type | Description |
|------|------|-------------|
| `organization` | `{ name, imageSrc? }` | Org name and avatar |
| `device` | `{ name, icon?, onClick? }` | Device name with optional navigation |
| `status` | `string` | Rendered via `TicketStatusTag` |
| `assigned` | `AssignedConfig` | Assignee dropdown config |
| `expanded` | `boolean` | Controls expanded section visibility |
| `onExpand` | `() => void` | Expand/collapse toggle handler |
| `description` | `string` | Markdown/HTML content |
| `attachments` | `TicketAttachment[]` | Downloadable file list |
| `tags` | `string[]` | Label tags |
| `notes` | `TicketNote[]` | Notes with add/edit/delete handlers |

## Usage Example

```typescript
import { TicketInfoSection } from "./ticket-info-section"

function TicketPage() {
  const [expanded, setExpanded] = React.useState(false)

  return (
    <TicketInfoSection
      organization={{ name: "Acme Corp", imageSrc: "/acme-logo.png" }}
      device={{ name: "DESKTOP-XYZ01", onClick: () => router.push("/devices/1") }}
      status="open"
      expanded={expanded}
      onExpand={() => setExpanded(prev => !prev)}
      assigned={{
        currentAssignee: { id: "u1", name: "Jane Doe" },
        options: assigneeOptions,
        onAssign: (userId) => handleAssign(userId),
      }}
      createdAt="Jan 15, 2025"
      description="**Issue:** User cannot log in.\n\nSteps to reproduce..."
      tags={["urgent", "auth"]}
      notes={notes}
      onAddNote={(text) => addNote(text)}
    />
  )
}
```