# Gummy Input

> A native single-line field with descriptions, adornments, and feedback.

- Status: stable
- Licence: MIT
- Catalogue group: Forms and selection

## Installation

```sh
npx shadcn@latest add https://gummyui.dev/r/gummy-input.json
```

The shadcn-compatible registry copies editable React, TypeScript, and CSS
into the consuming application; it is not a black-box component runtime.

## Semantics

Visible label and generated described-by/error relationships.

## Keyboard behavior

Native input editing and selection.

## Dependencies

No component-specific dependency is declared in the catalogue.
The registry resolves shared Gummy style payloads automatically.

## Anatomy and API

Exported React parts:

- `GummyInput`

### `GummyInputProps`

Composes `Omit< React.InputHTMLAttributes<HTMLInputElement>, "size" > & { /** Visible label programmatically associated with the native input. */ label: React.ReactNode; /** Supporting copy associated through aria-describedby. */ description?: React.ReactNode; /** Error feedback; takes precedence over success feedback. */ errorMessage?: React.ReactNode; /** Positive feedback that supplements, rather than replaces, colour. */ successMessage?: React.ReactNode; /** Decorative content placed before the editing surface. */ leadingAdornment?: React.ReactNode; /** Decorative content placed after the editing surface. */ trailingAdornment?: React.ReactNode; /** Class applied to the outer field composition. */ wrapperClassName?: string; }`.

## Themes, RTL, and reduced motion

- Light and dark modes use the shared semantic and fruit tokens. Set
  `data-theme="dark"` on the root to activate the included dark environment.
- Use the nearest genuine `dir` boundary. Layout uses logical properties;
  any directional key behavior is part of the keyboard contract above.
- Gummy motion styles honor `prefers-reduced-motion: reduce`; preserve visible
  focus, selection, loading, and validation information when motion is reduced.

## Public source and registry

- [Source viewer](https://gummyui.dev/components/input#source-title)
- Public source path: `app/components/ui/GummyInput.tsx`
- [Registry payload](https://gummyui.dev/r/gummy-input.json)
- [HTML documentation](https://gummyui.dev/components/input)

## Licence and source boundary

Gummy UI's public component source and documentation are MIT licensed.
This Markdown namespace exposes only public catalogue facts, public source
locations, and public registry URLs. Separate paid assets are not included
and cannot be inferred from these documents.

Canonical Markdown: https://gummyui.dev/docs/markdown/components/input.md
