Extended Action Sheet
Extended Action Sheet는 사용자가 특정 작업에 관한 선택지뿐만 아니라 추가적인 선택지를 제공할 때 사용하는 시트 형태의 컴포넌트입니다.
Anatomy
- backdrop
- content
- header
- title
- description
- divider
- list
- group
- footer
- item
- item label
- item prefix icon
- close button
Options
Tone
Action Sheet의 아이템은 Neutral 혹은 Critical tone을 가집니다.
Neutral
[TODO: 회색 배경에 검은색 텍스트로 표시된 일반 Action Sheet 아이템]
일반적인 액션을 나타내는 기본 아이템입니다. 대부분의 선택지에 사용됩니다.
Critical
[TODO: 회색 배경에 빨간색 텍스트로 표시된 위험 Action Sheet 아이템]
데이터를 삭제하는 등 파괴적인 액션을 수행하는 아이템입니다. 사용자에게 위험한 작업임을 명확히 알리기 위해 빨간색으로 강조됩니다.
Prefix Icon
[TODO: 아이템 텍스트 앞에 아이콘이 있는 Extended Action Sheet 아이템]
아이템에 prefix icon을 추가하여 시각적 단서를 제공할 수 있습니다. 아이콘은 아이템의 tone에 맞는 색상으로 표시됩니다.
Behaviors
표시 및 애니메이션
Extended Action Sheet가 표시될 때 backdrop이 서서히 나타나고(fade in), content가 화면 아래에서 위로 슬라이드됩니다. 이는 사용자에게 모달 상태를 명확히 알립니다.
그룹화
[TODO: 여러 그룹으로 나뉜 Extended Action Sheet 아이템들]
여러 아이템들은 기능이나 관련성에 따라 그룹으로 나눌 수 있습니다. 그룹 간에는 시각적 구분을 위한 간격이 제공됩니다.
너비 및 최대 너비
[TODO: 다양한 화면 크기에서의 Extended Action Sheet 너비 비교]
Extended Action Sheet는 모바일 환경에서는 화면 너비에 맞춰지며, 태블릿이나 데스크톱 환경에서는 최대 너비(480px)로 제한됩니다.
닫기 동작
Extended Action Sheet는 여러 방법으로 닫을 수 있습니다.
[TODO: 각 닫기 방법을 시각적으로 표현한 이미지]
- backdrop을 탭하는 경우
- close 버튼을 탭하는 경우
- (키보드 환경) Escape 키를 누르는 경우
Usage Guidelines
Action Sheet vs Extended Action Sheet
[TODO: 일반 Action Sheet와 Extended Action Sheet의 비교 이미지]
- Action Sheet: 사용자가 상호작용한 대상에 관한 선택지만을 제공할 때 사용합니다. (예: "공유하기", "저장", "삭제")
- Extended Action Sheet: 사용자가 상호작용한 대상에 관한 선택지 외에도 추가적인 정보나 선택지를 제공할 때 사용합니다. (예: "이 글 숨기기", "게시글 노출 기준", "신고하기")
적절한 사용 상황
[TODO: Extended Action Sheet의 다양한 활용 예시 이미지]
Extended Action Sheet는 다음과 같은 상황에서 사용하는 것이 적합합니다:
- 특정 작업에 관한 선택지뿐만 아니라 추가적인 선택지를 제공할 때
- 선택지가 여러 범주로 나뉘어 그룹화가 필요할 때
- 선택 전에 추가 설명이나 컨텍스트를 제공해야 할 때
간결성 유지
- Title은 한 줄에 표시될 수 있도록 간결하게 유지하세요.
- Description은 꼭 필요한 경우에만 추가하세요.
- Extended Action Sheet는 사용자의 작업을 방해하므로 꼭 필요한 경우에만 사용하세요.
위험한 선택 강조
[TODO: Critical 옵션이 포함된 Extended Action Sheet 예시]
데이터를 삭제하는 등 위험한 작업을 수행하는 선택은 Critical 옵션을 사용해 시각적으로 눈에 띄게 만드세요.
아이템 순서 및 그룹화
[TODO: 잘 구성된 Extended Action Sheet의 아이템 그룹화 예시]
- 관련된 아이템들을 그룹으로 묶어 사용자가 쉽게 이해할 수 있도록 하세요.
- 자주 사용되는 옵션을 상단에 배치하고, 덜 중요한 옵션은 하단에 배치하세요.
아이콘 사용
[TODO: 아이콘이 있는 Extended Action Sheet 아이템과 없는 아이템 비교]
- 아이콘을 사용하면 아이템의 기능을 시각적으로 빠르게 이해하는 데 도움이 됩니다.
- 아이콘은 아이템의 기능을 명확하게 나타내야 합니다.
스크롤 방지
[TODO: 적절한 수의 아이템이 있는 Extended Action Sheet와 너무 많은 아이템이 있는 예시 비교]
Extended Action Sheet가 스크롤되지 않도록 아이템 수를 제한하세요. 스크롤이 필요한 Extended Action Sheet는 사용자가 의도치 않게 버튼을 탭할 위험이 있고, 선택에 더 많은 시간과 노력이 필요합니다.
개요
옵션 테이블
속성 | 값 | 기본값 |
---|---|---|
title | string | |
description | string |
링크
스펙
base
상태 | 슬롯 | 속성 | 값 |
---|---|---|---|
enabled | backdrop | color | |
enterDuration | |||
enterTimingFunction | |||
enterOpacity | 0 | ||
exitDuration | |||
exitTimingFunction | |||
exitOpacity | 0 | ||
content | color | ||
maxWidth | 480px | ||
paddingX | |||
paddingY | |||
topCornerRadius | |||
enterDuration | |||
enterTimingFunction | |||
exitDuration | |||
exitTimingFunction | |||
header | gap | ||
paddingBottom | |||
title | fontSize | ||
lineHeight | |||
fontWeight | |||
color | |||
description | fontSize | ||
lineHeight | |||
fontWeight | |||
color | |||
list | gap | ||
group | cornerRadius | ||
divider | strokeBottomWidth | 1px | |
strokeColor | |||
footer | paddingTop |