# Ticket Edit Sheet block

> Inset right ticket details Sheet with inline per-row editing and save actions

Right-side ticket panel where each field edits in place via Select, Combobox, Calendar, Switch, or InputGroup, with Badge status, avatar chips, and async save toast. ReUI Badge, shadcn Sheet, Combobox. Ticket detail, issue properties, record drawer.

- Type: Pro block
- Category: [Sheet](https://web.dev.reui.io/blocks/application/sheet.md)
- Page: https://web.dev.reui.io/blocks/application/sheet/sheet-9
- Docs (Base UI): https://ui.shadcn.com/docs/components/base/sheet.md
- Docs (Radix UI): https://ui.shadcn.com/docs/components/radix/sheet.md
- MCP: `get_block("sheet-9")`
- Built with: Avatar, Badge, Button, Calendar, Combobox, Field, Input Group, Item, Popover, Scroll Area, Select, Sheet, Spinner, Switch, Tooltip
- Installs with a ReUI Pro or Ultimate license; setup: https://web.dev.reui.io/docs/license-setup

## Best for

Per field pencil editing on 11 ticket rows with row Save and Cancel, a timed success toast and a Show all values reveal

## Agent notes

- `saveRowEditing` and `saveAllEditing` only wait `SAVE_DELAY_MS` on a timer before updating state; replace the timer with your update request
- `showTicketToast` fires a `sonner` success toast after every save with no error path; mount a Toaster and call it from your success handler
- `DEFAULT_TICKET_DETAILS` seeds the ticket and `COLLABORATORS`, `TAG_OPTIONS` and `STATUS_OPTIONS` are sample lists; swap in your records

## When not to use

- The ticket panel sits inside a page or column rather than a side sheet: use [Ticket Properties](https://web.dev.reui.io/blocks/application/form/form-7.md) (`get_block("form-7")`)

## Third-party libraries

- Sonner v2: [API reference](https://sonner.emilkowal.ski/toast), [docs](https://sonner.emilkowal.ski/getting-started)
- React DayPicker v9: [API reference](https://daypicker.dev/v9/api), [docs](https://daypicker.dev/v9/start), through shadcn Calendar

## Install

```bash
npx shadcn@latest add @reui/sheet-9
```

## About Sheet blocks

### When to use

- Record detail opened over a list or table: a ticket, metric, cron job, audit event, deploy, SLO or data source
- Create and edit forms in a side panel for a project, cron job, firewall rule, SLO or data connection
- Utility panels for help guides, keyboard shortcuts, an AI assistant, comments, notifications or view settings

### When not to use

- A bare side panel with your own header, body and footer, nothing prebuilt: use [Sheet](https://web.dev.reui.io/components/sheet.md) (`get_component("sheet")`)
- A persistent sidebar or navigation layout that stays around every page: use the [App Shell blocks](https://web.dev.reui.io/blocks/application/app-shell.md)
- An assistant conversation that fills the whole page rather than a side panel: use the [AI Chat blocks](https://web.dev.reui.io/blocks/ai-agents/ai-chat.md)

### Agent notes

- Each root renders a demo `SheetTrigger` button and opens on mount via `defaultOpen` or a `useState` seeded true; start it closed in your app
- Each `SheetContent` className floats it inset with `inset-y-4`, `right-4` and `rounded-xl` and sets its own width; resize it there, not in the primitive
- Each page.tsx only centers the trigger in a `min-h-svh` main with an `sr-only` h1; render the root component alone inside your page

Every ReUI item has a twin like this one; the index is https://web.dev.reui.io/llms.txt. Agents with the ReUI MCP (https://web.dev.reui.io/docs/mcp) get the same guidance from the getters named above.
