useBulkDeleteRecords
Delete multiple records at once (soft delete — moves them to the trash). The collection stamp is the single optimistic mechanism: `deletedAt` is stamped on every targeted entity synchronously in `onMutate`. On partial failure only the failed ids are reverted (`deletedAt: null`); on full error every stamp is reverted. The archived/grid RQ caches refresh by invalidation on success — no cache surgery, no RQ snapshots.
Delete multiple records at once (soft delete — moves them to the trash).
The collection stamp is the single optimistic mechanism: deletedAt is
stamped on every targeted entity synchronously in onMutate. On partial
failure only the failed ids are reverted (deletedAt: null); on full error
every stamp is reverted. The archived/grid RQ caches refresh by invalidation
on success — no cache surgery, no RQ snapshots.
Signature
(objectName: string, options?: UseBulkDeleteRecordsOptions | undefined): UseMutationResult<BulkDeleteResult, Error, string[]>Examples
```tsx
const { mutate: bulkDelete, isPending } = useBulkDeleteRecords("products");
// Delete selected products
bulkDelete(["rec-123", "rec-456", "rec-789"]);