모달

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

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

사용 지침

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

예제

Default

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

As Child Trigger

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

Bottom Sheet

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

Long Content Initial Body Focus

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

Size Lg

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

Size Md

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

Size Sm

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

Use Portal

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

속성

이름타입기본값설명
closeOnEscbooleantruePressing Escape closes the dialog (default: true). Implemented via Radix default.
closeOnOverlayClickbooleantrue
defaultOpenboolean
onOpenChange((open: boolean) => void)
openboolean
portalContainerstring | HTMLElement@deprecated Portal container is now document.body. Ignored.
sizeenummd
usePortalbooleantrue@deprecated Portal is now managed by the radix Dialog layer. Ignored.
variantenumdefault