Get startedFoundationsComponentsPatternsRules

Text area

텍스트 영역은 여러 줄에 걸친 긴 텍스트를 입력할 수 있는 입력 요소예요.

설치

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

Examples

Appearance

standard 가 기본이에요. subtle 은 평소에는 투명하다가 마우스를 올리거나 포커스하면 스타일이 나타나요. none 은 필드 스타일을 모두 없애요.

Resize

resize 로 크기 조절 방식을 정해요. 기본값 smart 는 입력한 내용이 모두 보이도록 세로로 자동으로 늘고 줄어요.

Resize동작
smart내용에 맞춰 세로로 자동 조절 (기본)
auto사용자가 가로·세로로 조절
vertical세로로만 조절
horizontal가로로만 조절
none고정 크기, 넘치면 스크롤

Rows and height

minimumRows(기본 2) 로 처음 보이는 줄 수를, maxHeight(기본 50vh) 로 최대 높이를 정해요. isCompact 를 주면 줄 높이와 여백이 줄어요.

States

비활성(isDisabled), 읽기 전용(isReadOnly), 오류(isInvalid), 고정폭 글꼴(isMonospaced) 상태가 있어요. placeholder 는 대비를 높인 text.subtle 색이고, 비활성이면 text.disabled 예요. 테두리·배경 색은 150ms(motion.input) 동안 바뀌고, 비활성·읽기 전용이면 전환이 없어요.

Form

Form 의 Field 안에 넣으면 라벨·도움말·오류 메시지가 자동으로 연결되고, 조건을 만족하면 오류가 사라져요.

Character counter

CharacterCounter 로 남은 글자 수와 초과한 글자 수를 실시간으로 알려줘요. 입력의 aria-describedby 에 ${id}-character-counter 를 넣어 연결해요.

Usage guidelines

텍스트 영역은 설명, 댓글, 회고 메모처럼 여러 줄에 걸친 긴 일반 텍스트를 입력받을 때 써요. 내용이 늘어나면 높이도 함께 늘어나요. 이름이나 키처럼 짧은 값은 Textfield 를 써요.

Do· 명사형 라벨
"이슈 만들기" 모달 안의 설명 필드라면 라벨은 그냥 "설명" 으로 써요.
Don't· 모달 제목 반복
라벨에 상위 모달 제목을 다시 쓰지 않아요.
Do· 도움말로 안내
입력 형식이나 규칙은 필드 아래 도움말로 알려줘요.
Don't· placeholder 사용
placeholder 는 입력하면 사라지고 보조 기술이 읽지 않을 수 있어요.
  • 중요한 정보는 라벨이나 도움말에 둬요.
  • 짧은 입력에는 텍스트 영역을 쓰지 않아요.
  • 글자 수 제한이 있다면 글자 수 표시로 최대·최소 길이를 실시간으로 알려줘요.

Accessibility

  • 모든 텍스트 영역에는 라벨이 연결돼 있어야 해요. Field 를 쓰면 자동으로 연결돼요.
  • 오류 상태는 aria-invalid 로, 도움말·오류 메시지는 aria-describedby 로 전달돼요.
  • Tab 으로 들어오고 나가요. 텍스트 영역 안에서 Enter 는 줄바꿈이라 폼을 제출하지 않아요.
  • 글자 수 안내는 입력을 멈추고 1초 뒤에 한 번만 읽어 줘서 타이핑을 방해하지 않아요.

Props

Prop

Type

On this page