# Dialog Stack Standard 1 - Two-step dialog stack

> Stacked dialogs with next and previous navigation.

A shadcn/ui block from the [@shadcnblocks](https://shadcnblocks.com) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/shadcnblocks/dialog-stack-dialog-stack-standard-1).

- Page, with a live preview: https://shadcn.exchange/r/shadcnblocks/dialog-stack-dialog-stack-standard-1
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/shadcnblocks/dialog-stack-dialog-stack-standard-1-light-ad5850d55d783cf4.png
- Registry item: https://shadcnblocks.com/r/dialog-stack-dialog-stack-standard-1.json
- Listed: 2026-10-13, source last changed 2026-10-13

## Install

```bash
npx shadcn@latest add https://shadcnblocks.com/r/dialog-stack-dialog-stack-standard-1.json
```

Run it in a project that has shadcn/ui set up. It adds the files below and installs what they depend on.

## Dependencies

- Registry items: `button`, `https://www.kibo-ui.com/r/dialog-stack.json`

## Files

### `example/dialog-stack/dialog-stack-standard-1.tsx`

```tsx
"use client";

import { Button } from "@/components/ui/button";
import {
  DialogStack,
  DialogStackBody,
  DialogStackContent,
  DialogStackDescription,
  DialogStackFooter,
  DialogStackHeader,
  DialogStackNext,
  DialogStackOverlay,
  DialogStackPrevious,
  DialogStackTitle,
  DialogStackTrigger,
} from "@/components/kibo-ui/dialog-stack";

export const title = "Two-step dialog stack";

const Example = () => (
  <DialogStack>
    <DialogStackTrigger asChild>
      <Button>Open stack</Button>
    </DialogStackTrigger>
    <DialogStackOverlay />
    <DialogStackBody>
      <DialogStackContent>
        <DialogStackHeader>
          <DialogStackTitle>Create project</DialogStackTitle>
          <DialogStackDescription>
            Start with a name and workspace.
          </DialogStackDescription>
        </DialogStackHeader>
        <DialogStackFooter>
          <DialogStackNext asChild>
            <Button>Continue</Button>
          </DialogStackNext>
        </DialogStackFooter>
      </DialogStackContent>
      <DialogStackContent>
        <DialogStackHeader>
          <DialogStackTitle>Invite teammates</DialogStackTitle>
          <DialogStackDescription>
            Optional — you can do this later.
          </DialogStackDescription>
        </DialogStackHeader>
        <DialogStackFooter className="gap-2">
          <DialogStackPrevious asChild>
            <Button variant="outline">Back</Button>
          </DialogStackPrevious>
          <Button>Finish</Button>
        </DialogStackFooter>
      </DialogStackContent>
    </DialogStackBody>
  </DialogStack>
);

export default Example;
```
