Get StartedFoundationsComponentsPatternsRulesDevelopAI & ToolsUpdates

Menu Sheet

사용자의 작업과 관련된 선택지를 제공하는 시트 형태의 컴포넌트예요.

설치

pnpm dlx shadcn@latest add https://rebar.conmarket-landing.workers.dev/r/menu-sheet.json

Anatomy

Menu Sheet는 Backdrop, Header, Menu Group, Close Button이 조합되어 제공돼요.

영역컴포넌트설명
BackdropMenuSheetBackdrop시트 뒤 화면을 어둡게 덮어요. MenuSheetContent 가 자동으로 그려요.
Headertitle, description메뉴에 대한 부가 설명이에요. 선택 사항이에요.
Menu GroupMenuSheetGroup관련 있는 Menu Item을 묶는 둥근 컨테이너예요.
Menu ItemMenuSheetItemPrefix Icon, Label, Description으로 구성된 선택지예요.
Close ButtoncloseLabel하단의 닫기 버튼이에요. MenuSheetContent 가 자동으로 그려요.
<MenuSheet>
  <MenuSheetTrigger asChild>
    <ActionButton>열기</ActionButton>
  </MenuSheetTrigger>
  <MenuSheetContent aria-label="게시글 메뉴">
    <MenuSheetGroup>
      <MenuSheetItem label="수정" />
      <MenuSheetItem label="삭제" tone="critical" />
    </MenuSheetGroup>
  </MenuSheetContent>
</MenuSheet>

Properties

Menu Item이 많을 때는 기능이나 관련성에 따라 그룹으로 묶어서 표시할 수 있어요. 그룹 사이에는 시각적 구분을 위한 간격이 들어가요.

그룹 구분은 전체 아이템이 3개 이상일 때만 권장하며, 최대 3개 그룹까지 나눌 수 있어요.

Layout

Menu Item은 Text Only와 Text with Icon 두 가지 레이아웃이 있어요. 아이콘이 포함된 경우에는 항상 왼쪽 정렬로 표시돼요. 아이콘은 해당 아이템의 톤에 맞는 색상으로 표시돼요.

Menu Item은 Neutral과 Critical 두 가지 톤을 가져요.

Tone설명
Neutral일반적인 작업을 수행하는 기본 아이템으로, 대부분의 메뉴에서 사용해요.
Critical데이터 삭제처럼 되돌릴 수 없는 작업을 수행하는 아이템이에요. 사용자의 주의를 끌기 위해 빨간색으로 표시돼요.

Show Header

Header를 활용해 Menu Sheet에 부가 설명을 추가할 수 있어요. Header는 Title과 Description으로 구성되며, Header를 사용할 경우 Title은 반드시 포함되어야 해요. Header 없이 쓸 때는 aria-label 로 시트의 이름을 지정해요.

Show Item Description

메뉴 아이템에 description 을 지정해 액션 설명을 덧붙일 수 있어요. Text Only 레이아웃에서는 사용하지 않아요.

Label Align

MenuSheetContent 의 labelAlign 으로 아이템 라벨 정렬을 정해요. MenuSheetGroup 이나 MenuSheetItem 에 지정하면 그 값이 우선해요.

Guidelines

아이콘의 사용

Menu Item 라벨에 아이콘을 함께 표시할 수 있어요. 아이콘은 라벨만으로 설명이 부족할 때 시각적 단서를 제공하며, 꼭 필요한 경우에만 제한적으로 사용하길 권장해요.

알림 끄기상단 고정
Do· 레이아웃 통일

한 Menu Sheet 안에서는 하나의 레이아웃만 사용해요.

알림 끄기상단 고정
Don't· 레이아웃 혼용

Text Only와 Text with Icon을 함께 사용하지 않아요.

메뉴 그룹

Menu Item이 많을 때는 기능이나 관련성에 따라 그룹으로 묶어서 표시할 수 있어요. 아이템이 3개 이상일 때부터 그룹을 사용할 수 있어요. 아이템 개수가 적을 때는 1개씩 나누기보다 가능한 한 그룹으로 묶어 구성하는 것을 권장해요.

그룹과 아이템 수를 적절히 유지해 스크롤이 생기지 않도록 해요.

수정공유
삭제
Do· 관련 아이템끼리 묶기

적어도 하나의 그룹에는 2개 이상의 아이템을 담아요.

수정공유삭제
Don't· 1개씩 나누기

모든 그룹에 아이템을 1개씩만 담지 않아요.

Critical Tone의 사용

삭제, 신고, 나가기처럼 되돌릴 수 없는 작업을 수행하는 아이템은 Critical Tone으로 표현할 수 있어요. Critical Tone 아이템은 하나로 제한되지 않으며, 필요한 경우 여러 개를 사용할 수 있어요.

Header의 사용

부가적인 설명이 필요한 경우 Header를 사용해 내용 이해를 도울 수 있어요. Title은 한 줄에 표시될 수 있도록 간결하게 유지하고, Description은 꼭 필요한 경우에만 추가해요.

Description만 사용하는 것은 권장하지 않아요.

Item Description의 사용

기능 이름이 추상적이어서 직접적인 설명이 있어야 실수를 막을 수 있는 경우처럼, 선택지를 이해하는 데 추가 설명이 필요할 때 사용해요.

Item Description은 꼭 필요한 경우에만 추가해요.

Props

Prop

Type

Prop

Type

Prop

Type

Prop

Type

On this page