Components/Dialog

Dialog

모달 다이얼로그 컴포넌트입니다. Radix UI Dialog 기반.

Installation

bash
npx axis-cli add dialog

Usage

tsx
import {
  Dialog,
  DialogContent,
  DialogDescription,
  DialogHeader,
  DialogTitle,
  DialogTrigger,
} from '@ax/ui'

export function Example() {
  return (
    <Dialog>
      <DialogTrigger asChild>
        <Button variant="outline">Open Dialog</Button>
      </DialogTrigger>
      <DialogContent>
        <DialogHeader>
          <DialogTitle>Dialog Title</DialogTitle>
          <DialogDescription>
            Dialog description goes here.
          </DialogDescription>
        </DialogHeader>
      </DialogContent>
    </Dialog>
  )
}

With Form

tsx
<Dialog>
  <DialogTrigger asChild>
    <Button>Edit Profile</Button>
  </DialogTrigger>
  <DialogContent className="sm:max-w-[425px]">
    <DialogHeader>
      <DialogTitle>Edit profile</DialogTitle>
      <DialogDescription>
        Make changes to your profile here.
      </DialogDescription>
    </DialogHeader>
    <div className="grid gap-4 py-4">
      <div className="grid grid-cols-4 items-center gap-4">
        <Label htmlFor="name" className="text-right">Name</Label>
        <Input id="name" className="col-span-3" />
      </div>
    </div>
    <div className="flex justify-end">
      <Button type="submit">Save changes</Button>
    </div>
  </DialogContent>
</Dialog>

Components

Dialog

다이얼로그 루트 컨테이너

DialogTrigger

다이얼로그를 여는 트리거

DialogContent

다이얼로그 콘텐츠 영역

DialogHeader

다이얼로그 헤더

DialogTitle

다이얼로그 제목

DialogDescription

다이얼로그 설명

Props

PropTypeDefaultDescription
openboolean-다이얼로그 열림 상태 (controlled)
onOpenChange(open: boolean) => void-열림 상태 변경 콜백
modalbooleantrue모달 모드 여부