reopt designreopt design
DocsExploreToolsPricingBuilder
Login
Explore/
opt-ui205opt-charts40opt-datagrid9opt-editor5opt-calendar4opt-filemanager4opt-chat6opt-shell14brandapp-ui8Examples12Builder Blocks
Overview205Core74Shells99Blocks32
reopt designreopt design

A design system for the AI era

  • Docs
  • Pricing
  • Releases
  • GitHub
  • About
  • Contact
  • Terms of Service
  • Privacy Policy

reopt Inc.Business registration no. 217-88-02453contact@reopt.ai

© 2026 reopt Inc. All rights reserved.

Explore/Core/Form

Form

Component

접근성 폼 시스템. opt-ui-primitives Form API 기반. 31 exports: FormRoot, FormProvider, FormGroup, FormGroupLabel, FormDescription, FormField, FormControl, FormInput, FormTextarea, FormSelect, FormSelectPopover, FormSelectItem, FormSwitch, FormLabel, FormError, FormSubmit, FormCheckbox, FormRadioGroup, FormRadio, FormPush, FormRemove, FormReset, FormNumberInput, FormSlider, FormStarRating, FormColorPicker, FormIconPicker, FormTagInput, FormDateRangePicker + useFormStore, useFormContext hooks.

formtrigger
Related docs
bun add @reopt-ai/opt-ui
100%

기본 사용

회사 이메일을 입력해주세요.

FormGroup — 필드 시맨틱 그룹핑

개인 정보
직무 정보

FormField + FormControl + FormDescription

영문, 숫자, 하이픈만 사용 가능합니다.

최대 200자까지 입력할 수 있습니다.

FormCheckbox + FormRadioGroup — Form Store 바인딩

구독 설정
요금제 선택

FormPush + FormRemove — 동적 배열 필드

태그 목록

태그를 추가하거나 제거할 수 있습니다.

FormProvider — Context 기반 폼 공유

프로필 설정 — Textarea + Switch

마케팅 알림 수신

FormSelect — 드롭다운 선택

종합 — 회원가입 폼

계정 정보

영문, 숫자를 포함하여 8자 이상 입력해주세요.

역할
보유 기술

보유한 기술 스택을 입력해주세요.

FormRoot

PropTypeDefaultDescription
storeFormStore—useFormStore()로 생성한 폼 스토어. 미지정 시 자식의 FormProvider가 제공.
children*ReactNode—폼 필드들
classNamestring—기본 스타일 오버라이드

FormInput

PropTypeDefaultDescription
name*string—폼 필드 이름 (스토어 키와 매칭)
typestring"text"입력 타입
placeholderstring—플레이스홀더
classNamestring—기본 스타일 오버라이드

FormTextarea

PropTypeDefaultDescription
name*string—폼 필드 이름
rowsnumber4표시 줄 수
resize"none" | "vertical" | "horizontal" | "both""vertical"크기 조절 방향
placeholderstring—플레이스홀더
classNamestring—추가 CSS 클래스

FormSelect

PropTypeDefaultDescription
idstring—트리거 ID. 외부 FormLabel의 htmlFor와 연결
aria-labelstring—입력의 접근 가능한 이름
aria-describedbystring—설명·오류 요소의 ID 목록
name*string—폼 필드 이름
children*ReactNode—FormSelectPopover 등 자식 요소
placeholderstring—미선택 시 표시 텍스트
classNamestring—추가 CSS 클래스

FormSelectPopover

PropTypeDefaultDescription
children*ReactNode—FormSelectItem 목록
sameWidthbooleantrue트리거와 같은 너비
gutternumber4트리거와의 간격 (px)

FormSelectItem

PropTypeDefaultDescription
value*string—옵션 값
children*ReactNode—옵션 레이블

FormSwitch

PropTypeDefaultDescription
name*string—폼 필드 이름
size"sm" | "md" | "lg""md"스위치 크기
disabledboolean—비활성화 상태

FormLabel

PropTypeDefaultDescription
name*string—연결된 필드 이름
children*ReactNode—레이블 텍스트
classNamestring—기본 스타일 오버라이드

FormError

PropTypeDefaultDescription
name*string—연결된 필드 이름
classNamestring—기본 스타일 오버라이드

FormSubmit

PropTypeDefaultDescription
children*ReactNode—버튼 텍스트
classNamestring—기본 스타일 오버라이드

FormProvider

PropTypeDefaultDescription
store*FormStore—useFormStore()로 생성한 폼 스토어
children*ReactNode—자식 폼 요소

FormGroup

PropTypeDefaultDescription
children*ReactNode—그룹 내 필드들
classNamestring—기본 스타일 오버라이드

FormGroupLabel

PropTypeDefaultDescription
children*ReactNode—그룹 레이블 텍스트
classNamestring—기본 스타일 오버라이드

FormDescription

PropTypeDefaultDescription
name*string—연결된 필드 이름
children*ReactNode—도움말 텍스트
classNamestring—기본 스타일 오버라이드

FormField

PropTypeDefaultDescription
name*string—필드 이름
children*ReactNode—label + input + error 등
classNamestring—기본 스타일 오버라이드

FormControl

PropTypeDefaultDescription
name*string—연결된 필드 이름
classNamestring—기본 스타일 오버라이드

FormCheckbox

PropTypeDefaultDescription
name*string—폼 필드 이름 (스토어 키)
classNamestring—기본 스타일 오버라이드

FormRadioGroup

PropTypeDefaultDescription
name*string—폼 필드 이름 (스토어 키)
children*ReactNode—FormRadio 목록
classNamestring—기본 스타일 오버라이드

FormRadio

PropTypeDefaultDescription
name*string—폼 필드 이름 (스토어 키)
value*string—라디오 값
classNamestring—기본 스타일 오버라이드

FormPush

PropTypeDefaultDescription
name*string—배열 필드 이름
value*unknown—추가할 기본값
children*ReactNode—버튼 텍스트
classNamestring—기본 스타일 오버라이드

FormRemove

PropTypeDefaultDescription
name*string—배열 필드 이름
index*number—제거할 인덱스
children*ReactNode—버튼 텍스트
classNamestring—기본 스타일 오버라이드

FormReset

PropTypeDefaultDescription
children*ReactNode—버튼 텍스트
classNamestring—기본 스타일 오버라이드

useFormContext

PropTypeDefaultDescription

useFormStore

PropTypeDefaultDescription
defaultValuesRecord<string, unknown>—초기 폼 값

컴포넌트 의존 관계

깊이
▲ USED BY (5)settings-formform-loginform-wizardform-dynamicform-uploadForm
View test results

테스트 커버리지

2026년 7월 9일17/17 통과
17성공
0실패
17전체
  • 폼 요소를 렌더링한다
  • 입력 필드에 타이핑할 수 있다
  • FormTextarea를 렌더링한다
  • FormSelect를 렌더링한다
  • FormSwitch를 렌더링한다
  • FormSwitch 크기 변형을 지원한다
  • FormTextarea는 form context 없이 사용하면 예외를 던진다
  • FormSelect는 form context 없이 사용하면 예외를 던진다
  • FormSwitch는 form context 없이 사용하면 예외를 던진다
  • FormProvider로 store를 context 제공한다
  • FormGroup + FormGroupLabel을 렌더링한다
  • FormDescription을 렌더링한다
  • FormField + FormControl을 렌더링한다
  • FormCheckbox를 렌더링한다
  • FormRadioGroup + FormRadio를 렌더링한다
  • FormReset을 렌더링한다
  • FormPush와 FormRemove를 렌더링한다

Related components

SettingsForm

데이터 기반 설정 폼. 유효성 검증, 라디오, 체크박스 지원.

Form

AuthForm

로그인/회원가입 모드 전환 가능한 인증 폼. 이메일·비밀번호 검증, FormSwitch로 로그인 상태 유지 옵션 지원.

Form

WizardForm

다단계 순차 입력 폼. FormFieldDef 기반 필드 정의, 단계별 검증, 현재 단계가 연결된 진행 표시기, 리뷰 단계를 지원합니다.

Form

DynamicFieldForm

런타임 필드 추가/제거 폼. 최소/최대 필드 수 제약, 개별 검증, 동적 스토어 업데이트 지원.

Form

FileUploadForm

파일 선택, 메타데이터 표시, 이미지 미리보기를 포함한 업로드 폼. 파일 크기 제한, 설명 입력 지원.

Form

StepBuilder

순서가 있는 단계를 추가, 제거, 재정렬할 수 있는 빌더 컴포넌트.

Trigger
PreviousToolbarNextButton

기본 사용

테마

로그인 / 회원가입 폼

다단계 폼 (Wizard)

  1. 1
    기본 정보
  2. 2
    상세 정보
  3. 3
    확인

동적 필드 추가/제거

파일 업로드 폼

Funnel Steps

Conversion Funnel
1
2
3

3 steps defined