모달

모달은 대화창의 한 종류로 기본 창에 종속된 요소이다.

사용 지침

확인이 필요한 결정·중요한 폼 입력처럼 컨텍스트를 분리해야 할 때만 신중히 사용하고, 포커스 트랩과 ESC 닫기, 배경 오버레이 클릭 정책을 일관되게 적용합니다.

예제

기본

examples/modal/ModalDefault.tsx
import { Button } from "@/components/ui/button"
import {
  ModalRoot,

asChild 트리거

examples/modal/ModalAsChildTrigger.tsx
import { Button } from "@/components/ui/button"
import {
  ModalRoot,

바텀 시트

examples/modal/ModalBottomSheet.tsx
import { Button } from "@/components/ui/button"
import {
  ModalRoot,

긴 콘텐츠 초기 본문 포커스

examples/modal/ModalLongContentInitialBodyFocus.tsx
import { Button } from "@/components/ui/button"
import {
  ModalRoot,

큰 크기

examples/modal/ModalSizeLg.tsx
import { Button } from "@/components/ui/button"
import {
  ModalRoot,

중간 크기

examples/modal/ModalSizeMd.tsx
import { Button } from "@/components/ui/button"
import {
  ModalRoot,

작은 크기

examples/modal/ModalSizeSm.tsx
import { Button } from "@/components/ui/button"
import {
  ModalRoot,

포탈 사용

examples/modal/ModalUsePortal.tsx
import { Button } from "@/components/ui/button"
import {
  ModalRoot,

속성

이름타입기본값설명
closeOnEscbooleantrueEscape 키로 닫기 (기본값: true).
closeOnOverlayClickbooleantrue오버레이(딤) 클릭으로 닫기 (기본값: true).
defaultOpenboolean
modalboolean
onOpenChange((open: boolean) => void)
openboolean
sizeenummd
variantenumdefault