Nemo
컴포넌트FOX · BottomSheet

바텀시트

화면 아래에서 올라오는 판이에요. 위쪽 모서리는 각지고, 작은 손잡이 네모가 달려 있어요. 여러 항목 중 고르거나 짧은 입력을 받을 때 써요.

기본 모양

손잡이, 제목, 내용, 맨 아래 고정 버튼 순서예요. 내용이 길면 내용 부분만 스크롤되고 버튼은 그대로 있어요.

BOTTOM SHEET
<BottomSheet
  open={open}
  onClose={() => setOpen(false)}
  title="은행을 골라 주세요"
  action={<Button size="lg" block>확인했어요</Button>}
>
  ...
</BottomSheet>

키보드와 접근성

팝업과 같아요. role은 dialog이고 aria-modal이 켜져 있어요. 열면 초점이 안으로 들어가고 Tab이 밖으로 나가지 않아요. Escape나 바깥 어두운 영역을 누르면 닫히고, 닫히면 초점이 연 버튼으로 돌아가요.

이렇게 써요

고르기, 입력처럼 화면 흐름을 잠깐 벗어나는 일

이렇게선택지가 여럿이거나 짧은 입력이 필요할 때 써요.

「저장했어요」 같은 한 줄 알림

이렇게 말고알리기만 하는 내용은 스낵바를, 예와 아니오는 팝업을 써요.

속성

속성값기본값설명
openboolean없음열림 여부
onClose() => void없음Escape, 바깥 영역에서 불린다
titlestring없음제목이자 화면 읽기 도구가 읽는 이름
actionReactNode없음맨 아래 고정 영역. 보통 꽉 찬 주 버튼 하나
closeOnScrimbooleantrue바깥 영역을 눌러 닫을지
containerHTMLElement | nulldocument.body요소를 주면 그 안에서만 뜬다. 문서 예시용