Melt UI is a set of headless, accessible component builders for Svelte.
About
Melt UI is meant to be used as a base for your own styles and components. It offers:
- Uncoupled builders that can be attached to any element/component
- 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
Getting started
Install the @melt-ui/svelte
package with your package manager of choice:
npm install @melt-ui/svelte
yarn add @melt-ui/svelte
pnpm add @melt-ui/svelte
bun add @melt-ui/svelte
Import the builders to your code and start using them:
<script>
import { createCollapsible } from '@melt-ui/svelte'
const { open, root, content, trigger } = createCollapsible()
</script>
<div {...$root}>
<button {...$trigger}>{$open ? 'Close' : 'Open'}</button>
<div {...$content}>Obi-Wan says: Hello there!</div>
</div>
Contributing
Contributions are welcome and encouraged!
Melt UI is under active development. Currently planned features can be found in the roadmap, or in the issues tab, alongside bug reports.
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.
Roadmap
Component name | Status |
---|---|
Accordion | ✅ |
Avatar | ✅ |
Calendar | |
Checkbox | ✅ |
Collapsible | ✅ |
ComboBox | ✅ |
Command Menu | |
Context Menu | ✅ |
Dialog | ✅ |
Dropdown Menu | ✅ |
Dropzone | |
Hover Card | ✅ |
Label | ✅ |
Menubar | ✅ |
Navigation Menu | |
Pagination | ✅ |
Pin Input | ✅ |
Popover | ✅ |
Progress | ✅ |
Radio Group | ✅ |
Scroll Area | |
Select | ✅ |
Separator | ✅ |
Slider | ✅ |
Spin Button | |
Switch | ✅ |
Tabs | ✅ |
Tags Input | ✅ |
Toast | ✅ |
Toggle | ✅ |
Toggle Group | ✅ |
Toolbar | ✅ |
Tooltip | ✅ |
Tree View | |
??? |
Progress: 26/???
Similar projects
Looking for more? Check out these other projects too:
- Shadcn Svelte
- Radix Svelte
- Skeleton
- Svelte Headless UI
- Flowbite Svelte
- Carbon Components Svelte
- Svelte Material UI
- SvelteStrap
- Noir UI
- Zag
- 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.