Skip to content

Input Group

The InputGroup component allows you to attach buttons, text, and other controls to input fields for a unified user experience.

import { InputGroup } from "@rhinolabs/ui";
import { Button } from "@rhinolabs/ui";
import { SearchIcon } from "lucide-react";
export default function InputGroupDemo() {
return (
<InputGroup>
<InputGroup.Addon>
<SearchIcon className="size-4" />
</InputGroup.Addon>
<InputGroup.Input placeholder="Search..." />
<InputGroup.Button>Search</InputGroup.Button>
</InputGroup>
);
}
<InputGroup>
<InputGroup.Addon>
<MailIcon />
</InputGroup.Addon>
<InputGroup.Input type="email" placeholder="Email" />
</InputGroup>
<InputGroup>
<InputGroup.Addon>$</InputGroup.Addon>
<InputGroup.Input type="number" placeholder="0.00" />
<InputGroup.Addon>.00</InputGroup.Addon>
</InputGroup>
<InputGroup>
<InputGroup.Input placeholder="Enter text..." />
<InputGroup.Button>Copy</InputGroup.Button>
</InputGroup>
PropTypeDefaultDescription
classNamestring-Custom CSS class.
childrenReact.ReactNode-Addon/input controls.
PropTypeDefaultDescription
align"inline-start" | "inline-end" | "block-start" | "block-end""inline-start"Addon position.

The InputGroup component properly structures controls for accessibility.