Get startedFoundationsComponentsPatternsRules

Range

레인지는 최솟값과 최댓값 사이에서 대략적인 값을 슬라이더로 고르게 해요.

설치

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

Examples

Default

기본 범위는 0 ~ 100, 초기값은 50 이에요. 높이 40px 영역 안에 6px 트랙과 16px 핸들이 놓이고, 트랙 끝의 작은 점이 최댓값 위치를 알려줘요.

Controlled

value 와 onChange 로 값을 직접 관리해요. onChange 는 이벤트가 아니라 숫자를 바로 넘겨줘요.

Min, max, step

min, max, step 으로 범위와 간격을 정해요.

Disabled

isDisabled 를 켜면 흐리게 보이고 움직일 수 없어요.

Usage guidelines

레인지는 폼 안에서 최솟값과 최댓값 사이의 값을 고를 때 써요. 정확한 숫자보다 대략적인 값을 고를 때 알맞아요.

구성

  • 트랙: 고를 수 있는 범위를 나타내는 가로 선이에요. 고른 값까지는 진하게 채워져요.
  • 핸들: 트랙 위를 끌어서 값을 바꾸는 동그란 손잡이예요.

잘 쓰는 법

  • 라벨은 레인지 바로 위에 왼쪽 정렬로 둬요.
  • 100 을 넘는 아주 큰 범위는 피해요. 핸들을 조금만 움직여도 값이 크게 바뀌어요.
  • 1 ~ 3 처럼 아주 작은 범위도 피해요. 값이 뚝뚝 끊겨 움직여요.
  • 왼쪽에서 오른쪽으로 읽는 화면에서는 가장 작은 값을 왼쪽에 둬요.
Do· 대략적인 숫자
진행률, 용량처럼 근사값이면 충분한 숫자에 써요.
Don't· 정확한 값·숫자가 아닌 값
정확한 숫자가 중요하거나 요일처럼 숫자가 아닌 값에는 입력 필드나 셀렉트를 써요.
  • 라벨은 짧고 간결하게 써요.
  • 사용법이 헷갈릴 수 있으면 도움말을 더해요.

Accessibility

  • 핸들은 role="slider" 이고 aria-valuemin, aria-valuemax, aria-valuenow 가 자동으로 붙어요.
  • 라벨 요소에 id 를 주고 aria-labelledby 로 연결하거나, aria-label 을 지정해요. 값에 단위가 있으면 aria-valuetext (예: "30%") 를 넘겨요.
  • 슬라이더는 입력하거나 목록에서 고르는 것보다 덜 정확해요. 정확도가 중요한 곳에는 쓰지 않아요.
키동작
→ / ↑step 만큼 증가
← / ↓step 만큼 감소
Page Up / Page Down크게 증가·감소
Home / End최솟값·최댓값으로 이동

Props

Prop

Type

On this page