TuMarca

Input Group

Groups input with addons like prefixes, suffixes, and buttons.

stable
Tipo: ui
Versión: 1.0.0
form form input addon vanilla-js
🚀 saastro/ui (Astro)
$ USD
⚛️ shadcn/ui (React)

Installation

npx saastro add input-group

Usage

---
import {
  InputGroup,
  InputGroupAddon,
  InputGroupInput,
} from "@/components/ui-saastro/input-group";
---

<InputGroup>
  <InputGroupAddon>$</InputGroupAddon>
  <InputGroupInput type="number" placeholder="0.00" />
</InputGroup>

Props

InputGroup

PropTypeDefaultDescription
size"default" | "sm" | "lg""default"Size of the group

InputGroupAddon

PropTypeDefaultDescription
size"default" | "sm" | "lg""default"Size of the addon
position"start" | "end""start"Position of the addon

InputGroupInput

PropTypeDefaultDescription
size"default" | "sm" | "lg""default"Size of the input
typestring"text"Input type
placeholderstring-Placeholder text
disabledbooleanfalseDisable the input

InputGroupButton

PropTypeDefaultDescription
variant"default" | "secondary" | "outline" | "ghost""default"Button variant
size"default" | "sm" | "lg""default"Button size
position"start" | "end""end"Position of the button

Examples

With Suffix Addon

---
import {
  InputGroup,
  InputGroupInput,
  InputGroupAddon,
} from "@/components/ui-saastro/input-group";
---

<InputGroup>
  <InputGroupInput placeholder="username" />
  <InputGroupAddon position="end">@example.com</InputGroupAddon>
</InputGroup>

With Button

---
import {
  InputGroup,
  InputGroupInput,
  InputGroupButton,
} from "@/components/ui-saastro/input-group";
---

<InputGroup>
  <InputGroupInput placeholder="Search..." />
  <InputGroupButton>Search</InputGroupButton>
</InputGroup>

Currency Input

---
import {
  InputGroup,
  InputGroupAddon,
  InputGroupInput,
} from "@/components/ui-saastro/input-group";
---

<InputGroup>
  <InputGroupAddon>$</InputGroupAddon>
  <InputGroupInput type="number" placeholder="0.00" />
  <InputGroupAddon position="end">USD</InputGroupAddon>
</InputGroup>

Different Sizes

---
import {
  InputGroup,
  InputGroupAddon,
  InputGroupInput,
} from "@/components/ui-saastro/input-group";
---

<InputGroup size="sm">
  <InputGroupAddon size="sm">@</InputGroupAddon>
  <InputGroupInput size="sm" placeholder="Small" />
</InputGroup>

<InputGroup size="lg">
  <InputGroupAddon size="lg">@</InputGroupAddon>
  <InputGroupInput size="lg" placeholder="Large" />
</InputGroup>