StacklyUI

Input

A form text input with focus ring and invalid state.

01

Preview & playground

Edit the code — the preview updates live. Try changing props, text, or classes.

playground.tsx
render(
  <div className="w-full max-w-xs space-y-2">
    <Label htmlFor="email">Email</Label>
    <Input id="email" type="email" placeholder="you@stacklyui.in" />
  </div>
)
02

Examples

Common variations — edit any of them live.

States

Default, disabled, and invalid (aria-invalid).

playground.tsx
render(
  <div className="w-full max-w-xs space-y-3">
    <Input placeholder="Default" />
    <Input placeholder="Disabled" disabled />
    <Input placeholder="Invalid" aria-invalid />
  </div>
)

With a button

playground.tsx
render(
  <div className="flex w-full max-w-sm gap-2">
    <Input type="email" placeholder="you@stacklyui.in" />
    <Button>Subscribe</Button>
  </div>
)
03

Installation

Copy the source into your project with the registry CLI:

$pnpm dlx shadcn@latest add @stacklyui/input

Or install the package and import it:

$pnpm add @stacklyui/ui motion
04

Usage

Import Input from "@stacklyui/ui" and compose it as shown in the playground above. Every interactive primitive is built on Radix, so keyboard navigation, focus management, and ARIA are handled for you.