Components Overview
Browse 55 CLI-installed styled components for Astro, React, and the Vue 3.5 public beta. Open any component for installation, copy-paste examples, and API details.
Image is the one exception. It integrates directly with Astroโs image pipeline, so React and Vue projects should use their framework-native image component.
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 Astro or a supported React or Vue host. See the installation guide and CLI reference for configuration and update workflows.
npx starwind@latest init --defaultsnpx starwind@latest add buttonnpx starwind@latest add --allImport Pattern
The CLI copies styled component source into src/components/starwind by default. Import each public component from its local folder:
import { ComponentName } from "@/components/starwind/component-name";Class Overrides
Installed components accept class overrides through class in Astro and Vue, and className in React. Tailwind Variants and Tailwind Merge combine the component defaults with project-specific classes.
---import { Button } from "@/components/starwind/button";---
<Button>Default button</Button><Button class="rounded-full bg-purple-700 text-white hover:bg-purple-800">Custom button</Button>import { Button } from "@/components/starwind/button";
export function Example() { return ( <> <Button>Default button</Button> <Button className="rounded-full bg-purple-700 text-white hover:bg-purple-800"> Custom button </Button> </> );}<script setup lang="ts">import { Button } from "@/components/starwind/button";</script>
<template> <Button>Default button</Button> <Button class="rounded-full bg-purple-700 text-white hover:bg-purple-800">Custom button</Button></template>