Radix Svelte

Radix Svelte is an unofficial community-led Svelte port of Radix UI Primitives, a set of unstyled, accessible components for building high‑quality design systems and web apps.

Note
We are not affiliated with or endorsed by Radix UI/WorkOS.
This is a volunteer driven project born out of the need for a similar component library for the Svelte ecosystem.

About

Radix Svelte is meant to be used as a base for your own styles and components. It offers:

  • Tree-shakeable components with individual parts that can be styled separately
  • Typescript and SvelteKit support out-of-the-box
  • Strict adherence to WAI-ARIA guidelines
  • Easy to use examples and documentation
  • A high emphasis on accessibility, extensibility, quality and consistency

While Radix Svelte is not a 1:1 reimplementation of Radix UI Primitives, we follow the same principles, patterns, and goals outlined by them on their site. Any changes that may be introduced as a part of porting it to Svelte will be documented and mentioned accordingly.

Getting started

Install the radix-svelte package with your package manager of choice:

npm install radix-svelte
yarn add radix-svelte
pnpm add radix-svelte
bun add radix-svelte

Import the components to your code and start using them:

<script>
	import { Toggle } from 'radix-svelte';
	let pressed = false;
</script>

<Toggle.Root bind:pressed> {pressed ? 'Pressed' : 'Not pressed'} </Toggle.Root>

Contributing

Contributions are welcome and encouraged!

Radix Svelte is under active development, and currently planned features and bugs are in the issues tab.

We work on this project on a volunteer basis in our free time. If you notice something that hasn't been implemented yet or could be improved, do consider contributing to the project. The goal is to enhance the experience of building with Svelte and improve the ecosystem for everyone.

Check out our Contributing guide to learn more.

Community

Got any questions? Want to talk to the maintainers?

Our Discord community is a great place to get in touch with us, and we'd love to have you there.

Radix Svelte Discord community

Roadmap

Component name Status
Accordion
Alert Dialog
Aspect Ratio
Avatar
Checkbox
Collapsible
Context Menu
Dialog
Dropdown Menu
Form
Hover Card
Label
Menubar
Navigation Menu
Popover
Progress
Radio Group
Scroll Area
Select 🔨
Separator
Slider
Switch
Tabs
Toast
Toggle
Toggle Group
Toolbar
Tooltip

Similar projects

Looking for more? Check out these other projects too:

This list is not exhaustive or sorted in any particular order. If you know of any other similar projects for Svelte, feel free to open a PR to add them here. These projects are not affiliated with Radix Svelte in any way.