FullPopup

화면 전체를 덮는 팝업이다. 오른쪽에서 슬라이드해 들어오고, 모바일에서 한 화면짜리 흐름(상세 보기 · 긴 양식)을 띄울 때 쓴다. 폭이 화면이므로 size 를 받지 않는다. 그 외의 props 와 여는 법은 LayerPopup 과 같다.

import { FullPopup, useFullPopup } from "@nui-kit/react";
// 서브패스로 좁힐 때
import { FullPopup } from "@nui-kit/react/popup";
import "@nui-kit/react/styles/popup.css";   // 온디맨드일 때

선언형 — 열림 상태를 직접 소유

<FullPopup open={isOpen} onRequestClose={() => setIsOpen(false)} isTopmost title="상세 정보">…</FullPopup>

open · onRequestClose · isTopmost

명령형 — 컴포넌트를 등록해서 열기

useFullPopup().open({ component }) 로 내용 컴포넌트를 넘긴다.

fullPopup.open({ component: DetailPopup });

useFullPopup().open({ component })

LayerPopup 과 다른 점

LayerPopupFullPopup
덮는 범위가운데 패널, 주변은 dim화면 전체. dim 이 보이지 않는다
등장페이드 + 살짝 확대오른쪽에서 슬라이드
sizesmall · regular · large받지 않는다
safe-area노치·홈 인디케이터를 피해 여백을 잡는다
기본 접근 이름"레이어 팝업""전체 팝업"

접근성

API

FullPopup

이름타입기본값설명
open *boolean
bodyClassNamestring
childrenReactNode
classNamestring
closeButtonLabelstring
contentAlignPopupContentAlign
descriptionReactNode
dialogLabelstringtitle 이 없을 때 dialog 에 붙일 접근 이름
footerReactNode
footerClassNamestring
hasCloseButtonboolean
iconReactNode | null
idstring
isTopmostboolean스택 최상단인가 — 포커스 트랩과 ESC 를 이 팝업만 처리한다
onClickClose() => void
onExited() => void닫힘 애니메이션까지 끝난 뒤 호출된다
onRequestClose() => void
panelClassNamestring
shouldCloseOnBackdropbooleandim 클릭으로 닫히는가
shouldCloseOnEscapeboolean
titleReactNode

FullPopupProps 에서 자동 생성됨 (components/Popup/Popup.types.ts).