Skip to main content

Starwind UI v3.0 is now available! Migration guide

Components Overview

Browse components for Astro, React, Vue, and Svelte. Each page shows how to install and use a component, with examples you can copy into your project.

Image is the one exception. It integrates directly with Astro’s image pipeline, so React, Vue, and Svelte projects should use an image component for their framework or a standard <img> element.

Browse All Components

Every component page includes installation commands, copy-paste examples, and its public API.

Form & Input

Collect and validate user input.

Navigation

Move users through pages, sections, and app states.

Overlay & Disclosure

Reveal additional information or contextual actions.

Feedback & Status

Communicate progress, outcomes, and loading states.

Layout & Structure

Build consistent spatial structure and content organization.

Content & Media

Present media, rich text, and supporting UI metadata.

All component docs (A-Z)

Accordion / Alert / Alert Dialog / Aspect Ratio / Avatar / Badge / Breadcrumb / Button / Button Group / Card / Carousel / Checkbox / Checkbox Group / Collapsible / Color Picker / Combobox / Context Menu / Dialog / Dropdown / Dropzone / Field / Form / Hover Card / Image / Input / Input Group / Input Otp / Item / Kbd / Label / Native Select / Navigation Menu / Pagination / Popover / Progress / Prose / Radio Group / Scroll Area / Select / Separator / Sheet / Sidebar / Skeleton / Slider / Spinner / Switch / Table / Tabs / Textarea / Theme Toggle / Toast / Toggle / Toggle Group / Tooltip / Video

Installation

Initialize Starwind in the project root, then add one component or the complete bundled styled registry. The CLI detects supported Astro, React, Vue, and Svelte projects. See the installation guide and CLI reference for configuration and update workflows.

Terminal window
npx starwind@latest init --defaults
npx starwind@latest add button
npx starwind@latest add --all

Import Pattern

The CLI copies styled component source into src/components/starwind by default. Import each public component from its local folder. SvelteKit uses src/lib/starwind, with imports from $lib/starwind/component-name:

import { ComponentName } from "@/components/starwind/component-name";

Class Overrides

Installed components accept class overrides through class in Astro, Vue, and Svelte, and className in React. Tailwind Variants and Tailwind Merge combine the component defaults with project-specific classes.