Input

이메일, 비밀번호, 이름처럼 짧은 값을 입력할 때 사용합니다. 여러 줄 텍스트에는 Textarea를 사용하세요.

미리보기

기본·오류·비활성 입력

예시 주소가 있는 이메일, 명시적인 오류 값, 비활성 워크스페이스 입력을 비교합니다.

설치

Registry를 처음 사용한다면 기본 설정과 공통 스타일 설치 을 먼저 완료하세요.

npx shadcn@latest add @neumorphism-ui/input

공통 base를 한 번 설치한 뒤 CLI로 필요한 컴포넌트와 의존성을 추가합니다.

기본·오류·비활성 입력

npx shadcn@latest add @neumorphism-ui/input @neumorphism-ui/label
Registry JSON

사용법

id와 htmlFor로 보이는 Label을 연결하고 용도에 맞는 type, name, autoComplete를 설정하세요. 도움말이나 오류 메시지는 aria-describedby로 연결합니다.

"use client";

import { useId } from "react";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";

export default function Example() {
  const id = useId();
  return (
    <div className="grid gap-2">
      <Label htmlFor={id}>Email</Label>
      <Input id={id} name="email" type="email" autoComplete="email" placeholder="you@example.com" />
    </div>
  );
}

API 레퍼런스

native input의 모든 속성을 전달하며 뉴모피즘 inset 표면, file input, disabled, aria-invalid 상태를 일관되게 표현합니다.

컴포넌트속성타입기본값설명
InputtypeReact.HTMLInputTypeAttribute"text" (browser default)email, password, file 등 native input 유형입니다.
Inputvalue / defaultValuestring | number—controlled 또는 초기 uncontrolled 값입니다.
Inputplaceholderstring—값의 형식을 보조하는 짧은 예시입니다.
Inputdisabled / required / readOnlybooleanfalsenative 입력 제약을 설정합니다.
Inputaria-invalidboolean | string—오류 상태의 테두리와 focus ring을 활성화합니다.

접근성

  • 01

    Label의 htmlFor와 Input의 id를 연결하거나 aria-label을 제공합니다.

  • 02

    placeholder는 Label을 대신하지 않으며 입력 형식의 예시로만 사용합니다.

  • 03

    오류가 있으면 aria-invalid와 함께 오류 문구의 id를 aria-describedby로 연결합니다.