Skip to content

Input

입력 필드 컴포넌트는 사용자 입력을 받는 기본 입력 필드입니다.

기본 사용법

tsx
import { Input } from '@youngduck/yd-ui'

function App() {
  return <Input placeholder="입력하세요" />
}

Variants

Input (기본)

tsx
<Input variant="input" placeholder="텍스트 입력" />

검색 아이콘이 포함된 입력 필드입니다.

tsx
<Input variant="search" placeholder="검색어를 입력하세요" />

Sizes

입력 필드 크기를 조절할 수 있습니다.

tsx
<Input size="sm" placeholder="Small" />
<Input size="md" placeholder="Medium" />
<Input size="lg" placeholder="Large" />
<Input size="full" placeholder="Full Width" />

Colors

입력 필드 색상을 조절할 수 있습니다.

tsx
<Input color="white" placeholder="White" />
<Input color="primary-400" placeholder="Primary 400" />
<Input color="primary-100" placeholder="Primary 100" />

Disabled 상태

tsx
<Input disabled placeholder="Disabled Input" />

Controlled Input

tsx
import { useState } from 'react'
import { Input } from '@youngduck/yd-ui'

function App() {
  const [value, setValue] = useState('')

  return (
    <Input
      value={value}
      onChange={(e) => setValue(e.target.value)}
      placeholder="Controlled Input"
    />
  )
}

Props

PropTypeDefaultDescription
variant'search' | 'input''input'입력 필드 variant
size'sm' | 'md' | 'lg' | 'full''md'입력 필드 크기
color'white' | 'primary-400' | 'primary-100''primary-100'입력 필드 색상
disabledbooleanfalse비활성화 상태
classNamestring''추가 CSS 클래스

Input은 표준 HTML input 요소의 모든 속성을 지원합니다 (size, color 제외).

타입

tsx
import type { InputSize, InputVariant, InputColor } from '@youngduck/yd-ui'

const size: InputSize = 'md'
const variant: InputVariant = 'input'
const color: InputColor = 'primary-100'