Component
FileUpload
클릭·키보드·드래그앤드롭·미리보기를 하나의 파일 수명주기로 묶습니다.
Playground
옵션을 조절하며 화면과 사용 코드를 함께 확인하세요.
PC 1280px
Controls
Code
Props
@amineslab/ui에서 FileUpload, fileDropAreaVariants를 가져옵니다.
FileUpload
드롭 영역, 검증, 로컬/원격 미리보기를 합성합니다.
Examples
자주 쓰는 조합을 살펴보고, 필요한 예시의 코드를 펼쳐 확인하세요.
공통 필드 표면
variant는 filled·outline 표현을, opaque는 elevation 아래의 불투명 바탕을 정합니다. focus와 hover는 중립 elevation을 사용하고 invalid 테두리는 포커스 중에도 유지합니다. NumberInput·PhoneInput·PasswordInput은 Input의 아이콘·문자열·ReactNode 슬롯을 상속합니다. SelectField에서는 같은 표면 props를 직접 지정하거나 triggerProps로 세부 설정할 수 있습니다.
투명 바탕
불투명 바탕
Outline + 불투명 바탕
클릭·키보드·드래그앤드롭
세 입력 수단이 같은 검증과 파일 수명주기를 거칩니다. 이미지와 원격 파일은 같은 카드 계약을 사용합니다.
FileUploadField로 사용하기
FileUploadField는 기본 입력에 label·required·description·error를 함께 제공합니다. FormStack 안에 직접 넣으며 FormField로 다시 감싸지 않습니다.
라벨·설명·필수 표시를 Field가 함께 처리합니다.
사용 기준
권장하는 사용
- 파일 값은 controlled 목록으로 보관하고, 업로드 API와 진행률은 소비자가 주입합니다.
- itemsPlacement는 drop 영역 안/밖 배치만 정하며 검증 계약은 동일합니다.
피해야 할 사용
- 겉모양만으로 사용을 결정하지 마세요.
- 의미와 키보드 동작, 모바일에서의 흐름을 함께 확인하세요.
접근성
화면에 맞는 이름을 제공하고, 키보드만으로 작업을 마칠 수 있는지 확인하세요.
Enter / Space: 드롭 영역에서 파일 chooser를 엽니다.Drag / Drop: 대상 영역을 표시하고 같은 검증 흐름으로 추가합니다.