Strongtie Design System
Getting StartedComponents

Command Palette

Search for a command to run...

Getting Started
  • Introduction
  • Setup Guide
  • Package Installation
  • Code Quality Setup
  • Migration Guide
  • Resources
Registry
  • Getting Started
  • Combobox
  • Datepicker
  • MultiSelect
  • Tree
Guides
  • Framework Recommendations
Foundations
  • States
  • Variables
Components
  • Accordion
  • Alert
  • Alert Dialog
  • Avatar
  • Badge
  • Breadcrumb
  • Button
  • Button Group
  • Calendar
  • Card
  • Carousel
  • Chart
  • Checkbox
  • Collapsible
  • Command
  • Combobox
  • Context Menu
  • Date Picker
  • Dialog
  • Drawer
  • Dropdown Menu
  • Empty
  • Field
  • Hover Card
  • Input
  • Input Group
  • Item
  • Kbd
  • Label
  • Menubar
  • Multi Select
  • Navigation Menu
  • Pagination
  • Popover
  • Progress
  • Radio Group
  • Scroll Area
  • Select
  • Separator
  • Sheet
  • Sidebar
  • Skeleton
  • Slider
  • Switch
  • Table
  • Tabs
  • Textarea
  • Toaster
  • Toggle
  • Toggle Group
  • Tooltip
  • Tree
2026 Simpson Strong-Tie
  1. Docs
  2. Components
  3. Input Group

Input Group

PreviousNext

InputGroup is a composite input component that combines text inputs with accompanying elements like buttons, icons, or text.

Input groups enhance standard text inputs by attaching supplementary elements to the start or end of the input field. These additions can include action buttons, descriptive text, icons, or labels that provide context or functionality related to the input.

Common use cases include search inputs with search buttons, URL inputs with protocol prefixes, price inputs with currency symbols, or any input that benefits from contextual actions or information. The component handles focus states, validation styling, and maintains proper accessibility throughout.

Example

"use client"

import {
  InputGroup,
  InputGroupAddon,
  InputGroupInput,
} from "@strongtie/design-system/input-group"
import { Search } from "lucide-react"

export function InputGroupDefault() {
  return (
    <InputGroup>
      <InputGroupAddon align="inline-start">
        <Search />
      </InputGroupAddon>
      <InputGroupInput placeholder="Search..." />
    </InputGroup>
  )
}

Installation

npm install @strongtie/design-system
import { InputGroup } from "@strongtie/design-system/input-group"

Components

This module exports the following components:

  • InputGroup
  • InputGroupAddon
  • InputGroupButton
  • InputGroupText
  • InputGroupInput
  • InputGroupTextarea

Props

<InputGroupAddon>

PropTypeDefaultDescription
align"inline-start" | "inline-end" | "block-start" | "block-end" | nullinline-start

<InputGroupButton>

PropTypeDefaultDescription
size"sm" | "icon-sm" | "xs" | "icon-xs" | nullxs
variant"link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | nullghost

Example

"use client"

import {
  InputGroup,
  InputGroupAddon,
  InputGroupInput,
} from "@strongtie/design-system/input-group"
import { Search } from "lucide-react"

export function InputGroupDefault() {
  return (
    <InputGroup>
      <InputGroupAddon align="inline-start">
        <Search />
      </InputGroupAddon>
      <InputGroupInput placeholder="Search..." />
    </InputGroup>
  )
}

Styling

Components can be styled using the className prop. The design system uses Tailwind CSS for styling.

Classes

CSS classes used by this component:

  • input-group

Accessibility

Ensure proper accessibility attributes are added when implementing this component.

IconInput

On This Page

ExampleInstallationComponentsProps<InputGroupAddon><InputGroupButton>ExampleStylingClassesAccessibility

Contribute

  • Report an issue
  • Request a feature
  • Edit this page