Skip to content

radiium/svxui

Repository files navigation

svxui

A modern alternative Svelte 5 component library

Documentation: svxui.vercel.app →

Overview

Svxui is a Svelte 5 component library inspired by the design system and DX of @radix-ui/themes, powered by the Radix color system. It takes a prop-driven approach to customization — for those who'd rather not count utility classes for a living.

The library is organized into four layers, from ready-to-use to fully custom:

  • Components — Pre-built, styled UI components
  • Builders — Headless class-based state managers to build your own components
  • Attachments — Composable Svelte 5 attachments for common behaviors
  • Utilities — Standalone helper modules

Features

  • Svelte 5 Native — Built with runes ($props, $state, $derived, $effect) and Svelte 5 attachments
  • Fully Typed — Complete TypeScript support with strict mode
  • Accessible — ARIA compliant components with keyboard navigation
  • Extensible Theming — CSS custom properties + TypeScript namespace augmentation for custom colors
  • Tree-shakeable — Granular export map, import only what you need
  • Headless Builders — Class-based state managers to build fully custom components with full a11y
  • Lightweight — Single runtime dependency (@floating-ui/dom)

Installation

npm install svxui
# or
pnpm add svxui
# or
yarn add svxui

Requirements

  • Node.js >= 22
  • Svelte >= 5.54.0

Contributing

Please follow our coding conventions. See CONTRIBUTING.md.

License & Credits

This project is licensed under the MIT License. See NOTICE.md for a list of third-party code and credits.