Skip to main content

Starwind UI v3.0 beta is now available! Read the migration guide

Runtime Primitives

Starwind currently exposes 36 Runtime-backed primitives for Astro and React. They use the same use-case groups as the styled component overview, making it easy to move between the styled and behavior-first layers.

Form & Input

Collect and validate user input.

Fields and Validation

  • Field

    createField

    7 parts / 1 styled link

  • Fieldset

    createFieldset

    2 parts / 1 styled link

  • Form

    createForm

    2 parts / 1 styled link

Text, File, and Value Inputs

  • Color Picker

    createColorPicker

    23 parts / 1 styled link

  • Dropzone

    createDropzone

    5 parts / 1 styled link

  • Input

    createInput

    1 part / 1 styled link

  • Input Otp

    createInputOtp

    7 parts / 1 styled link

  • Slider

    createSlider

    7 parts / 1 styled link

Selection Controls

  • Checkbox

    createCheckbox

    4 parts / 1 styled link

  • Checkbox Group

    createCheckboxGroup

    1 part / 1 styled link

  • Combobox

    createCombobox

    20 parts / 1 styled link

  • Radio

    createRadio

    3 parts / 1 styled link

  • Radio Group

    createRadioGroup

    1 part / 1 styled link

  • Select

    createSelect

    18 parts / 1 styled link

  • Switch

    createSwitch

    4 parts / 1 styled link

Actions and Toggles

  • Button

    createButton

    1 part / 1 styled link

  • Toggle

    createToggle

    1 part / 2 styled links

  • Toggle Group

    createToggleGroup

    1 part / 1 styled link

Navigation

Move users through pages, sections, and app states.

  • Menu

    createMenu

    18 parts / 1 styled link

  • Navigation Menu

    createNavigationMenu

    12 parts / 1 styled link

  • Sidebar

    createSidebarController

    5 parts / 1 styled link

  • Tabs

    createTabs

    5 parts / 1 styled link

Overlay & Disclosure

Reveal additional information or contextual actions.

Inline Disclosure

Dialogs and Drawers

  • Alert Dialog

    createAlertDialog

    9 parts / 1 styled link

  • Dialog

    createDialog

    7 parts / 1 styled link

  • Drawer

    createDrawer

    9 parts / 1 styled link

Floating and Contextual Overlays

  • Context Menu

    createContextMenu

    19 parts / 1 styled link

  • Popover

    createPopover

    11 parts / 1 styled link

  • Preview Card

    createPreviewCard

    8 parts / 1 styled link

  • Tooltip

    createTooltip

    6 parts / 1 styled link

Feedback & Status

Communicate progress, outcomes, and loading states.

  • Progress

    createProgress

    5 parts / 1 styled link

  • Toast

    createToastManager

    9 parts / 1 styled link

Layout & Structure

Build consistent spatial structure and content organization.

Content & Media

Present media, rich text, and supporting UI metadata.

  • Avatar

    createAvatar

    3 parts / 1 styled link

  • Carousel

    createCarousel

    6 parts / 1 styled link

All Primitive docs (A-Z)

Accordion / Alert Dialog / Avatar / Button / Carousel / Checkbox / Checkbox Group / Collapsible / Color Picker / Combobox / Context Menu / Dialog / Drawer / Dropzone / Field / Fieldset / Form / Input / Input Otp / Menu / Navigation Menu / Popover / Preview Card / Progress / Radio / Radio Group / Scroll Area / Select / Sidebar / Slider / Switch / Tabs / Toast / Toggle / Toggle Group / Tooltip

Installation

starwind init installs the Primitive adapter for your project’s primary framework. If you are configuring Starwind manually, install the package that matches the files you are authoring:

Terminal window
npm install @starwind-ui/astro
# or
npm install @starwind-ui/react

You can also copy Primitive adapter source into your project with starwind primitives add. See the Getting Started Primitives guide for the package, vendored source, and Runtime/raw HTML tradeoffs.

Import Pattern

Import each Primitive from its framework package and component subpath. The individual reference pages show the available parts and complete examples for both frameworks.

Astro

import { Accordion } from "@starwind-ui/astro/accordion";

React

import { Accordion } from "@starwind-ui/react/accordion";

When you vendor Primitive source, import from the configured primitiveDir or primitiveDirs.<framework> destination instead.

Styling and Composition

Primitives provide behavior and framework-native anatomy without Starwind’s styled wrapper. You own the rendered markup and styling while the adapter coordinates the underlying Runtime contract. Start with a styled component when you want ready-to-render UI, or continue to the Runtime reference when you need to initialize behavior against raw HTML.