پنجره
dialogکامپوننتمودال با عنوان، بدنه و دکمههای عمل در جای درست، همراه قفل اسکرول و بازگشت فوکوس.
نصب
با CLI
اگر هنوز init نکردید، اول از راهنمای نصب پروژه را آماده کنید. بعد این دستور کامپوننت و وابستگیهاش را مینویسه.
$ npx vibefarsi add dialogنصب دستی
محتوای تب «کد» را در
components/ui/dialog.tsxبگذارید.$ npm i lucide-reactکپی کل فایلregistry json
استفاده
usage.tsx
1import { Dialog } from "@/components/ui/dialog"23<Dialog4 open={open}5 onOpenChange={setOpen}6 title="ویرایش آدرس"7 description="آدرس پیشفرض ارسال را تغییر دهید."8 footer={<><Button onClick={save}>ذخیره</Button><Button variant="ghost" onClick={() => setOpen(false)}>انصراف</Button></>}9>10 <Input defaultValue="تهران، خیابان ولیعصر…" />11</Dialog>پراپها
| پراپ | نوع | پیشفرض | توضیح |
|---|---|---|---|
| open / onOpenChange | boolean / (o) => void | - | کنترل باز و بسته. |
| title / description | ReactNode | - | با aria-labelledby و aria-describedby وصل میشن. |
| footer | ReactNode | - | دکمهها، که دکمهی اصلی اول میآد. |
| role | "dialog" | "alertdialog" | "dialog" | alertdialog با کلیک بیرون بسته نمیشه. |