useSheetPresentation

useSheetPresentation은 포인터가 coarse이거나 또는 뷰포트가 640px보다 좁으면 시트를, 그렇지 않으면 popover를 고릅니다. 이는 기본값이며 coarseQuery와 narrowWidth로 바꿀 수 있습니다. forced가 'popover'나 'sheet'가 아니면 서버 렌더링과 첫 페인트는 popover입니다. isSheet는 presentation === "sheet"를 그대로 반영합니다. isTouch가 아닙니다. useCombobox는 presentation: 'auto'에 이 훅을 씁니다.

popover · isSheet=false

언제 쓰나요

언제: 런타임에 popover와 시트 중 하나를 고를 때. coarse 포인터이거나 너비가 (기본) 640px 미만 → 시트. SSR과 첫 페인트는 popover. forced로 덮어씁니다.

쓰지 않을 때: 항상 가운데 모달 → Dialog. 항상 시트 → BottomSheet만. 데스크톱 전용 앵커 오버레이 → usePopover만.

Props

useSheetPresentation props
이름타입필수기본값설명
narrowWidthnumber아니요640좁은 화면 미디어 쿼리가 시작되는 뷰포트 너비. 미디어는 max-width: n - 1입니다.
coarseQuerystring아니요'(pointer: coarse)'coarse 포인터로 간주할 matchMedia 쿼리.
forced"popover" | "sheet" | "auto"아니요"auto"popover나 sheet이면 미디어를 건너뜁니다. auto는 coarse OR narrow를 사용합니다.