# Bulk Update Dialog
URL: /docs/web/docyrus/bulk-update-dialog
Bulk Update Dialog component.
**Demo:**
```tsx
'use client';
import { Button } from '@docyrus/ui/primitives/ui/button';
export function BulkUpdateDialogDemo() {
return (
{''} requires an authenticated{' '}
RestApiClient, an app slug, a data source slug and one or
more selected record ids — wire it up against your own Docyrus tenant
to see it in action.
);
}
```
## Installation
```bash
pnpm dlx @docyrus/cli add @docyrus/ui-bulk-update-dialog
```
**Dependencies:**
- [@tanstack/react-query](https://www.npmjs.com/package/@tanstack/react-query)
- [lucide-react](https://www.npmjs.com/package/lucide-react)
## Usage
```tsx
import {
BulkUpdateDialog
} from "@docyrus/ui/components/bulk-update-dialog";
import type {
BulkUpdateDialogProps,
BulkUpdateRecord
} from "@docyrus/ui/components/bulk-update-dialog";
```
## API Reference
| Prop | Type | Default |
|------|------|---------|
| `className` | `string` | — |
## Components
| Component | Description |
|-----------|-------------|
| `BulkUpdateDialog` | Public export |
## Type Exports
| Type | Description |
|------|-------------|
| `BulkUpdateDialogProps` | — |
| `BulkUpdateRecord` | — |
## Type Reference
### BulkUpdateDialogProps
| Field | Type | Description |
|-------|------|-------------|
| `open` | `boolean` | — |
| `onOpenChange` | `(open: boolean) => void` | — |
| `client` | `RestApiClient` | — |
| `appSlug` | `string` | — |
| `dataSourceSlug` | `string` | — |
| `records` | `ReadonlyArray` | — |
| `enableAutomation` | `boolean` | — |
| `enableChangeLogging` | `boolean` | — |
| `onSuccess` | `(data: Array) => void` | — |
| `allowedFieldSlugs` | `ReadonlyArray` | — |
| `dataSourceId` | `string` | — |
| `className` | `string` | — |
### BulkUpdateRecord
| Field | Type | Description |
|-------|------|-------------|
| `id` | `string` | — |