reopt designreopt design
DocsExploreToolsPricingBuilder
Start
Overview
Start
Next.js 설치
Private install
Core Concepts
아키텍처
Composition Patterns
Accessibility
Keyboard Patterns
Styling
Theme System
Advanced Patterns
Build & Operate
Skills
AI Integration
CLI (opt surface add)
Dependency Graph
Tools
Canvas Catalog
Theme Builder
Form Builder
Templates
Templates
Releases
Release Notes
Oopt-ui
reopt designreopt design

A design system for the AI era

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

© 2026 reopt-ai. All rights reserved.

Form

core

접근성 폼 시스템. 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.

컴포넌트 의존 관계

깊이
▲ USED BY (5)settings-formform-loginform-wizardform-dynamicform-uploadForm
100%

기본 사용

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

FormGroup — 필드 시맨틱 그룹핑

개인 정보
직무 정보

FormField + FormControl + FormDescription

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

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

FormCheckbox + FormRadioGroup — Form Store 바인딩

구독 설정
요금제 선택

FormPush + FormRemove — 동적 배열 필드

태그 목록

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

FormProvider — Context 기반 폼 공유

프로필 설정 — Textarea + Switch

마케팅 알림 수신

FormSelect — 드롭다운 선택

종합 — 회원가입 폼

계정 정보

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

역할
보유 기술

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

테스트 커버리지

2026년 2월 4일2/2 통과
2성공
0실패
2전체
  • 폼 요소를 렌더링한다
  • 입력 필드에 타이핑할 수 있다

FormRoot Props

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

FormInput Props

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

FormTextarea Props

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

FormSelect Props

Prop타입기본값설명
name*string—폼 필드 이름
children*ReactNode—FormSelectPopover 등 자식 요소
placeholderstring—미선택 시 표시 텍스트
classNamestring—추가 CSS 클래스

FormSelectPopover Props

Prop타입기본값설명
children*ReactNode—FormSelectItem 목록
sameWidthbooleantrue트리거와 같은 너비
gutternumber4트리거와의 간격 (px)

FormSelectItem Props

Prop타입기본값설명
value*string—옵션 값
children*ReactNode—옵션 레이블

FormSwitch Props

Prop타입기본값설명
name*string—폼 필드 이름
size"sm" | "md" | "lg""md"스위치 크기
disabledboolean—비활성화 상태

FormLabel Props

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

FormError Props

Prop타입기본값설명
name*string—연결된 필드 이름
classNamestring—기본 스타일 오버라이드

FormSubmit Props

Prop타입기본값설명
children*ReactNode—버튼 텍스트
classNamestring—기본 스타일 오버라이드

FormProvider Props

Prop타입기본값설명
store*FormStore—useFormStore()로 생성한 폼 스토어
children*ReactNode—자식 폼 요소

FormGroup Props

Prop타입기본값설명
children*ReactNode—그룹 내 필드들
classNamestring—기본 스타일 오버라이드

FormGroupLabel Props

Prop타입기본값설명
children*ReactNode—그룹 레이블 텍스트
classNamestring—기본 스타일 오버라이드

FormDescription Props

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

FormField Props

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

FormControl Props

Prop타입기본값설명
name*string—연결된 필드 이름
classNamestring—기본 스타일 오버라이드

FormCheckbox Props

Prop타입기본값설명
name*string—폼 필드 이름 (스토어 키)
classNamestring—기본 스타일 오버라이드

FormRadioGroup Props

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

FormRadio Props

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

FormPush Props

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

FormRemove Props

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

FormReset Props

Prop타입기본값설명
children*ReactNode—버튼 텍스트
classNamestring—기본 스타일 오버라이드

useFormStore Props

Prop타입기본값설명
defaultValuesRecord<string, unknown>—초기 폼 값

Import

tsx
import {
  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,
} from "@reopt-ai/opt-ui";