⚠ I have currently paused active development on my end. Read the announcement for more information.
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.
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.
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>
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.
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.
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 | ✅ |
Looking for more? Check out these other projects too:
- Melt UI
- shadcn-svelte
- Skeleton
- Svelte Headless UI
- Flowbite Svelte
- Carbon Components Svelte
- Svelte Material UI
- SvelteStrap
- Noir UI
- Grail UI
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.