Skip to content

Nuxt components that follow your design system

Selaras is a set of accessible Vue components for Nuxt, built on Reka UI and Tailwind CSS v4. Colors, radii and shadows are CSS variables, so the components take on your brand instead of imposing one.

Pre-1.0 Version 0.8.0. APIs can still change before 1.0.

Brand default

Drag to recolor this section.

Built on a few firm decisions

Themed with CSS variables

Every color, radius and shadow is a custom property. Recolor a role by changing one value.

How theming works

One prop to customize

Pass classes to any part of a component through its ui prop. They merge with the defaults instead of fighting them.

Customize a component

Accessible primitives

Built on Reka UI, so keyboard support, focus management and ARIA come with every component.

Accessibility approach

Ready for small screens

Select, date and color pickers can switch to a full modal on phones, where a popover is too cramped.

See Select

Motion in CSS

Open, close and hover transitions run on data attributes, and respect reduced-motion settings.

How motion works

Typed throughout

Props, emits and slots are exported for every component, for wrappers that stay in sync.

TypeScript guide

Start in three steps

  1. Install the package

    Tailwind CSS is a peer dependency, so your project owns its version.

    Terminal
    npm install @sewadah/selaras tailwindcss
  2. Register the module

    Components are auto-imported with an S prefix, like SButton.

    nuxt.config.ts
    export default defineNuxtConfig({
      modules: ['@sewadah/selaras'],
      css: ['~/assets/css/main.css'],
    })
  3. Import the styles and wrap your app

    SApp provides the shared context that tooltips, toasts and overlays need.

    assets/css/main.css
    @import "tailwindcss";
    @import "@sewadah/selaras";
Read the full installation guide