Dialog/dialog-standard-

PreviousNext

A dialog/dialog-standard- example

Docs
shadcnblocksblock

Preview

Loading preview…
code/example/dialog/dialog-standard-5.tsx
"use client";

import { useState } from "react";

import { Button } from "@/components/ui/button";
import {
  Dialog,
  DialogContent,
  DialogDescription,
  DialogFooter,
  DialogHeader,
  DialogTitle,
  DialogTrigger,
} from "@/components/ui/dialog";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";

export const title = "Delete Confirmation";

const Example = () => {
  const [confirmText, setConfirmText] = useState("");
  const requiredText = "delete my account";

  return (
    <Dialog>
      <DialogTrigger asChild>
        <Button variant="destructive">Delete Account</Button>
      </DialogTrigger>
      <DialogContent className="sm:max-w-md">
        <DialogHeader>
          <DialogTitle>Delete Account</DialogTitle>
          <DialogDescription>
            This action cannot be undone. This will permanently delete your
            account and remove your data from our servers.
          </DialogDescription>
        </DialogHeader>
        <div className="space-y-2">
          <Label htmlFor="confirm">
            Type <span className="font-mono font-semibold">{requiredText}</span>{" "}
            to confirm
          </Label>
          <Input
            id="confirm"
            onChange={(e) => setConfirmText(e.target.value)}
            placeholder={requiredText}
            value={confirmText}
          />
        </div>
        <DialogFooter>
          <Button type="button" variant="outline">
            Cancel
          </Button>
          <Button
            disabled={confirmText !== requiredText}
            type="button"
            variant="destructive"
          >
            Delete Account
          </Button>
        </DialogFooter>
      </DialogContent>
    </Dialog>
  );
};

export default Example;

Installation

npx shadcn@latest add @shadcnblocks/dialog-dialog-standard-5

Usage

import { DialogDialogStandard5 } from "@/components/dialog-dialog-standard-5"
<DialogDialogStandard5 />